如何通过plotly从streamlit折线图中删除重复的日期?

问题描述 投票:0回答:1

我有以下折线图:

通过此代码:

import streamlit as st
import plotly.express as px
import pandas as pd

df = pd.DataFrame()
fig_col1, fig_col2,fig_col3 = st.columns(3)

with fig_col1:
    st.markdown("### First Chart")
    fig = px.line(df, y='revenue', x="calendar_date")
    fig.update_layout(xaxis=dict(tickformat="%m-%d"))
    st.plotly_chart(fig, use_container_width=True)

如何删除重复的日期值?数据不重复任何日期,但出现空日期。当我将鼠标悬停在第二个

07-20
上时,没有显示任何数据。我不知道为什么会出现这种情况。

我希望 x 轴日期各只有 1 个。例如

07-20
只能写一次。

date plotly streamlit
1个回答
2
投票

之所以不会发生这种情况,是因为存在重复的日期 - 数据中的日期时间看起来像是发生在 7-20、7-21 和 7-22,但图表的默认缩放设置是这样的: 7-20 和 7-21 之间的额外刻度线出现在

7-20-22 12:00:00
,但由于
tickformat="%m-%d"
仅显示月份和日期,因此小时被截断。

根据您想要查看的内容,您可以设置

tickformat="%m-%d-%h"
,以便小时也可见。

或者,如果您只想查看当天,无论放大多远,您可以使用

fig.update_xaxes(dtick="D1")
强制刻度线相隔 1 天。有关 dtick 的一些进一步文档可以在here找到。

© www.soinside.com 2019 - 2024. All rights reserved.