我在Matlab中有一个代码,可以从txt文件中读取数据,并对该数据进行一些操作后,生成一个20x20的数组,该数组用于绘制图像,如下所示:
出于优化和项目需求的原因,我需要将此代码转录为Python。在生成矩阵的阶段正确之前,但是我无法生成相同的图像,因为它们具有不同的比例和颜色,如下所示:
以下是Matlab中绘制图像的代码片段:
figure
image(H1,'CDataMapping','scaled')
colormap;
saveas(gcf,'d1.jpg');
这是Python中的代码段:
import matplotlib.pylab as plt
fig, ax = plt.subplots()
ax.imshow(H1)
plt.gcf().savefig('d1.jpg')
plt.show()
plt.close()
我只需要绘制具有相同分辨率(875 x 656)的图像,然后将颜色更改为更相似。
现在,我感谢那些帮助! :D
答案 0 :(得分:1)
分辨率由两个参数figsize
控制,该参数接受表示以英寸为单位的图形大小的元组,而dpi
控制图形的每英寸点数。这两个将成为您的subplots
参数:
ax, fig = plt.subplots(figsize=(x, y), dpi=z)
其中x
和y
是图形的所需宽度和高度,而z
是所需的dpi。
关于颜色,您需要选择其他颜色图。首先选择所需的颜色图(可以在here中找到matplotlib可用的颜色图)。然后将其传递到cmap
的{{1}}参数中,如下所示:
imshow
其中ax.imshow(H1, cmap=c)
是包含颜色图的名称的字符串。