将旧的情节代码转换为新版本。我不知道/不明白怎么做

Posted

技术标签:

【中文标题】将旧的情节代码转换为新版本。我不知道/不明白怎么做【英文标题】:Converting old plotly code to newer version.I don't know/understand how to do it 【发布时间】:2021-08-19 18:58:12 【问题描述】:
import plotly.plotly as py
from plotly.graph_objs import*


trace1=Scatter3d(x=Xe,y=Ye,z=Ze,mode='lines',line=Line(color='rgb(125,125,125)', width=1),hoverinfo='none')

trace2=Scatter3d(x=Xn,
               y=Yn,
               z=Zn,
               mode='markers',
               name='actors',
               marker=Marker(symbol='dot',
                             color=eigen,
                             size=6,colorbar=ColorBar(
                title='Colorbar'
            ),
                             colorscale='Viridis',
                             line=Line(color='rgb(158,18,130)', width=0.5)
                             ),
               text=labels,
               hoverinfo='text'
               )

axis=dict(showbackground=False,
          showline=False,
          zeroline=False,
          showgrid=False,
          showticklabels=False,
          title=''
          )

layout = Layout(
         title="3D Visualization of the Facebook nodes",
         width=1000,
         height=1000,
         showlegend=False,
         scene=Scene(
         xaxis=XAxis(axis),
         yaxis=YAxis(axis),
         zaxis=ZAxis(axis),
        ),
     margin=Margin(
        t=100
    ),
    hovermode='closest',
    annotations=Annotations([
           Annotation(
           showarrow=False,
#             text="Data source: <a href='http://bost.ocks.org/mike/miserables/miserables.json'>[1] miserables.json</a>",
            xref='paper',
            yref='paper',
            x=0,
            y=0.1,
            xanchor='left',
            yanchor='bottom',
            font=Font(
            size=14
            )
            )
        ]),    )

data=Data([trace1, trace2])
fig=Figure(data=data, layout=layout)

py.iplot(fig)

> Blockquote

我有一段旧的 plotly 代码,我收到一条错误消息,指出 plotly 已迁移到图表工作室,我刚刚开始了一个网络分析项目,并且为了可视化我已经拥有的所述/给定数据是在旧版本的 plotly 中完成。请帮助我查看了 plotly 文档,但我不明白它的工作原理。

【问题讨论】:

plotly.com/python/v4-migration/… 您可以使用它来帮助您开始如何更改新版本的代码 【参考方案1】:

两个核心建议

    使用字典而不是对象(即不需要MarginData等) 使用标准导入 import plotly.graph_objects as go 提高对象范围的清晰度

我预先定义了您的代码使用的变量。 dot 不再是一个有效的标记 symbol 替换为 square

import plotly.graph_objects as go

# define some input data...
t = np.linspace(0, 10, 50)
Xe, Ye, Ze = np.cos(t), np.sin(t), t
Xn = Xe * 2
Yn = Ye * 2
Zn = Ze * 2
eigen = t
labels = ["a"]

trace1 = go.Scatter3d(
    x=Xe,
    y=Ye,
    z=Ze,
    mode="lines",
    line=dict(color="rgb(125,125,125)", width=1),
    hoverinfo="none",
)

trace2 = go.Scatter3d(
    x=Xn,
    y=Yn,
    z=Zn,
    mode="markers",
    name="actors",
    marker=dict(
        symbol="square",
        color=eigen,
        size=6,
        colorbar=dict(title="Colorbar"),
        colorscale="Viridis",
        line=dict(color="rgb(158,18,130)", width=0.5),
    ),
    text=labels,
    hoverinfo="text",
)

axis = dict(
    showbackground=False,
    showline=False,
    zeroline=False,
    showgrid=False,
    showticklabels=False,
    title="",
)

layout = go.Layout(
    title="3D Visualization of the Facebook nodes",
    width=1000,
    height=1000,
    showlegend=False,
    scene=dict(
        xaxis=axis,
        yaxis=axis,
        zaxis=axis,
    ),
    margin="t": 100,  # go.Margin(t=100),
    hovermode="closest",
    annotations=[
        dict(
            showarrow=False,
            text=
            "Data source: <a href='http://bost.ocks.org/mike/miserables/miserables.json'>[1] miserables.json</a>",
            xref="paper",
            yref="paper",
            x=0,
            y=0.1,
            xanchor="left",
            yanchor="bottom",
            font=dict(size=14),
        )
    ],
)

fig = go.Figure(data=[trace1, trace2], layout=layout)
fig

【讨论】:

以上是关于将旧的情节代码转换为新版本。我不知道/不明白怎么做的主要内容,如果未能解决你的问题,请参考以下文章

将旧的时间字符串转换为新的string时间字符串

无法将旧 Google Play 服务库更新为较新版本

MSAccess.SysCmd 将旧 mdb 转换为 accdb,在 vb.net vs2019

将旧的mac完全改成linux系统

如何使用 Daffodil 将旧的 VC6 项目移动到 VS2010

access 下拉列表联动