1

我正在尝试使用 Python 的 matplotlib.pyplot 子图绘制数据集 U(x,t) 和 V(x,t)。我想手动设置第一个子图的轴,而第二个子图可以选择自己的轴:

import matplotlib.pyplot as plt

plt.subplot(121)
plt.pcolor(xx,tt,U)
plt.colorbar()
plt.axes([0,600,0,100])
plt.subplot(122)
plt.pcolor(xx,tt,V)
plt.colorbar()
plt.show()

但是,这似乎对更改第一个子图的轴没有影响。此外,在情节生成后,我得到一个广泛的错误:

Exception in Tkinter callback
...
...
raise LinAlgError('Singular matrix')
numpy.linalg.linalg.LinAlgError: Singular matrix

但是,当我从代码中删除上述绘图命令时,错误消失了。有什么想法吗?

4

1 回答 1

1

您可以尝试调整 xlim 和 ylim 属性,而不是尝试设置轴本身:

import matplotlib.pyplot as plt
from numpy import *
xx = arange(0,700,30)
tt = arange(0,100,5)
U = outer(xx,tt)
V = outer(xx**(1/2),tt/4)
plt.subplot(121)
plt.pcolor(tt,xx,U)
plt.colorbar()
#plt.axes([0,600,0,100])

plt.xlim(0,100)
plt.ylim(0,600)

plt.subplot(122)
plt.pcolor(tt,xx,V)
plt.colorbar()

plt.show()

脚本输出

于 2013-01-03T20:22:09.597 回答