在3D matplotlib图

时间:2016-01-15 14:07:15

标签: python matplotlib plot 3d

默认情况下,使用matplotlib在3D中绘制一组点(或其他),垂直定位z轴,如下所示(代码如下):

enter image description here

我需要交换zy轴,以便垂直显示y轴。

我环顾四周但发现无法告诉matplotlib这样做。

添加:我不想在我交换数据和标签的地方求助。这是一个简单的3点3D图,但我必须绘制更复杂的表面。我正在寻找通用解决方案,而不仅仅是散点图。告诉matplotlib垂直放置y轴而不是z轴的一种简单方法是 clean 方法。

MWE

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D


fig = plt.figure()
ax = Axes3D(fig)

ax.scatter([0.2, 0.5, 0.8], [2.3, 0.47, 1.], [2.1, 5.3, 0.7])

ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
plt.show()

2 个答案:

答案 0 :(得分:1)

一种可能性是相应地在数据和标签中交换y和z的位置。而不是

ax.scatter([0.2, 0.5, 0.8], [2.3, 0.47, 1.], [2.1, 5.3, 0.7])

使用

ax.scatter([0.2, 0.5, 0.8], [2.1, 5.3, 0.7], [2.3, 0.47, 1.])

并标记为ax.set_ylabel('z')ax.set_zlabel('y')

答案 1 :(得分:1)

我认为目前尚不可能。 Dates[0].Date = DateTime.Today也需要接受第三个角度。 我在github https://github.com/matplotlib/matplotlib/issues/14453#issue-452397120上提出了一个问题,希望有人致力于实现此功能。