像在matlab中一样,如何使用python绘制和保存图像?

时间:2018-09-16 22:48:41

标签: python matlab matplotlib colormap

我在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

1 个答案:

答案 0 :(得分:1)

分辨率由两个参数figsize控制,该参数接受表示以英寸为单位的图形大小的元组,而dpi控制图形的每英寸点数。这两个将成为您的subplots参数:

ax, fig = plt.subplots(figsize=(x, y), dpi=z)

其中xy是图形的所需宽度和高度,而z是所需的dpi。

关于颜色,您需要选择其他颜色图。首先选择所需的颜色图(可以在here中找到matplotlib可用的颜色图)。然后将其传递到cmap的{​​{1}}参数中,如下所示:

imshow

其中ax.imshow(H1, cmap=c) 是包含颜色图的名称的字符串。