如何解决使用 python 3d 绘图绘制错误
我正在使用 plotly
和 python
来可视化 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 举报,一经查实,本站将立刻删除。