0

我是 python 新手,所以请帮助我克服这个问题。

我使用一些随机点绘制了一个 3D 图。绘制后我得到了一个图表但要获得所需的图表,我需要反转 Y 轴。我是用

gg.scatter(Ys1,Xs1,Zs1)

gg = plt.gca()

del Ys1[:],Xs1[:],Zs1[:]

gg.set_xlabel(' Y Label')
gg.set_ylabel(' X Label')
gg.set_zlabel(' Z Label')

plt.gca()invert_yaxis()

我的图表是反转的,但不幸的是我的图中没有显示轴范围。如果我不反转,我会让它们显示出来。

如何显示我的轴范围。

抱歉,我的图表没有超过 10 的声誉,因此无法发布我的图表。

如果这个问题得到解决,我会很高兴。谢谢你。

4

1 回答 1

1

Ram 请考虑上面的评论,因为它们将帮助您获得更好的回复。我试图解释你的代码并给出一个可行的解决方案。

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

# Create data so anyone can run the script
n = 1000

Xs1 = np.random.randint(0,3,n)
Ys1 = np.linspace(0,10,n)
Zs1 = np.exp(Ys1)


# This needs to be BEFORE gg.scatter otherwise it is nonsense
gg = plt.gca(projection="3d")

# This is how I would invert a list
Ys1_inverted = [Ys1[n-1-i] for i in range(n)]

# One can plot either Ys1 or Ys1 inverted here (see images below)
gg.scatter(Xs1,Ys1,Zs1)

gg.set_xlabel(' Y Label')
gg.set_ylabel(' X Label')
gg.set_zlabel(' Z Label')

plt.show()

使用两个不同的列表Ys1Ys1_invertedplot命令中给出以下图像:

使用 Ys1 数据

Ys1_inverted 使用 Ys1_inverted 数据

此方法显示所有轴的正确范围。

于 2013-05-24T08:04:53.007 回答