fig.add_shape和add_annotation的python问题

2024-06-12 18:56:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经写了这段代码,它并没有给我想要的解决方案。谁能帮我一下,告诉我我犯了什么错误

代码: enter image description here

    fig=px.line(df_italy,x='Date',y='infection_rate_italy')
    fig.add_shape(
        dict(
        `enter code here`type="line",
         x0=italy_lockdown_start_date,
         y0=0,
         x1=italy_lockdown_start_date,
         y1=df_italy['infection_rate_italy'].max(),
         line=dict(color='red',width=2)
    )
)
fig.add_annotation(
    dict(
        x= italy_lockdown_start_date,
        y=df_italy['infection_rate_italy'].max(),
        text='starting date of lockdown'
    )
)
fig.show()

我的输出:

enter image description here

我感兴趣的输出是: enter image description here


Tags: 代码adddfdaterate错误linefig
1条回答
网友
1楼 · 发布于 2024-06-12 18:56:52

我会在绘制原始线条时添加悬停文字(在https://plotly.com/python/hover-text-and-formatting/之后)

fig = px.Figure()
fig.add_trace(go.Scatter(
    x=df['date'], # pls, modify accordingly
    y=df['n_cases'], # pls modify accordingly
    hovertemplate= "<b>%{text}</b><br><br>" +
        "Date: %{x|%Y/%m/%d}<br>" +
        "Infection rate: %{y:.0%}<br>" +
        "Population: %{marker.size:,}" +
        "<extra></extra>"
        ))

垂直线部分:

fig=px.line(df_italy,x='Date',y='infection_rate_italy')
fig.add_trace(go.Scatter(
    x=[italy_lockdown_start_date, italy_lockdown_start_date],
    y=[0, df_italy['infection_rate_italy'].max()],
    mode="lines",
    line=go.scatter.Line(color="red"),
    showlegend=False))
fig.add_annotation(
    dict(
        x= italy_lockdown_start_date,
        y=df_italy['infection_rate_italy'].max(),
        text='starting date of lockdown'
    )
)
fig.show()

相关问题 更多 >