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
(因为它更快)