我想使用matplotlib.pyplot.scatter
绘制散点图,并且由于点的数量太大,因此我想减小这些点的比例。我将参数s
设置为0.1,点以某种方式变为以点为中心的空圆。
下面是s=0.1
,空点
但是我只想要实心点,经过一番尝试,我发现原因是参数s
,当> = 1时,图是实心点,但是当s
下面是s
,实心点
下面是我的代码,我只是更改了参数s=1
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.cm as mcm
if __name__ == "__main__":
a = np.random.rand(10000,2)
fig = plt.figure(figsize=(6,6), dpi=800)
ax = fig.add_subplot(111)
color = np.random.rand(10000,)
ax.scatter(a[:,0],a[:,1], s=1, marker='.', c=color, cmap=mcm.jet)
plt.savefig("`some route`/123.png", format="png")
我的版本:
的Python:3.7.3
matplotlib:3.0.3
操作系统:Ubuntu 16.04 LTS
最佳答案
您应该设置edgecolors='none
。
我认为您可以通过以下方式获得所需的内容:ax.scatter(a[:,0],a[:,1], s=0.5, marker='o', c=color, cmap=mcm.jet, edgecolors='none')
在https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.scatter.html处查看scatter
的文档
关于python - 在`matplotlib`,`scatter`中,当参数`s` <1时,圆圈变为空,为什么会发生这种情况?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57901317/