我在使用 Pyplotimshow从 numpy 绘制图像时遇到了一些麻烦,ndarray称为data保持其纵横比和方形像素。的形状ndarray是(112, 2182)。这是我正在使用的代码:
import matplotlib as mpl
from mpl_toolkits.axes_grid1 import make_axes_locatable
import numpy as np
mpl.use('Agg')
import matplotlib.pyplot as plt
data = np.random.random_sample((112, 2182))
plt.figure(figsize=(25, 3.5))
plt.subplots_adjust(left=0.1, right=0.9)
ax = plt.subplot(111)
plt.axis('off')
plt.title('Title', fontweight='bold', y=1.15)
im = ax.imshow(data)
# Add same-width colorbar to the bottom of the image
divider = make_axes_locatable(ax)
cax = divider.append_axes("bottom", size="25%", pad=0.3)
cbar = plt.colorbar(im, orientation="horizontal", cax=cax)
# Save image
plt.savefig('image.pdf', dpi=1000, format=pdf)
我认为通过使用ndarray图像的形状设置方面会显示方形像素。但是,图像似乎保持纵横比但像素不是正方形,正如您在放大图像中看到的那样(我仍然无法发布图像,抱歉):
这些输出,当我用我得到了相同的im = ax.imshow(data)
withouth的的aspect
说法。我手动计算了整个图的 y 轴上的像素,其中有 112 个,因此这不是像素分组的问题。关于如何解决这个问题的任何想法?
编辑:我正在绘制的图像也将有一个颜色条和一个标题。此外,我需要能够将其保存为 pdf 文件。我上传的缩放图是在 pdf 查看器中放大的图的屏幕截图。
米琪卡哇伊
慕桂英4014372
相关分类