现在,我想绘制每个患者NEXT的各个图,而不是彼此重叠。因此创建了一个3D图。
我尝试过:
fig = plt.figure()
ax = fig.gca(projection='3d')
x = [i for i in range(10)]
for i in range(115):
y = i
ax.plot(x, dfm.WOMEN.interpolate(method='linear', limit_area = 'inside').loc[:, i], zs=i, zdir='z')
ax.view_init(elev=-150., azim=1000)
plt.show()
尽管关闭此选项,但权重会投影到y轴上,并且每个患者在z轴上都会增加。让我觉得有点奇怪。
[https://i.stack.imgur.com/wlxNE.png](如此)
有人知道我如何在z轴上投影权重并在y轴上显示我的患者吗?
数据: 例如。 (值已经在下面插入)
患者1: [118.0、111.0、104.0、102.42857142857143、100.85714285714286、99.28571428571429、97.71428571428571、96.14285714285714、94.57142857142857、93.0]
患者2: [108.0、97.0、86.0、75.0、69.0、69.0、69.0、69.0、69.0、69.0]
患者3: [105.0,97.0,89.0,85.0,85.0,85.0,85.0,85.0,85.0,85.0]
患者4: [116.0、103.5、91.0、85.0、85.0、85.0、85.0、85.0、85.0、85.0]
患者5: [112.0,108.57142857142857,105.14285714285714,101.71428571428572,98.28571428571429,94.85714285714286,91.42857142857143,88.0,88.0,88.0]
患者6: [148.0,136.33333333333334,124.66666666666667,113.0,112.0,112.0,112.0,112.0,112.0,112.0]
患者7: [114.0、111.0、108.0、105.0、101.66666666666667、98.33333333333333、95.0、91.66666666666667、88.33333333333333、85.0]
(为了便于理解,我在列表中格式化了序列,但在我的计算机中,它位于pandas数据框中)
答案 0 :(得分:1)
我看不到您的数据,因此无法测试此解决方案,但是尝试切换您要传入的内容为y
和z
。像这样:
ax.plot(xs=x,
ys=i,
zs=dfm.WOMEN.interpolate(method='linear', limit_area='inside').loc[:, i],
zdir='z')
另外,请注意,您的代码定义了y = i
,但实际上从未使用过y
。