внешние точки данных все еще строятся после наложения осей в matplotlib scatter3D? - PullRequest
0 голосов
/ 14 июля 2011

Я только начинаю изучать python, и недавно пытался создать трехмерный график рассеяния с моим набором данных, используя matplotlib.Поскольку мои данные настолько разбросаны (диапазон x = (от 1 до 20000)), я попытался установить ограничения по оси X, чтобы показать только точки данных, где x <1000. Однако, когда я пытаюсь установить пределы по оси, я все еще вижуточки, которые больше, чем х = 1000 на графике.Я не могу понять, почему он это делает, и не смог найти ответ по поиску в интернете: (</p>

Это своего рода упрощенный пример того, что я сделал ... Когда я применяюОсь X ограничена 2, я все еще вижу, как строится точка (3,3,3). Почему она это делает и что я делаю неправильно?

СПАСИБО ОГРОМНОЕ заранее !!!!


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

fig = plt.figure()
ax = fig.gca(projection='3d')

xs = [1,2,3,5,11]
ys = [1,2,3,4,5]
zs = [1,2,3,4,5]

ax.scatter3D(xs, ys, zs, c="blue")

ax.set_xlim3d([0,2])
ax.set_ylim3d([0,5])
ax.set_zlim3d([0,5])

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

plt.show()

1 Ответ

1 голос
/ 19 июля 2011

Следующее работает хорошо для меня. У вас только что была небольшая ошибка в вызове set_xlim3d. Посмотрите здесь для получения дополнительной документации.

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

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

xs = [1,2,3,5,11]
ys = [1,2,3,4,5]
zs = [1,2,3,4,5]

ax.scatter(xs, ys, zs, c="blue")

ax.set_xlim3d(0,2)
ax.set_ylim3d(0,5)
ax.set_zlim3d(0,5)

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...