TL; DR -> İnsan nasıl bir çizgi grafik için bir açıklama oluşturmak olabilir
Matplotlib
'sPyPlot
herhangi bir ekstra değişkenleri yaratmadan?
Lütfen aşağıdaki grafik komut dosyasını göz önünde bulundurun:
if __name__ == '__main__':
PyPlot.plot(total_lengths, sort_times_bubble, 'b-',
total_lengths, sort_times_ins, 'r-',
total_lengths, sort_times_merge_r, 'g+',
total_lengths, sort_times_merge_i, 'p-', )
PyPlot.title("Combined Statistics")
PyPlot.xlabel("Length of list (number)")
PyPlot.ylabel("Time taken (seconds)")
PyPlot.show()
Gördüğünüz gibi, bu bir çok temel kullanımıdır matplotlib
's PyPlot
. Bu ideal olarak aşağıdaki gibi bir grafik oluşturur:
Özel bir şey yok, biliyorum. Ancak, hangi verilerin nerede çizildiği belirsizdir (bazı sıralama algoritmalarının verilerini, alınan süreye karşı uzunluğu çizmeye çalışıyorum ve insanların hangi satırın hangisi olduğunu bildiğinden emin olmak istiyorum). Bu nedenle, bir efsaneye ihtiyacım var, ancak aşağıdaki örneğe ( resmi siteden ) bir göz atacağım :
ax = subplot(1,1,1)
p1, = ax.plot([1,2,3], label="line 1")
p2, = ax.plot([3,2,1], label="line 2")
p3, = ax.plot([2,3,1], label="line 3")
handles, labels = ax.get_legend_handles_labels()
# reverse the order
ax.legend(handles[::-1], labels[::-1])
# or sort them by labels
import operator
hl = sorted(zip(handles, labels),
key=operator.itemgetter(1))
handles2, labels2 = zip(*hl)
ax.legend(handles2, labels2)
Fazladan bir değişken oluşturmam gerektiğini göreceksiniz ax
. Bu ekstra değişkeni yaratmak ve mevcut komut dosyamın sadeliğini korumak zorunda kalmadan grafiğime bir açıklama ekleyebilirim ?
matplotlib
önce kullanmadığı için işleri olabildiğince basit tutmak istedim. Ayrıca, Rob'un cevabına bir göz atarsanız, web sitesinde gösterilen örnekten çok daha basittir. Umarım bu yardımcı olur.
import matplotlib.pyplot as plt
yerine kullanmaktırPyPlot