Python 在imshow::matplotlib中记录x比例
我有一张像这样的桌子Python 在imshow::matplotlib中记录x比例,python,matplotlib,plot,Python,Matplotlib,Plot,我有一张像这样的桌子 我将突出显示的部分作为矩阵,我想对其执行imshow。我想让曲线图的x标度为对数,通过查看最上面一行中的参数值可以理解这一点。如何使用matplotlib?您想使用的是pcolor,而不是imshow。下面是一个例子: import numpy as np import matplotlib.pyplot as plt fig, ax = plt.subplots() Z = np.random.random(size=(7,7)) x = 10.0 ** np.aran
我将突出显示的部分作为矩阵,我想对其执行
imshow
。我想让曲线图的x标度为对数,通过查看最上面一行中的参数值可以理解这一点。如何使用matplotlib?您想使用的是pcolor
,而不是imshow
。下面是一个例子:
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
Z = np.random.random(size=(7,7))
x = 10.0 ** np.arange(-2, 5)
y = 10.0 ** np.arange(-4, 3)
ax.set_yscale('log')
ax.set_xscale('log')
ax.pcolor(x, y, Z)
这给了我:
您不能在图像上应用
log
scale。这没有任何意义imshow
获取数组,从某种意义上说,每个值都是一个像素值。因此,在您的图像(即,您的表格)中,67只是一个像素,64是下一个像素。它与缩放概念无关。@这对于纯图像分析本身可能没有意义,但显示为图像的三维数据可以具有对数缩放。对于这一点,根据我的回答,pcolor
是合适的。@PaulH令人困惑的是,矩阵就是这样说的。您的pcolor
解决方案非常好,但是您可以为每个单元格指定坐标!在Excel 2007+中,可以很容易地将矩阵着色(条件格式),但这里的概念和用法仍然不清楚。@Developer的可能重复:我理解imshow
中的log
比例没有意义,因为它是矩阵的逐像素表示。但是我想通过颜色显示的是一个数量,它取决于两个变量x
和y
,我有这个数量的值,比如x=101001000
,所以我需要使密度图的x标度对数@保罗:谢谢你的回答。也许最好使用pcolormesh
(因为它更快)