可視化圖表,有相當多種,但常見的也就下面幾種,其他比較復雜一點,大都也是基于如下幾種進行組合,變換出來的。對于初學者來說,很容易被這官網上眾多的圖表類型給嚇著了,由于種類太多,幾種圖表的繪制方法很有可能會混淆起來。
因此,在這里,我特地總結了六種常見的基本圖表類型,你可以通過對比學習,打下堅實的基礎。
01. 折線圖
繪制折線圖,如果你數據不是很多的話,畫出來的圖將是曲折狀態,但一旦你的數據集大起來,比如下面我們的示例,有100個點,所以我們用肉眼看到的將是一條平滑的曲線。
這里我繪制三條線,只要執行三次 plt.plot 就可以了。
import numpy as npimport matplotlib.pyplot as pltx= np.linspace(0, 2, 100)plt.plot(x, x, label='linear')plt.plot(x, x**2, label='quadratic')plt.plot(x, x**3, label='cubic')plt.xlabel('x label')plt.ylabel('y label')plt.title("Simple Plot")plt.legend()plt.show()
02. 散點圖
其實散點圖和折線圖是一樣的原理,將散點圖里的點用線連接起來就是折線圖了。所以繪制散點圖,只要設置一下線型即可。
注意:這里我也繪制三條線,和上面不同的是,我只用一個 plt.plot 就可以了。
import numpy as npimport matplotlib.pyplot as pltx = np.arange(0., 5., 0.2)# 紅色破折號, 藍色方塊 ,綠色三角塊plt.plot(x, x, 'r--', x, x**2, 'bs', x, x**3, 'g^')plt.show()
03. 直方圖
直方圖,大家也不算陌生了。這里小明加大難度,在一張圖里,畫出兩個頻度直方圖。這應該在實際場景上也會遇到吧,因為這樣真的很方便比較,有木有?
import numpy as npimport matplotlib.pyplot as pltnp.random.seed(19680801)mu1, sigma1 = 100, 15mu2, sigma2 = 80, 15x1 = mu1 + sigma1 * np.random.randn(10000)x2 = mu2 + sigma2 * np.random.randn(10000)# the histogram of the data# 50:將數據分成50組# facecolor:顏色;alpha:透明度# density:是密度而不是具體數值n1, bins1, patches1 = plt.hist(x1, 50, density=True, facecolor='g', alpha=1)n2, bins2, patches2 = plt.hist(x2, 50, density=True, facecolor='r', alpha=0.2)# n:概率值;bins:具體數值;patches:直方圖對象。plt.xlabel('Smarts')plt.ylabel('Probability')plt.title('Histogram of IQ')plt.text(110, .025, r'$/mu=100,/ /sigma=15$')plt.text(50, .025, r'$/mu=80,/ /sigma=15$')# 設置x,y軸的具體范圍plt.axis([40, 160, 0, 0.03])plt.grid(True)plt.show()
04. 柱狀圖
同樣的,簡單的柱狀圖,我就不畫了,這里畫三種比較難的圖。
新聞熱點
疑難解答