Bonjour,

Je recréé un sujet pour clarifier un peu le problème que j'ai, par rapport à un graphique que j'avais tracé en utilisant des données datetime :

Voici mon graphique, il représente des valeurs en fonction de la date :

Nom : Difference LiO3S ECC.png
Affichages : 114
Taille : 52,3 Ko

Je cherche simplement à afficher dans mon graphiques, uniquement les valeurs qui existent, donc supprimer les écarts entre les valeurs et n'afficher que les dates que j'ai.

Voici mon code :
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
import matplotlib.pyplot as plt
import numpy as np
import glob
from datetime import datetime
from numpy import arange
import matplotlib.dates as mdates
 
tabTime = np.zeros(0)
tabAlt = np.zeros(0)
tabDiff= np.zeros(0)
 
 
 
ext="Diff_*"
for files in sorted(glob.glob(ext),reverse=False):
    print(files) 
    filename=(files[5:12])
    print(filename)
 
 
 
    data = np.loadtxt(files)
    alt = data[:,0]  
    diff = data[:,1]
    NumberOfLine = len(alt)
    tabAlt = np.append(tabAlt,alt)
    tabDiff = np.append(tabDiff, diff)
 
 
    a = datetime.strptime(filename, "%y%m%d")
 
    for i in range(len(alt)):
        tabTime = np.append(tabTime,a)
 
 
plt.scatter(tabTime, tabAlt, marker='.', c=tabDiff, cmap='RdBu') 
plt.xticks(rotation=45)
 
plt.xlim((
    datetime.strptime("2007-01-18", "%Y-%m-%d"),
    datetime.strptime("2020-01-30", "%Y-%m-%d"),
    ))
 
plt.xlabel('Date')
plt.ylabel('Altitude (km)')
cbar = plt.colorbar()
cbar.set_label('O3`AMA` - O3`Non AMA`  (ppmv)')
plt.show()



Si j'évite de passer par datetime, donc en affichant le 'temps' comme une chaîne de caractère, je me retrouve avec ça :

Nom : Interannual variability Difference.png
Affichages : 99
Taille : 96,5 Ko

Donc je n'ai plus les écarts, mais toutes les valeurs sont affichés, je préférerai qu'il y ait uniquement les mois qui soient affichés.



Je précise que ce code ci ne fonctionne pas, il m'affiche bien moins de valeurs mais pas aux bonnes dates :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
plt.locator_params(axis='x', nbins=50)
Merci pour votre aide!