首页 > 解决方案 > 如何在matplotlib中用不均匀的轴隔开x值?

问题描述

from matplotlib import pyplot as plt
import numpy as np

x = np.linspace(448312,497812,100)
y = np.linspace(7188379,7986879,1598)
z = np.random.rand(100,1598)
interp_method = "sinc"
fig, axs = plt.subplots()
axs.imshow(z, interpolation=interp_method, cmap='viridis', extent= (x[0], x[-1], y[0], y[-1]))
axs.set_title(str(interp_method))
plt.show()

# the image is on https://imgur.com/ZYIkqAw

前面的代码生成了一个不太可读的热图,有没有办法在不创建插值的情况下“扩展”x 轴?我尝试了几种方法,但都失败了我改变了 figsize(失败),我改变了轴:

axs=plt.axes([.65, .6,  10, 10], facecolor='k',aspect='equal')

但最终不可能将热图扩大到足以使其更清晰。我真的不想在 x 轴上创建空值并使用绘图来插入它们。有没有办法“放大”到 x 轴并使情节看起来是方形的?

我彻底检查了以下链接,但找不到可以帮助的东西:

如何更改 matplotlib 中刻度之间的间距?

如何在 matplotlib 中的刻度标签和轴之间添加空格?

https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.set_aspect.html

在此先感谢大家:) 非常感谢任何帮助

标签: pythonmatplotlib

解决方案



推荐阅读