19、20_散点图、连接散点图、气泡图、不同颜色的散点图、直方图
19.散點圖(Scatter plots)
19.1.連接散點圖 (Connected scatter plot)
19.2.氣泡圖(Bubble chart)
19.3.不同顏色的散點圖
20.直方圖(Histograms)
19.散點圖(Scatter plots)
當想顯示兩個變量之間的關系時,使用散點圖。 散點圖有時稱為相關圖,因為它們顯示了兩個變量之間的關系。
import numpy as np import matplotlib.pyplot as pltplt.scatter(x=range(77, 770, 10),y=np.random.randn(70)*55+range(77, 770, 10),s=200, alpha=0.6) plt.tick_params(labelsize=12) plt.xlabel('Surface(m2)', size=12) plt.ylabel('Turnover (K dollars)', size=12) plt.xlim(left=0) plt.ylim(bottom=0)plt.show()
此圖描述了商店面積與其營業額之間的正相關關系。
此圖表明客戶的年齡與其每周購買費用之間沒有關心。
19.1.連接散點圖 (Connected scatter plot)
連接的散點圖是散點圖和折線圖之間的混合,它使用線段來連接連續的散點圖點,例如以說明隨時間變化的軌跡。
連接的散點圖可視化了散點圖中的兩個相關時間序列,并將這些點與時間順序上的線連接起來。
import numpy as np import matplotlib.pyplot as pltturnover = [30, 38, 26, 20, 21, 15, 8, 5, 3, 9, 25, 27] plt.plot(np.arange(12), turnover, marker='o')plt.show()假設上面的圖描述了一年內銷售營業額。 根據該圖,我們可以發現銷售在冬天達到頂峰,然后從春季到夏季下降。
19.2.氣泡圖(Bubble chart)
氣泡圖是一種顯示三個維度的數據的圖。一個附加變量的值通過點的大小表示。
import numpy as np import matplotlib.pyplot as pltnbclients = range(10, 494, 7) plt.scatter(x=range(77, 770, 10),y=np.random.randn(70)*55+range(77, 770, 10),s=nbclients, alpha=0.6)plt.show()19.3.不同顏色的散點圖
由matplotlib創建的散點圖無法根據類別變量的值指定顏色。 因此,我們必須重疊不同顏色的圖。
import numpy as np import matplotlib.pyplot as pltplt.scatter(x=range(40, 70, 1),y=np.abs(np.random.randn(30)*20),s=200,#c = 'blue',alpha=0.6,label='40-69') plt.scatter(x=range(20, 40, 1),y=np.abs(np.random.randn(20)*40),s=200,#c = 'red',alpha=0.6,label='20-39') plt.legend() # 每次都要執行 plt.show()這個2色散點圖清楚地顯示了年輕人與中年人或老年人之間的每周購買花費的差異:年輕人的平均每周購買量是中年人或老年人的兩倍。
20.直方圖(Histograms)
直方圖是一種統計報告圖,是一些數值數據的頻率分布的圖形表示。由一系列高度不等的縱向條紋或線段表示數據分布的情況。 一般用橫軸表示數據類型,縱軸表示分布情況。
直方圖是數值數據分布的圖形表示,是一個連續變量的概率分布的估計。
為了構建直方圖,第一步是將值的范圍分段,即將整個值的范圍分成一系列間隔,然后計算每個間隔中有多少值。 這些值通常被指定為連續的,不重疊的變量間隔。 間隔必須相鄰,并且通常是相等的大小。
如果構造直方圖,首先將可能的x值范圍分配到通常相等大小和相鄰的區間。
pyplot.hist函數定義文檔:plot.hist函數定義文檔plot.hist(https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.hist.html)
現在我們創建一個隨機數的直方圖:
import matplotlib.pyplot as plt import numpy as np gaussian_numbers = np.random.normal(size=10000) print(gaussian_numbers) ''' 輸出結果: [-2.88618646 -0.15302214 -0.35230715 ... -0.42074156 0.41650123 0.56230326] '''plt.hist(gaussian_numbers) plt.title("Gaussian Histogram") plt.xlabel("Value") plt.ylabel("Frequency") plt.show()
返回值:
?n The values of the histogram bins.
?bins
The edges of the bins. Length nbins + 1 (nbins left edges and right edge of last bin).
?patches
Silent list of individual patches used to create the histogram or list of such list if multiple input datasets.
參數說明:
?data:必選參數,繪圖數據
?bins:直方圖的長條形數目,可選項,默認為10
?normed:是否將得到的直方圖向量歸一化,可選項,默認為0,代表不歸一化,顯示頻數。normed=1,表示歸一化,顯示頻率。
?facecolor:長條形的顏色
?edgecolor:長條形邊框的顏色
?alpha:透明度
讓我們增加bin的數量。 如果有10,000個隨機值,將關鍵字參數bins設置為100:
plt.hist(gaussian_numbers, bins=100) plt.show()hist的另一個重要關鍵字參數是density。 density是可選的,默認值為False。 如果將其設置為True,則返回元組的第一個元素將被歸一化以形成概率密度的計數值, 即直方圖下的面積(或積分)總和為1。
plt.hist(gaussian_numbers, bins=100, density=True) plt.show()
hist可設置edgecolor和color。
通過設置參數cumulative,我們也可以將其繪制為累積分布函數。
n, bins, patches = plt.hist(gaussian_numbers,bins=100,density=True,edgecolor="#BB5566",color="#DDFFDD",cumulative=True) plt.show()總結
以上是生活随笔為你收集整理的19、20_散点图、连接散点图、气泡图、不同颜色的散点图、直方图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 特斯拉自动驾驶跟挡风玻璃有关吗?
- 下一篇: 怎么挑选电动车?