3D-график поверхности никогда не показывает никаких данных - PullRequest
2 голосов
/ 13 апреля 2019

На графике трехмерной поверхности никогда не отображаются данные, я отображаю график, но на графике ничего не отображается, как если бы я строил пустой фрейм данных.

Сначала япопробовал что-то вроде решения, которое я нашел здесь ( Plotly Plot surface 3D не отображается ), но получило тот же результат, другой график без данных.

df3 = pd.DataFrame({'x':[1, 2, 3, 4, 5],'y':[10, 20, 30, 40, 50],'z': [5, 4, 3, 2, 1]})
iplot(dict(data=[Surface(x=df3['x'], y=df3['y'], z=df3['z'])]))

И поэтому я попробовал кодна сюжетном веб-сайте (первая ячейка этой записной книжки: https://plot.ly/python/3d-scatter-plots/), точно так же, как там, просто чтобы посмотреть, сработал ли их пример, но я получаю ошибку.

Я получаю это:

https://lh3.googleusercontent.com/sOxRsIDLVkBGKTksUfVqm3HtaSQAN_ybQq2HLA-aclzEU-9ekmvd1ETdfsswC2SdbysizOI=s151

Но я должен получить это:

https://lh3.googleusercontent.com/5Hy2Z-97_vwd3ftKBA6dYZfikJHnA-UMEjd3PHvEvdBzw2m2zeEHBtneLC1jzO3RmE2lyw=s151

Наблюдение: не удалось опубликовать изображения из-за отсутствия репутации.

1 Ответ

0 голосов
/ 14 апреля 2019

Чтобы построить поверхность, вы должны указать значение для каждой точки.В этом случае ваши x и y представляют собой серии размером 5, это означает, что ваш z должен иметь форму (5, 5).

Если бы у меня было немного больше информации, я мог бы датьВы более подробно, но для минимального рабочего примера попробуйте передать (5, 5) массив данных, массив Numpy или даже список списков в значение z данных.

РЕДАКТИРОВАТЬ:

В среде ноутбука у меня работает следующий код:

from plotly import offline
from plotly import graph_objs as go
offline.init_notebook_mode(connected=False)

df3 = {'x':[1, 2, 3, 4, 5],'y':[10, 20, 30, 40, 50],'z': [[5, 4, 3, 2, 1]]*5}
offline.iplot(dict(data=[go.Surface(x=df3['x'], y=df3['y'], z=df3['z'])]))

, как показано здесь:

enter image description here

Я использую сюжет 3.7.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...