這是一個具有高 2D 點密度的散點圖示例,僅用于說明。
如何減小標記的大小以更好地區分各個點?地塊的大小應保持不變。
import numpy as np
import matplotlib.pyplot as plt
from sklearn import preprocessing
from matplotlib import cm
np.random.seed(10)
n=3000
x = np.arange(n)
z = np.sin(x/n)
y = np.random.randint(0, 100, size=(n))
colvals = preprocessing.minmax_scale(z)
plt.scatter(x, y, color=cm.rainbow(colvals), marker='.')
plt.xlabel('x')
plt.ylabel('y')
plt.show()

uj5u.com熱心網友回復:

或者s可以是映射到每個點的大小陣列,例如大小為 5 時z > 0.5,大小為 30 否則:
s = np.where(z > 0.5, 5, 30)
plt.scatter(x, y, color=cm.viridis(colvals), marker='.', s=s)

請注意,要匹配散點和繪圖示記的大小,繪圖示記markersize應該是散點標記的平方根s:
s = 900
plt.scatter(-1, 0, s=s, color='tab:orange')
plt.plot(1, 0, 'o', markersize=s ** 0.5)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/447256.html
標籤:Python matplotlib
