掃描做電子版網(wǎng)站百度地圖收錄提交入口
Matplotlib庫學習之scatter(模塊)
一、簡介
Matplotlib 是 Python 中一個強大的繪圖庫,其中 matplotlib.pyplot.scatter
用于創(chuàng)建散點圖。散點圖在數(shù)據(jù)可視化中廣泛用于展示兩個變量之間的關系。
二、語法和參數(shù)
語法
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None, plotnonfinite=False, data=None, **kwargs)
參數(shù)
- x, y: 必選參數(shù),代表散點圖中每個點的 x 坐標和 y 坐標。
- s: 可選,標量或數(shù)組,用于控制每個點的大小。
- c: 可選,標量或數(shù)組,用于控制每個點的顏色。
- marker: 可選,表示散點的形狀,默認為
'o'
。 - cmap: 可選,
Colormap
對象或字符串,用于將標量數(shù)據(jù)映射到顏色。 - norm: 可選,
Normalize
對象,用于縮放顏色數(shù)據(jù)。 - vmin, vmax: 可選,控制亮度標量數(shù)據(jù)的最小值和最大值。
- alpha: 可選,標量,用于設置透明度。
- linewidths: 可選,標量或數(shù)組,表示每個點的邊緣寬度。
- edgecolors: 可選,表示點的邊緣顏色。
- plotnonfinite: 可選,布爾值,如果為
True
,會繪制非有限點(NaN
或Inf
)。 - data: 可選,傳遞數(shù)據(jù)的對象。
- kwargs: 其他傳遞給
matplotlib.axes.Axes.scatter
的參數(shù)。
返回值
返回一個 PathCollection
對象,表示繪制的散點圖。
三、實例
3.1 繪制簡單的散點圖
import matplotlib.pyplot as plt# 數(shù)據(jù)
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 5, 6]# 繪制散點圖
plt.scatter(x, y)
plt.title("Simple Scatter Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.show()
輸出:
顯示一個簡單的散點圖,其中X軸表示1到5的值,Y軸表示2到6的值,每個點為一個圓形標記。
3.2 設置不同大小和顏色的點
import matplotlib.pyplot as plt# 數(shù)據(jù)
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 5, 6]
sizes = [20, 50, 80, 200, 500]
colors = [10, 20, 30, 40, 50]# 繪制散點圖
plt.scatter(x, y, s=sizes, c=colors, cmap='viridis', alpha=0.6)
plt.title("Scatter Plot with Varying Sizes and Colors")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.colorbar() # 添加顏色條
plt.show()
輸出:
顯示一個散點圖,其中每個點的大小和顏色各不相同,點的顏色根據(jù)'viridis'顏色映射來進行區(qū)分。
3.3 使用自定義標記形狀和邊緣顏色
import matplotlib.pyplot as plt# 數(shù)據(jù)
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 5, 6]
sizes = [100] * 5
colors = [0, 1, 2, 3, 4]# 繪制散點圖
plt.scatter(x, y, s=sizes, c=colors, marker='^', edgecolors='r', linewidths=2, cmap='plasma')
plt.title("Scatter Plot with Custom Marker and Edge Color")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.colorbar() # 添加顏色條
plt.show()
輸出:
顯示一個散點圖,其中每個點的標記形狀為三角形,并且有紅色邊緣,每個點的顏色根據(jù)'plasma'顏色映射來區(qū)分。
四、注意事項
- 當使用
c
參數(shù)進行顏色映射時,如果c
是標量數(shù)組,則需要指定cmap
來定義顏色映射的范圍。 alpha
參數(shù)可以用于調(diào)整點的透明度,值越低,點越透明。- 當
edgecolors
為'none'
時,點將沒有邊緣顏色。