Tôi đang sử dụng Matplotlib để lập danh sách đồ thị của phao. Nếu danh sách của tôi dài 100 phao thì biểu đồ sẽ hiển thị các màu phù hợp. Nhưng nếu danh sách là 785 phao dài thì nó chỉ hiển thị màu đen. Đây là mã.Matplotlib - tại sao màu đường đồ thị thanh là màu đen?
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')
Đây là hình ảnh của chương trình khi danh sách dài 785.
Đây là khi danh sách dài 99.
Các tập tin có sẵn ở đây - http://pastebin.com/HhPhgPDG
Bạn có thể thay đổi chỉ cần sao chép 100 dòng đầu tiên của file này để kiểm tra đối với trường hợp khác. Bạn nên thay đổi biến độ dài thành số dòng trong tệp.
Cảm ơn.