我有一个看起来像这样的表格
我想将突出显示的部分作为矩阵进行imshow
。我希望绘图的x轴刻度是对数的,正如顶部行中的参数值所示。在matplotlib中如何实现?
我有一个看起来像这样的表格
我想将突出显示的部分作为矩阵进行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)
这给了我:
pcolormesh
可能更好(因为它更快)。 - tacaswellshading
参数的文档:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pcolor.html - Paul H
log
比例尺。这没有任何意义。imshow
以一种方式获取数组,其中每个值都是像素值。因此,在您的图像(即您的表格)中,67只是一个像素,64是下一个像素。它不关心您的缩放概念。 - Developerpcolor
是适当的。 - Paul Hpcolor
解决方案非常好,因为您为每个单元格分配了坐标!在*Excel 2007+*中,可以轻松地对矩阵进行着色(条件格式设置),但这里的概念和用法仍然不清楚。 - Developerimshow
中使用log
比例尺没有意义,因为它是矩阵的逐像素表示。但是,我想通过颜色显示的数量取决于两个变量x
和y
,我有这个数量的值,当x=10,100,1000
等等时,因此我需要将密度图的x轴比例设置成对数比例。 @PaulH:感谢您的答案。 - lovespeed