Terrain avec moins de marqueurs de points de données (ou une meilleure façon de tracer les Cdf?) [matplotlib, ou général de traçage aide]
Je suis traçage Cumulé les Fonctions de Distribution, avec un grand nombre de points de données. Je suis en traçant quelques lignes sur la même parcelle, qui sont identifiés avec des marqueurs tel qu'il sera imprimé en noir et blanc. Ce que je voudrais sont des marqueurs espacés régulièrement dans le x-dimension. Ce que je reçois est un marqueur par point de données (et vu le nombre de points, ils se chevauchent)
Je ne sais pas si c'est ma compréhension de la façon de parcelle bien, ou tout simplement un manque de compréhension matplotlib. Je ne peux pas trouver un " marqueur de fréquence de réglage.
Une solution simple pour la ligne serait de prendre tous les N-ième valeur de la ligne, et de l'utiliser comme une ligne distincte avec linestyle=", mais je voudrais que les repères soient alignés verticalement, et les différents x tableaux sont de différentes longueurs.
# in reality, many thousands of values
x_example = [ 567, 460, 66, 1034, 275, 26, 628, 99, 287, 157, 705, 421, 1093, \
139, 204, 14, 240, 179, 94, 139, 645, 670, 47, 520, 891, 450, 56, 964, \
1728, 99, 277, 356, 1628, 745, 364, 88, 112, 810, 816, 523, 401, 89, \
278, 917, 370, 53, 39, 90, 853, 356 ]
x = sort(x_example)
y = linspace(0,1,len(x))
ax = subplot(1,1,1)
plots[w] = ax.plot(x,y, marker='o')
- Liées solution pour arclength marqueur espacement: stackoverflow.com/questions/17406758/...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire
plot(x,y,marker='o',markevery=5)
pour marquer chaque point de cinquième, mais je ne pense pas qu'il existe de prise en charge intégrée pour les marques de réglage à intervalles réguliers. Vous pouvez décider sur le x emplacements où vous souhaitez les marques, utiliser, par exemple,numpy.searchsorted
pour trouver les points de données que les emplacements de l'automne entre les deux, et puis d'interpoler entre les voisins points pour trouver les coordonnées y.markers will be spaced at approximately equal distances along the line; the distance along the line between markers is determined by multiplying the display-coordinate distance of the axes bounding-box diagonal by the value
matplotlib.org/api/...