特定列的matplotlib精度

特定列的matplotlib精度,matplotlib,scatter-plot,color-mapping,Matplotlib,Scatter Plot,Color Mapping,我正在绘制包含以下部分的散点图: cm = plt.cm.get_cmap('RdYlBu') a = axes([.65, .6, .2, .2], axisbg='none') sc=plt.scatter(x, y, c=z,s=500, marker='s',cmap=cm) plt.colorbar(sc) title('Density') z数据有时非常接近同质,即1.99、2.01、2.03、1.98等。这导致具有不同z值的彩色图。如何将它们全部设置为2,例如,以使col

我正在绘制包含以下部分的散点图:

cm = plt.cm.get_cmap('RdYlBu')

a = axes([.65, .6, .2, .2], axisbg='none')

sc=plt.scatter(x, y, c=z,s=500, marker='s',cmap=cm)

plt.colorbar(sc)

title('Density')
z数据有时非常接近同质,即1.99、2.01、2.03、1.98等。这导致具有不同z值的彩色图。如何将它们全部设置为2,例如,以使colormap平坦的方式

下面是我与gnuplot遇到的相同问题,我得到的提示解决了这个问题:


谢谢

与您的另一个答案类似,听起来您想要numpy.round。是否只希望将接近2的值四舍五入?例如[1.99,2.01,5.01]->[2.0,2.0,5.01]或者您希望所有内容都四舍五入吗?如果你想把所有的东西都四舍五入,就用c=np。roundzI想把它们都四舍五入,太好了!只有一个问题:现在如何将colorbar标签设置为例如2.0?如果它们都有一个值,为什么需要colorbar?要设置颜色条标签,请使用cbar=plt.colorbarsc;cbar。设置标签“2”。但是,似乎跳过numpy.round而改为执行plt.scatter…,vmin=0,vamx=4来设置颜色条的最小值和最大值会更好。你大概是在将它与另一个数据集进行比较?