Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中向图像添加或更改轴?_Python_Python 2.7_Matplotlib_Python Imaging Library - Fatal编程技术网

如何在python中向图像添加或更改轴?

如何在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

我第一次尝试python。我的最终游戏有一个图像,x轴的距离以米为单位,y轴的深度以米为单位,显示一个500x500米的网格。 我能够以两种不同的方式将网格绘制到图像上,两种方式都利用像素大小作为网格间距。使用简单的距离-像素比来获得精确的网格间距

第一次尝试(使用matplotlib),我能够创建一个具有错误轴的精确网格间距(轴反映像素,不知道如何在不更改网格间距的情况下更改轴值)

第二个代码(使用PIL)生成一个只有网格的图像,而没有轴,只有网格

我确信我的问题的答案隐藏在PIL或matplotlib文档中,但我对python是新手,仍然在学习约定,甚至学习库的工作方式

有没有办法在图像周围画轴?或者使用matplotlib制作与像素无关的自定义比例会更容易吗

我知道这是一个非常模糊的问题,但是有人能给我指出正确的方向吗


谢谢

如果需要轴,请使用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手动绘制任意轴的网格。感谢您回答这个写得不好的问题。我是一个新加入社区的人,一般来说都是编码(再次为这个错误的假设感到抱歉),这个答案真的帮助我走上了正确的道路!谢谢你的帮助!