当我试图通过代码绘制交互式绘图时:
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) 我想要一个看起来像这样的矩阵:
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)