我第一次尝试python。我的最终游戏的图像的x轴距离以米为单位,y尺度的深度(m)表示500x500m网格。 我能够以两种不同的方式将网格绘制到图像上,两种方式都利用像素大小来获得网格间距。使用简单的距离与像素比来获得精确的网格间距。
第一次尝试(使用matplotlib),我能够用不正确的轴创建精确的网格间距(轴反映像素,不知道如何在不改变网格间距的情况下更改轴值)。
第二个代码(使用PIL)生成一个只包含网格而没有轴的图像,只有网格
我确定我的问题的答案都隐藏在PIL或matplotlib文档中,但我是python的新手,我仍在学习这些约定,甚至是库如何工作
有没有办法在图像周围绘制轴?或者用matplotlib制作一个与像素无关的自定义比例会更容易吗?
我知道这是一个非常含糊的问题,但是有人能指出我正确的方向吗?
谢谢!
答案 0 :(得分:1)
如果您想要轴,请使用matplotlib imshow
。如果你有像素距离比例,例如“1像素= 100米”,您可以使用它来设置图像的extent
。
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()