同一图中的两个不同图表

时间:2014-06-17 16:48:55

标签: python python-2.7 matplotlib plot

我想在同一个图中绘制线框和散点图。这就是我的所作所为:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()

ax1 = fig.add_subplot(111, projection='3d')
X, Y, Z = axes3d.get_test_data(0.05)
ax1.plot_wireframe(X, Y, Z, rstride=10, cstride=10)

ax2 = fig.add_subplot(111, projection='3d')
xs = np.array( [ 1, 0 ,2 ])
ys = np.array( [ 1, 0, 2 ])
zs = np.array( [ 1, 2, 3 ])
ax2.scatter(xs, ys, zs)

plt.show()

此脚本仅提供散点图。评论任何块,你会得到未注释的情节。但他们不会一起进入同一个阴谋。

1 个答案:

答案 0 :(得分:3)

再次add_subplot(111)时,您将覆盖上一个子图。只是不要这样做,并在同一轴上绘制两次:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')
X, Y, Z = axes3d.get_test_data(0.05)
ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)

xs = np.array( [ 1, 0 ,2 ])
ys = np.array( [ 1, 0, 2 ])
zs = np.array( [ 1, 2, 3 ])
ax.scatter(xs, ys, zs)

plt.show()