Python 3d 图与 matplotlib
Python 3d diagram with matplotlib
我正在尝试创建受 this one 和 Python 启发的图表。
代码如下:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
V = np.linspace(0.01, 1000, 500)
T = np.linspace(0.01, 1000, 500)
#n = 1. #one mole graph
R = 0.0821
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
V, T = np.meshgrid(V,T)
P = R*T/V
ax.plot_wireframe(V, T, P, rstride=50, cstride=50)
ax.set_xlabel('Volume')
ax.set_ylabel('Temperature')
ax.set_zlabel('Pressure')
plt.show()
我得到的剧情是this。我不知道我做错了什么。
老实说,我不确定你想做的事情背后的数学原理,但在我看来你的 P 值趋向于无穷大接近 0,所以图表不 "scale" 好。例如,如果您取值范围为 1 到 5,则绘图看起来像这样
这似乎更像您作为参考的图像。
我正在尝试创建受 this one 和 Python 启发的图表。
代码如下:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
V = np.linspace(0.01, 1000, 500)
T = np.linspace(0.01, 1000, 500)
#n = 1. #one mole graph
R = 0.0821
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
V, T = np.meshgrid(V,T)
P = R*T/V
ax.plot_wireframe(V, T, P, rstride=50, cstride=50)
ax.set_xlabel('Volume')
ax.set_ylabel('Temperature')
ax.set_zlabel('Pressure')
plt.show()
我得到的剧情是this。我不知道我做错了什么。
老实说,我不确定你想做的事情背后的数学原理,但在我看来你的 P 值趋向于无穷大接近 0,所以图表不 "scale" 好。例如,如果您取值范围为 1 到 5,则绘图看起来像这样
这似乎更像您作为参考的图像。