Estoy usando Matplotlib para graficar la lista de flotadores. Si mi lista tiene 100 flotantes, el gráfico muestra los colores adecuados. Pero si la lista tiene 785 flotantes, entonces solo muestra el color negro. Aquí está el código.Matplotlib: ¿por qué el color de la línea del gráfico de barras es negro?
import numpy as np
import matplotlib.pyplot as plt
import Image
Consensus = []
Prediction = []
Final = []
for line in open('1.out').readlines():
words = line.split()
Consensus.append(float(words[10]))
Prediction.append(int(words[11]))
for i,j in zip(Consensus,Prediction):
Final.append(i*j)
max_score = 3
length = 785
ind = np.arange(length) # the x locations for the groups
width = 1 # the width of the bars: can also be len(x) sequence
p1 = plt.bar(ind, Consensus, width, color='red')
p2 = plt.bar(ind, Final, width, color='blue')
plt.ylabel('Scores')
plt.title('Scores by group and gender')
plt.xticks(np.arange(0,length,50))
plt.yticks(np.arange(0,max_score,0.2))
plt.savefig('testplot.png')
Image.open('testplot.png').save('testplot.jpg','JPEG')
Esta es la imagen del programa cuando la lista tiene una longitud de 785.
Cuando la lista tiene 99 caracteres.
El archivo está disponible aquí - http://pastebin.com/HhPhgPDG
Puede cambiar simplemente copiar las primeras 100 líneas de este archivo para comprobar si el otro caso. Debe cambiar la variable de longitud por el número de líneas en el archivo.
Gracias.