微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 python 3d 绘图绘制错误

如何解决使用 python 3d 绘图绘制错误

我正在使用 plotlypython 来可视化 3D 数据,但在绘制某些数据时遇到了一个奇怪的现象。以下代码(3,20) 形式的数据分别可视化为 x、y 和 z 方向。

import numpy as np
import plotly.io as pio
import plotly.graph_objects as go

data = np.array([
    [4.41568822e+05,4.41568474e+05,4.41567958e+05,4.41567603e+05,4.41567249e+05,4.41566952e+05,4.41566619e+05,4.41566324e+05,4.41566021e+05,4.41565737e+05,4.41565435e+05,4.41565098e+05,4.41564807e+05,4.41564472e+05,4.41564121e+05,4.41563860e+05,4.41563538e+05,4.41563226e+05,4.41562933e+05,4.41562641e+05],[5.71148897e+06,5.71148909e+06,5.71148928e+06,5.71148942e+06,5.71148955e+06,5.71148967e+06,5.71148981e+06,5.71148993e+06,5.71149006e+06,5.71149019e+06,5.71149032e+06,5.71149047e+06,5.71149060e+06,5.71149076e+06,5.71149093e+06,5.71149106e+06,5.71149122e+06,5.71149137e+06,5.71149153e+06,5.71149168e+06],[1.86559470e+02,1.86547226e+02,1.86529120e+02,1.86516642e+02,1.86504156e+02,1.86493615e+02,1.86481706e+02,1.86471064e+02,1.86460026e+02,1.86449593e+02,1.86438417e+02,1.86425803e+02,1.86414828e+02,1.86402073e+02,1.86388572e+02,1.86378511e+02,1.86366018e+02,1.86353893e+02,1.86342497e+02,1.86331154e+02]])

fig = go.figure(data=[go.Scatter3d(x=data[0,:],y=data[1,z=data[2,mode='markers',marker=dict(size=3),)])

pio.show(fig,renderer='browser')

我将下面的结果(顶部)与相同数据的 matplotlib 图(底部)进行了比较。

表示相对直线的点在 Plotly 中是按步骤表示的,而不是一条线,我真的不明白为什么。

有人可以向我解释为什么这些点会以这种方式显示,我该如何解决这个问题? 我很感激我能得到的任何帮助!

解决方法

看起来像 Plotly 如何解释你的 numpy 数组的问题。您的数组看起来是嵌套的,这可以解释为什么不是将绘图绘制为连续线,而是将它们呈现为步骤。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?