【发布时间】:2021-04-02 16:58:13
【问题描述】:
我正在尝试在图形线上绘制一条线,但无法将它准确地绘制在轴上。你可以在这里找到代码:
https://colab.research.google.com/drive/1J12vWUIUr0dDIesMHBU9vYUkjnNKXOqT?usp=sharing
这是二维线的代码,然后保存。
ax = plt.subplot()
ax.plot([10,45], [20,100], color="g")
plt.xticks([])
plt.yticks([])
ax.set_axis_off()
plt.axis([0, 144, 0, 144])
plt.figure(figsize = (2,2))
plt.tight_layout()
plt.show()
fig.savefig('testfig.png')
这是我导入图形线并创建具有完全相同坐标和轴但无法弄清楚的类似线的代码。绿线是导入的线,红线是在导入线的正上方绘制的线。
image = plt.imread('testfig.png')
#fig2 = plt.figure()
#fig2.set_size_inches(1,1)
ax2 = plt.subplot()
ax2.imshow(image, extent=[0, 144, 0, 144])
ax2.plot([10,45], [20,100], color="r")
plt.xticks([])
plt.yticks([])
ax2.set_axis_off()
plt.tight_layout()
plt.axis([0, 144, 0, 144])
plt.figure(figsize = (2,2))
print(image.shape)
plt.show()
可能是因为导出线的形状与我的预期不同,即 144x144。有没有办法在不重新整形的情况下精确地导出 144x144?
【问题讨论】:
-
你能打开链接的分享吗?无法访问
-
很抱歉。它现在可供公众使用。
-
如果你想要一个只有一条线的图像,matplotlib 数字不是最好的方法。查找被告知在原始数组中画一条线。
-
备注:
plt.figure(figsize = (2,2))不会改变当前图形大小。它会创建一个具有该大小的新空图形。你可以试试fig = plt.gcf()和fig.set_size_inches(2, 2)
标签: python matplotlib plot line