gpt4 book ai didi

python - Matplot 图像被 Python 压缩

转载 作者:行者123 更新时间:2023-12-01 07:46:59 25 4
gpt4 key购买 nike

我正在尝试将 matlab 代码转换为 python。这是我写的Python代码

import numpy as np
import numpy.matlib as nm
import matplotlib.pyplot as plt
N = 1000; # time points
M = 20; # channels
nTrials = 50; # number of trials
t = np.linspace(0,6*np.pi,N);
img=(nm.repmat(np.sin(t),M,1))
plt.imshow(img);
plt.colorbar()
plt.show()

输出结果如下

python output

MATLAB 代码

N = 1000;     % time points
M = 20; % channels
nTrials = 50; % number of trials

% time vector (radian units)
t = linspace(0,6*pi,N);
img=repmat( sin(t),M,1 )
imagesc(img)

matlab中的输出如下 matlab output

或者,我尝试对简单的样本数据执行相同的操作MATLAB

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
imagesc(C)
colorbar

Python

C =np.array([0, 2 ,4 ,6, 8, 10, 12, 14, 16, 18, 20, 22])
C=np.reshape(C,(3,4))
plt.imshow(C);
plt.colorbar()
plt.show()

两者的图像输出相同 sample data image

我不明白为什么在正弦波中图像被挤压

最佳答案

Matlab 自动缩放 y 轴以与 x 匹配。这就是为什么即使 x 范围比 y 范围大 50 倍,您也会看到接近平方的图像。

要在 matplotlib 上实现类似的效果,请尝试将 y 范围设置为与 x 类似,例如设置M=800。 enter image description here

或者,如果您不想更改 M,您仍然可以使用 matplotlib 缩放 y 范围:

plt.imshow(img)
plt.axis('tight')
plt.colorbar()
plt.show()

enter image description here请注意,在这种情况下,y 轴的范围保持不变。

关于python - Matplot 图像被 Python 压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56415562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com