在下面的代码中,如何在.show()指令之前创建连接由两行代码创建的每对散点图(即将绿色圆圈连接到黄色箭头)的行连接到末尾的行?
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 = …Run Code Online (Sandbox Code Playgroud) 我有一大堆数据,我试图在3D中表示希望发现一个模式.我花了很长时间阅读,研究和编码,但后来我意识到我的主要问题不是编程,而是实际上选择了一种可视化数据的方法.
Matplotlib的mplot3d提供了很多选项(线框,轮廓,填充轮廓等),MayaVi也是如此.但是有很多选择(每个都有自己的学习曲线),我几乎迷失了,不知道从哪里开始!所以我的问题基本上是你必须处理这些数据时使用哪种绘图方法?
我的数据是基于日期的.对于每个时间点,我绘制一个值(列表'Actual').
但是对于每个时间点,我也有一个上限,一个下限和一个中间点.这些限制和中点基于种子,在不同的平面上.
我希望在我的"实际"读数中发生重大变化时或之前发现该点或识别模式.是在所有飞机的上限都满足时?或者彼此接近?当实际值接触上/中/下限时?是否在一个平面上的Uppers触及另一架飞机的降落时?
在我粘贴的代码中,我将数据集简化为几个元素.我只是使用简单的散点图和线图,但由于数据集的大小(可能是mplot3d的限制?),我无法用它来发现我正在寻找的趋势.
dates = [20110101,20110104,20110105,20110106,20110107,20110108,20110111,20110112]
zAxis0= [ 0, 0, 0, 0, 0, 0, 0, 0]
Actual= [ 1132, 1184, 1177, 950, 1066, 1098, 1116, 1211]
zAxis1= [ 1, 1, 1, 1, 1, 1, 1, 1]
Tops1 = [ 1156, 1250, 1156, 1187, 1187, 1187, 1156, 1156]
Mids1 = [ 1125, 1187, 1125, 1156, 1156, 1156, 1140, 1140]
Lows1 = [ 1093, 1125, 1093, 1125, 1125, 1125, 1125, 1125]
zAxis2= [ 2, 2, 2, 2, …Run Code Online (Sandbox Code Playgroud) 我有一个三维散点图,在其中一个平面上,每个日期绘制2个点.我问过如何在每对点之间绘制一条LINE,并得到了一个我很感激的答案.我现在想要的是画一个BAR或RECTANGLE连接点而不是一条线.
这是目前情节的样子,但我希望它看起来有点像来自matplolib文档的3D条形演示中的情节,除了条形"浮动"而不是固定在轴上.
我尝试过使用Axes3D.bar(如在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 = …Run Code Online (Sandbox Code Playgroud)