如何在python中向图像添加或更改轴?
我第一次尝试python。我的最终游戏有一个图像,x轴的距离以米为单位,y轴的深度以米为单位,显示一个500x500米的网格。 我能够以两种不同的方式将网格绘制到图像上,两种方式都利用像素大小作为网格间距。使用简单的距离-像素比来获得精确的网格间距 第一次尝试(使用matplotlib),我能够创建一个具有错误轴的精确网格间距(轴反映像素,不知道如何在不更改网格间距的情况下更改轴值) 第二个代码(使用PIL)生成一个只有网格的图像,而没有轴,只有网格 我确信我的问题的答案隐藏在PIL或matplotlib文档中,但我对python是新手,仍然在学习约定,甚至学习库的工作方式 有没有办法在图像周围画轴?或者使用matplotlib制作与像素无关的自定义比例会更容易吗 我知道这是一个非常模糊的问题,但是有人能给我指出正确的方向吗如何在python中向图像添加或更改轴?,python,python-2.7,matplotlib,python-imaging-library,Python,Python 2.7,Matplotlib,Python Imaging Library,我第一次尝试python。我的最终游戏有一个图像,x轴的距离以米为单位,y轴的深度以米为单位,显示一个500x500米的网格。 我能够以两种不同的方式将网格绘制到图像上,两种方式都利用像素大小作为网格间距。使用简单的距离-像素比来获得精确的网格间距 第一次尝试(使用matplotlib),我能够创建一个具有错误轴的精确网格间距(轴反映像素,不知道如何在不更改网格间距的情况下更改轴值) 第二个代码(使用PIL)生成一个只有网格的图像,而没有轴,只有网格 我确信我的问题的答案隐藏在PIL或matpl
谢谢 如果需要轴,请使用matplotlib
imshow
。如果您有像素距离比,例如“1像素=100米”,您可以使用它设置图像的范围
import matplotlib.pyplot as plt
import numpy as np
image = np.random.rand(5,5)
#1 pixel = 100 meters
r = 1./100.
fig, ax = plt.subplots()
ax.imshow(image, extent=(0,image.shape[1]/r,0,image.shape[0]/r) )
ax.set_xlabel("distance [m]")
ax.set_ylabel("distance [m]")
plt.show()
任何一种方法都应该有效,这取决于您的用例和最终目标。查看matplotlib的文档以设置正确的轴,或使用PIL手动绘制任意轴的网格。感谢您回答这个写得不好的问题。我是一个新加入社区的人,一般来说都是编码(再次为这个错误的假设感到抱歉),这个答案真的帮助我走上了正确的道路!谢谢你的帮助!