首頁  >  文章  >  後端開發  >  用Matplotlib如何繪製長條圖、直方圖和散佈圖

用Matplotlib如何繪製長條圖、直方圖和散佈圖

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼轉載
2019-06-04 14:44:548590瀏覽

Matplotlib是一個Python 2D繪圖庫,它可以在各種平台上以各種硬拷貝格式和互動式環境產生出具有出版品質的圖形。

用Matplotlib如何繪製長條圖、直方圖和散佈圖

上一篇我們講解到Matplotlib 中的圖例,標題和標籤介紹,今天我們開始正式畫圖。這個教程中我們會涉及長條圖、直方圖和散點圖。我們先來看長條圖:

長條圖

import matplotlib.pyplot as plt
plt.bar([1,3,5,7,9],[5,2,7,8,2], label="Example one")
plt.bar([2,4,6,8,10],[8,6,2,5,6], label="Example two", color='g')
plt.legend()
plt.xlabel('bar number')
plt.ylabel('bar height')
plt.title('Epic Graph\nAnother Line! Whoa')
plt.show()

plt.bar為我們建立長條圖。如果你沒有明確選擇一種顏色,那麼雖然做了多個圖,所有的條看起來會一樣。這讓我們有機會使用一個新的 Matplotlib 自訂選項。你可以在任何類型的繪圖中使用顏色,例如g為綠色,b為藍色,r為紅色,等等。你也可以使用十六進位顏色代碼,如#191970。

用Matplotlib如何繪製長條圖、直方圖和散佈圖

接下來,我們會講解直方圖。直方圖非常像條形圖,傾向於將區段組合在一起來顯示分佈。這個例子可能是年齡的分組,或測驗的分數。我們並不是顯示每一組的年齡,而是以 20 ~ 25,25 ~ 30… 等等來顯示年齡。這裡有一個例子:

直方圖

import matplotlib.pyplot as plt
population_ages = [22,55,62,45,21,22,34,42,42,4,99,102,110,120,121,122,130,111,115,112,80,75,65,54,44,43,42,48]
bins = [0,10,20,30,40,50,60,70,80,90,100,110,120,130]
plt.hist(population_ages, bins, histtype='bar', rwidth=0.8)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.legend()
plt.show()

產生的圖表為:

用Matplotlib如何繪製長條圖、直方圖和散佈圖

#對於plt.hist ,你首先需要放入所有的值,然後指定要放入哪個桶子或容器。在我們的例子中,我們繪製了一堆年齡,並希望以 10 年的增量來顯示它們。我們將條形的寬度設為 0.8,但如果你想讓條形變寬,或是變窄,你可以選擇其他的寬度。

接下來,我們將介紹散點圖。散佈圖通常用於比較兩個變數來尋找相關性或分組,如果你在 3 維繪製則是 3 個。

散佈圖

散佈圖的一些範例程式碼:

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8]
y = [5,2,4,2,1,4,5,2]
plt.scatter(x,y, label='skitscat', color='k', s=25, marker="o")
plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.legend()
plt.show()

結果為:

用Matplotlib如何繪製長條圖、直方圖和散佈圖

Tip:

plt.scatter不僅允許我們繪製x和y,還可以讓我們決定所使用的標記顏色,大小和類型。 

以上是用Matplotlib如何繪製長條圖、直方圖和散佈圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除