matplotlib无法显示线条

5
我有一个从Octave导出的数据文件,其中包含两个向量x和u0。我想使用以下代码在matplotlib中绘制u0关于x的图形。
import scipy.io
import matplotlib.pyplot as plt

data = scipy.io.loadmat('myfile.mat')
x = data['x'] 
u0 = data['u0']


plt.plot(x,u0)

plt.show()

上述代码只显示了一个空白图像。 当我将plt.plot(x, u0)这一行改为plt.plot(x, u0, '-bo')时,我得到了以下结果。 为什么实线没有出现? 以下是数据:myfile.mat

1
“x”和“u0”的形状是什么? - tacaswell
1个回答

7

我强烈怀疑您的数据数组的形状是(N, 1),即[[0], [0], ...],这会导致matplotlib在广播时(正确地)将其解释为N个只有一个点的线。

请尝试以下操作:

fig, ax = plt.subplots(1, 1)
ax.plot(x.flatten(), u0.flatten())
plt.show()

@tcaswell,谢谢你,现在没问题了。 - user1772257

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接