python调整画图精度_python-增加点绘图精度

当绘制具有非常接近的值的点时,有时具有不同值的点似乎具有相同的值.在下面的图片中,所有六个点有不同的坐标值,但它好像点2,3和点4,5,6具有相同的值.

我知道,这是解决问题(我不能在这里的原因就不一一阐述增加).还有,是否有可能告诉matplotlib更精确地绘制这些点?

MWE:

import matplotlib

from matplotlib import pyplot as plt

coor = [[0.5,0.525,0.55,0.575,0.6,0.625],[0.5,0.501,0.502,0.503,0.504,0.505]]

fig = plt.figure(figsize=(3.5,3.5))

plts=fig.add_subplot(1,1,1)

fig.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, hspace=0, wspace=0)

plts.set_xlim([0,1])

plts.set_ylim([0,1])

plts.get_xaxis().set_visible(False)

plts.get_yaxis().set_visible(False)

grph = plts.scatter(coor[0],coor[1],facecolor='k',marker='o',lw=0,s=25)

fig.savefig('test.png', bbox_inches='tight', dpi=100)

解决方法:

问题来自分辨率为100 dpi.由于点的位置需要为1像素的倍数,因此它们的位置看起来是离散的.

保存图片时,您当然可以提高dpi.以下是原始图片,以100 dpi保存,显示了不希望的行为.

以下是以300 dpi保存的图片,然后降采样为与原始图片相同的尺寸.

如果您选择图形尺寸

figsize * saved_dpi / desired_dpi ==整数结果会更好;但是您需要避免使用bbox_inches =’tight’.

标签:matplotlib,python