Hello, je suis en train d'utiliser la bibli matplotlib pour faire un graph à partir d'un fichier CSV mais le problème est qu'il y a plusieurs centaines de données à rentrer, et mes abscisses sont des heures, du coup toutes les heures se superposent et la "légende" de mes abscisses ne ressemble plus qu'à un gros trait noir. J'aimerais n'afficher que 3 ou 4 horaires pour éviter ça mais je ne trouve pas comment faire 
voilà mon code:
import csv
import matplotlib.pyplot as plt
file = open("2019-12-31_sds011_sensor_20794.csv", "r", encoding="utf-8")
donneesCSV = []
donneesParticulesPM10 = []
donneesTemps = []
reader = csv.DictReader(file, delimiter=";")
for ligneR in reader:
dic = dict(ligneR)
donneesCSV.append(dic)
file.close()
for ligneCSV in donneesCSV:
donneesParticulesPM10.append(float(ligneCSV["P1"]))
donneesTemps.append(ligneCSV["timestamp"])
for ligneDT in donneesTemps:
heure = ligneDT.split("T")
position = donneesTemps.index(ligneDT)
donneesTemps[position] = heure[-1]
plt.figure()
plt.title("Taux de particules PM10 dans la journée du 31/12/2019")
plt.plot(donneesTemps, donneesParticulesPM10)
plt.xlabel("Heure")
plt.ylabel("Taux de particules (en %)")
plt.axis([donneesTemps[0], donneesTemps[-1], min(donneesParticulesPM10)-5, max(donneesParticulesPM10)+5])
plt.savefig("graphique_PM10.png")
plt.show()
ça donne ça:
J'ai essayé de rajouter
plt.locator_params(axis='x', nbins=3)
comme je l'ai vu sur un forum mais ça ne marche pas, ça affiche ça:
UserWarning: 'set_params()' not defined for locator of type <class 'matplotlib.category.StrCategoryLocator'>
plt.axis([donneesTemps[0], donneesTemps[-1], min(donneesParticulesPM10)-5, max(donneesParticulesPM10)+5])