12
在下面的代码中,如何创建由两行代码创建的连接每对散点图的线(即将绿色圆圈连接到黄色箭头) .show()指令之前的结束?用Python和matplotlib连接三维散点图中的两点
import matplotlib.pyplot
from mpl_toolkits.mplot3d import Axes3D
dates = [20020514, 20020515, 20020516, 20020517, 20020520]
highs = [1135, 1158, 1152, 1158, 1163]
lows = [1257, 1253, 1259, 1264, 1252]
upperLimits = [1125.0, 1125.0, 1093.75, 1125.0, 1125.0]
lowerLimits = [1250.0, 1250.0, 1156.25, 1250.0, 1250.0]
zaxisvalues0= [0, 0, 0, 0, 0]
zaxisvalues1= [1, 1, 1, 1, 1]
zaxisvalues2= [2, 2, 2, 2, 2]
fig = matplotlib.pyplot.figure()
ax = fig.add_subplot(111, projection = '3d')
ax.plot(dates, zaxisvalues1, lowerLimits, color = 'b')
ax.plot(dates, zaxisvalues2, upperLimits, color = 'r')
ax.scatter(dates, zaxisvalues0, highs, color = 'g', marker = "o")
ax.scatter(dates, zaxisvalues0, lows, color = 'y', marker = "^")
matplotlib.pyplot.show()
棒极了!谢谢,马克。我从来没有意识到我可以随意绘制个别点(而不是数组或列表中的一系列)。现在如果我想绘制一个矩形而不是一条线,该怎么办?我试图在“for”循环中将“ax.plot”更改为“ax.bar”,但是我得到的是斜线。有没有办法绘制一个矩形?提前致谢。 – Zambi
@赞比欢迎来到Stackoverflow!与其解决额外的问题,不如问一个新问题更有意义。 – Hooked
Zambi,正如@Hooked所说,最好打开一个新的问题,以便更大的社区可以看到它。快速看起来,虽然你有两个选择,绘制矩形的四边用“绘图”线或使用PolyCollection(http://matplotlib.sourceforge.net/examples/mplot3d/polys3d_demo.html) – Mark