Dan*_*len 4 matplotlib subplot mplot3d
所以我试图创建一个数字,从数据点呈现一个3d图,以及3个其他子图中的3个投影图.我可以毫无问题地为投影添加子图,但是当我尝试将3维图放入图中时,事情会适得其反.
这是我的代码:
def plotAll(data):
fig = plt.figure()
plot_3d = fig.add_subplot(221)
ax = Axes3D(plot_3d)
for i,traj in enumerate(data.values()):
ax.plot3D([traj[0][-1]],[traj[1][-1]],[traj[2][-1]],".",color=[0.91,0.39,0.046])
#plot_12v13 = fig.add_subplot(222)
#plot_projections(data,0,1)
#plot_13v14 = fig.add_subplot(223)
#plot_projections(data,1,2)
#plot_12v14 = fig.add_subplot(224)
#plot_projections(data,0,2)
#plt.plot()
Run Code Online (Sandbox Code Playgroud)
抛出:'AxesSubplot'对象没有属性'transFigure'
我正在使用matplotlib 0.99.3,非常感谢任何帮助,谢谢!
Pra*_*rma 19
如果您想使用plt.subplots而不是(请参阅此处的plt.subplot区别),那么您可以执行以下操作:
import matplotlib.pyplot as plt
from matplotlib import cm # for a scatter plot
from mpl_toolkits.mplot3d import Axes3D
fig, ax = plt.subplots(1,2,figsize=(10,10),subplot_kw=dict(projection='3d'))
sc1 = ax[0].scatter(x,y,z, c = true, cmap=cm.jet)
ax[0].set_title('True solution')
sc2 = ax[1].scatter(x,y,z c = y_pred, cmap=cm.jet)
ax[1].set_title('Predicted Solution')
Run Code Online (Sandbox Code Playgroud)
嗯,我不知道如何使用plt.subplots. 如果有人可以发表评论,那将会很有帮助。
Xid*_*dus 10
我正在寻找一种方法来使用漂亮的fig, axes = plt.subplots(...)快捷方式创建我的3D图,但由于我刚刚浏览了Matplotlib的mplot3d教程,我想从这个网站的顶部分享一个引用.
版本1.0.0中的新功能:此方法是创建3D轴的首选方法.
Run Code Online (Sandbox Code Playgroud)import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = fig.add_subplot(111, projection='3d')注意
在1.0.0版之前,创建3D轴的方法不同.对于那些使用旧版matplotlib的人,将ax = fig.add_subplot(111,projection ='3d')更改为ax = Axes3D(图).
因此,如果您必须使用<1.0.0版本的Matplotlib,则应将其考虑在内.
创建 3D 轴的首选方法是给出关键字projection:
def plotAll(data):
fig = plt.figure()
ax = fig.add_subplot(221, projection='3d')
for i,traj in enumerate(data.values()):
ax.plot3D([traj[0][-1]],[traj[1][-1]],[traj[2][-1]],".",color=[0.91,0.39,0.046])
plot_12v13 = fig.add_subplot(222)
plot_projections(data,0,1)
plot_13v14 = fig.add_subplot(223)
plot_projections(data,1,2)
plot_12v14 = fig.add_subplot(224)
plot_projections(data,0,2)
plt.plot()
Run Code Online (Sandbox Code Playgroud)
不幸的是,您没有提供包含合适数据的工作示例,因此我无法测试代码。另外,我建议更新到较新版本的 matplotlib。
| 归档时间: |
|
| 查看次数: |
9560 次 |
| 最近记录: |