Bonjour à tous,
J'essaye en vain de créer un graphe type" nuage de point" à partir d'une matrice extraite d'un fichier texte.
Je vais vous expliquer ce que j'ai et ce que je veux avec des extraits de mon code et le fichier texte utilisé dans l'exemple (en pièce jointe).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 % Choix du fichier de débit à utiliser : FichierTexte = 'FichierTexte.txt' %% ETAPE 1 : Importation des données %% % Ouverture du fichier texte dans lequel il y a les valeurs. fid=fopen(FichierTexte,'r'); % 'r' = open file for reading % Lecture d'un texte formaté. m=textscan(fid,'%f %f %f %f','delimiter','/\t'); % Fermeture du fichier après lecture. fclose(fid); % Ma matrice est composée de 4 colonnes : JJ=m{1}; % La colonne 1 de ma matrice m contient les jours "JJ". MM=m{2}; % La colonne 2 de ma matrice m contient les mois "MM". YY=m{3}; % La colonne 3 de ma matrice m contient les années "YY". Deb=m{4}; % La colonne 4 de ma matrice m contient les valeurs "Deb".
Dans un premiers temps, j'ai tracé un graphe avec en abscisse les dates JJ/MM/YY et en ordonnée les valeurs "Deb".
Maintenant, je voudrais, avec les mêmes données tracer un graphe tel que pour chaque jour JJ/MM (indépendamment de l'année YY) représenté en abscisse (soit 365 ou 366 jours dans l'année), je représente les valeurs Deb en ordonnées. Ce qui implique d'avoir plusieurs valeurs "Bed" pour un même jour "JJ/MM".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 %% ETAPE 2 : Sélection des données %% % La variable "dat" correspond à la combinaison de YY, MM et JJ. dat=datenum(YY,MM,JJ); %% ETAPE 3 : Création des graphes %% % Graphe des valeurs en fonction des dates. plot(dat,Deb,'LineWidth',2,'Color',[.2 .4 .7]) % Voir l'aide de PLOT. datetick
Mais je n'y arrive pas. J'ai essayé plusieurs choses :
1) j'ai adapté le précédant code :
J'obtiens le bon type de graphe MAIS je n'ai pas une redistribution de mes valeurs "Deb" en fonction du jour identifié par JJ/MM mais seulement en fonction du mois (Concrètement, j'ai 12 colonnes de valeurs "Deb" au lieu de 365 ...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 %% ETAPE 2 : Sélection des données %% % La variable "dat" correspond à la combinaison de MM et JJ. dat=datenum(MM,JJ) %Variable utilisée pour tracer le graphe des valeurs en fonction du jour. %% ETAPE 3 : Création des graphes %% % Graphe des valeurs en fonction du jour JJ/MM indépendamment de l'année. plot(dat,Deb,'o') % Voir l'aide de PLOT. datetick
2) Avec 'datenum' ça ne marche pas ... alors j'ai essayé sans:
Et ça ne marche toujours pas. La seule valeurs qui ressort est 1 ! ... C'est pire que 1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 % La variable "dat" correspond à la combinaison de MM et JJ. dat=JJ&'/'&MM; % Variable utilisée pour tracer le graphe des débits annuels
Savez-vous comment faire ?
Merci d'avance pour votre participation !!
Partager