使用 Python 绘制每个节点的值
Plotting value of each node using Python
我想在 y 轴上绘制矩阵 A
的值作为 x 轴上节点数的函数。但是,由于我有一个 5x5 矩阵,我不想手动定义节点编号。比如节点1对应2.53734572e-01,节点2对应-1.08940733e-01,...,节点6对应-5.02000098e-01等等。
import numpy as np
import matplotlib.pyplot as plt
Node=np.array([[1,2,3,4,5],[6,7,8,9,10]])
A=np.array([[ 2.53734572e-01, -1.08940733e-01, 3.26138649e-03,
-6.10246692e-03, -2.59115145e-02],
[-5.02000098e-01, 1.08933714e-01, -3.65540228e-02,
5.93536044e-03, 3.88767438e-02],
[-1.42775456e+00, 4.52103243e-01, -2.33067190e-02,
7.27554880e-03, 1.15638039e-01],
[ 4.81030592e-01, -8.91302226e-02, 1.40486724e-03,
2.28801066e-02, -3.83389182e-02],
[ 8.39965176e-01, -2.81589587e-01, 2.24843962e-01,
-8.47758268e-03, -6.84721033e-02]])
plt.scatter(Node, A)
plt.xlabel('Node')
plt.ylabel('Velocity')
我们可以将矩阵降为一维,对矩阵的长度使用numpy.arange:
import numpy as np
import matplotlib.pyplot as plt
ys=np.array([[ 2.53734572e-01, -1.08940733e-01, 3.26138649e-03,
-6.10246692e-03, -2.59115145e-02],
[-5.02000098e-01, 1.08933714e-01, -3.65540228e-02,
5.93536044e-03, 3.88767438e-02],
[-1.42775456e+00, 4.52103243e-01, -2.33067190e-02,
7.27554880e-03, 1.15638039e-01],
[ 4.81030592e-01, -8.91302226e-02, 1.40486724e-03,
2.28801066e-02, -3.83389182e-02],
[ 8.39965176e-01, -2.81589587e-01, 2.24843962e-01,
-8.47758268e-03, -6.84721033e-02]]).flatten()
nodes=np.arange(len(ys))
plt.scatter(nodes, ys)
plt.xlabel('Node')
plt.ylabel('Velocity')
plt.show()
我想在 y 轴上绘制矩阵 A
的值作为 x 轴上节点数的函数。但是,由于我有一个 5x5 矩阵,我不想手动定义节点编号。比如节点1对应2.53734572e-01,节点2对应-1.08940733e-01,...,节点6对应-5.02000098e-01等等。
import numpy as np
import matplotlib.pyplot as plt
Node=np.array([[1,2,3,4,5],[6,7,8,9,10]])
A=np.array([[ 2.53734572e-01, -1.08940733e-01, 3.26138649e-03,
-6.10246692e-03, -2.59115145e-02],
[-5.02000098e-01, 1.08933714e-01, -3.65540228e-02,
5.93536044e-03, 3.88767438e-02],
[-1.42775456e+00, 4.52103243e-01, -2.33067190e-02,
7.27554880e-03, 1.15638039e-01],
[ 4.81030592e-01, -8.91302226e-02, 1.40486724e-03,
2.28801066e-02, -3.83389182e-02],
[ 8.39965176e-01, -2.81589587e-01, 2.24843962e-01,
-8.47758268e-03, -6.84721033e-02]])
plt.scatter(Node, A)
plt.xlabel('Node')
plt.ylabel('Velocity')
我们可以将矩阵降为一维,对矩阵的长度使用numpy.arange:
import numpy as np
import matplotlib.pyplot as plt
ys=np.array([[ 2.53734572e-01, -1.08940733e-01, 3.26138649e-03,
-6.10246692e-03, -2.59115145e-02],
[-5.02000098e-01, 1.08933714e-01, -3.65540228e-02,
5.93536044e-03, 3.88767438e-02],
[-1.42775456e+00, 4.52103243e-01, -2.33067190e-02,
7.27554880e-03, 1.15638039e-01],
[ 4.81030592e-01, -8.91302226e-02, 1.40486724e-03,
2.28801066e-02, -3.83389182e-02],
[ 8.39965176e-01, -2.81589587e-01, 2.24843962e-01,
-8.47758268e-03, -6.84721033e-02]]).flatten()
nodes=np.arange(len(ys))
plt.scatter(nodes, ys)
plt.xlabel('Node')
plt.ylabel('Velocity')
plt.show()