这里是一个高二维点密度散点图的例子,仅供参考。
如何缩小标记的大小以更好地区分各个点?情节的大小应该保持原样。
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()

发布于 2022-03-18 22:51:11
plt.scatter有一个参数s,用于控制标记大小。
s可以是适用于所有点的单个浮点数,例如大小为5的所有点:S=5 plt.scatter(x,y,color=cm.viridis(色),marker='.',s=s)

s可以是映射到每个点的大小数组,例如,当z > 0.5和30大小不对应时,大小为5:S= np.where(z > 0.5,5,30) plt.scatter(x,y,color=cm.viridis(色),标记=‘.’,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://stackoverflow.com/questions/71532418
复制相似问题