tiempo real matrices graficos graficas graficar grafica coordenadas barras matplotlib distribution plot marker cumulative-frequency

real - matplotlib python



Trazar con menos marcadores que puntos de datos(¿o una mejor forma de trazar CDF?) (1)

Estoy trazando funciones de distribución acumulativa, con una gran cantidad de puntos de datos. Estoy trazando unas pocas líneas en la misma parcela, que están identificadas con marcadores, ya que se imprimirán en blanco y negro. Lo que me gustaría son marcadores espaciados uniformemente en la dimensión x. Lo que obtengo es un marcador por punto de datos (y dado el número de puntos, todos se superponen)

No estoy seguro si es mi comprensión de cómo trazar bien, o simplemente una falta de comprensión matplotlib. No puedo encontrar una configuración de ''frecuencia de marcador''.

Una solución fácil para una línea sería tomar cada N''th valor de la línea, y usar eso como una línea separada con linestyle = '''', pero me gustaría que los marcadores se alineen verticalmente, y las diferentes matrices x tienen diferentes longitudes.

# 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'')


Puede hacer un plot(x,y,marker=''o'',markevery=5) para marcar cada quinto punto, pero no creo que haya ningún soporte incorporado para establecer marcas en intervalos pares. Usted puede decidir sobre las x ubicaciones donde desea las marcas, use p.ej. numpy.searchsorted para encontrar los puntos de datos en los que se encuentran las ubicaciones, y luego interpola entre los puntos vecinos para encontrar las coordenadas y.