使用来自matplotlib的maplot3d的3D图

时间:2012-01-29 12:47:31

标签: python matplotlib plot

我必须绘制以下格式的数据:

x = range(6)
y = range(11)

z 取决于 x y

对于 x 的每个值,应该有一条连续曲线,显示 z wrt y 的变化以及不同值的曲线 x 必须断开连接

我正在使用mplot3d并且不清楚如何绘制断开连接的曲线。

这就像使用条形图一样。 enter image description here

1 个答案:

答案 0 :(得分:6)

您可以使用Axes3D.plot覆盖多个绘图:

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

x = np.arange(6)
y = np.linspace(0, 11, 50)
z = x[:, np.newaxis] + y**2

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection = '3d')
for xval, zrow in zip(x, z):
    ax.plot(xval*np.ones_like(y), y, zrow, color = 'black')
plt.show()

enter image description here