圖文並茂的Python散點圖教程
阿新 • • 發佈:2019-01-23
看完本教程,就可以應付大多數情況下的柱狀圖繪製了。
宣告:
- 需要讀者瞭解一點Python列表的知識
- 教程藉助於matplotlib庫
散點圖基礎
必要的庫
# 需匯入要用到的庫檔案
import numpy as np # 陣列相關的庫
import matplotlib.pyplot as plt # 繪相簿
繪製散點圖
N = 10
x = np.random.rand(N) # 包含10個均勻分佈的隨機值的橫座標陣列,大小[0, 1]
y = np.random.rand(N) # 包含10個均勻分佈的隨機值的縱座標陣列
plt.scatter(x, y, alpha=0.6 ) # 繪製散點圖,透明度為0.6(這樣顏色淺一點,比較好看)
plt.show()
調整散點大小
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
area = np.random.rand(N) * 1000 # 包含10個均勻分佈的隨機值的面積陣列,大小[0, 1000]
fig = plt.figure()
ax = plt.subplot()
ax.scatter(x, y, s=area, alpha=0.5) # 繪製散點圖,面積隨機
plt.show()
調整散點顏色
N = 10
x = np.random.rand(N)
y = np.random .rand(N)
x2 = np.random.rand(N)
y2 = np.random.rand(N)
area = np.random.rand(N) * 1000
fig = plt.figure()
ax = plt.subplot()
ax.scatter(x, y, s=area, alpha=0.5)
ax.scatter(x2, y2, s=area, c='green', alpha=0.6) # 改變顏色
plt.show()
調整散點形狀
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
x2 = np.random .rand(N)
y2 = np.random.rand(N)
x3 = np.random.rand(N)
y3 = np.random.rand(N)
area = np.random.rand(N) * 1000
fig = plt.figure()
ax = plt.subplot()
ax.scatter(x, y, s=area, alpha=0.5)
ax.scatter(x2, y2, s=area, c='green', alpha=0.6)
ax.scatter(x3, y3, s=area, c=area, marker='v', cmap='Reds', alpha=0.7) # 更換標記樣式,另一種顏色的樣式
plt.show()
這裡要解釋一下,大家可能注意到了:圖片中的紅色倒三角,面積越大的顏色越紅。這是因為我們在
ax.scatter()
中啟用了引數cmap,它需要與控制顏色的引數c配合使用。cmap指明調色盤的型別,c指明顏色的深淺。
調色盤的型別可見:matplotlib官網解釋
調整散點邊界
N = 10
x = [1]
y = [1]
x2 = [1.1]
y2 = [1.1]
x3 = [0.9]
y3 = [0.9]
area = [20000]
fig = plt.figure()
ax = plt.subplot()
ax.scatter(x, y, s=area, alpha=0.5, edgecolors='face')
ax.scatter(x2, y2, s=area, linewidths=[3])
ax.scatter(x3, y3, s=area, alpha=0.5, linewidths=[3], edgecolors='r')
plt.show()