小编Xia*_*Liu的帖子

TypeError:__ init __()缺少1个必需的位置参数:'figure'

当我试图通过代码绘制交互式绘图时:

import matplotlib.pyplot as plt
import PyQt5
%matplotlib qt
...
plt.plot(a_list,b_list)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

 --------------------------------------------------------------------------- TypeError                                 Traceback (most recent call
 last) <ipython-input-49-187dd4fead7a> in <module>()
 ----> 1 plt.plot(parameters['eng_list'],np.real(conductivity))
       2 plt.plot(parameters['eng_list'],np.imag(conductivity))
       3 plt.show()

 C:\Anaconda3\lib\site-packages\matplotlib\pyplot.py in plot(*args,
 **kwargs)    3305 @_autogen_docstring(Axes.plot)    3306 def plot(*args, **kwargs):
 -> 3307     ax = gca()    3308     # Deprecated: allow callers to override the hold state    3309     # by passing hold=True|False

 C:\Anaconda3\lib\site-packages\matplotlib\pyplot.py in gca(**kwargs)
     948     matplotlib.figure.Figure.gca : The figure's gca method.
     949     """
 --> 950     return gcf().gca(**kwargs)
     951 
     952 # More …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt matplotlib plt

5
推荐指数
1
解决办法
1688
查看次数

从 SymPy 中的块矩阵构建矩阵

我想要一个看起来像这样的矩阵:

import sympy as sp
sp.Matrix([[1,0,2,0],[0,1,0,2],[1,0,2,0],[0,1,0,2]])
# output
#?1  0  2  0?
#?          ?
#?0  1  0  2?
#?          ?
#?1  0  2  0?
#?          ?
#?0  1  0  2?
Run Code Online (Sandbox Code Playgroud)

我想从块矩阵构造一个新矩阵:

s=sp.eye(2)
sp.Matrix([[s,2*s],[s,2*s]])
# output:
#??1  0?  ?2  0??
#??    ?  ?    ??
#??0  1?  ?0  2??
#?              ?
#??1  0?  ?2  0??
#??    ?  ?    ??
#??0  1?  ?0  2??
Run Code Online (Sandbox Code Playgroud)

输出里面有额外的括号。

一种解决方案是通过sympy.functions.transpose方法:

from sympy.functions import transpose
sp.Matrix([transpose(sp.Matrix([s*i for i in range(1,3)])) for j in range(1,3)])
# output …
Run Code Online (Sandbox Code Playgroud)

python matrix sympy

5
推荐指数
1
解决办法
1618
查看次数

标签 统计

python ×2

matplotlib ×1

matrix ×1

plt ×1

pyqt ×1

qt ×1

sympy ×1