使用Plotly散点图制作每日余额报表仅展示最近6天数据问询
解决方案
操作步骤如下:
- 先将
Date列从字符串格式转换为datetime日期格式,保证可以正确识别时间先后 - 按日期升序排序后取最后6行,即为最近6天的数据,也可以根据需求用固定时间区间筛选
- 使用筛选后的数据集绘制图表即可
修改后的完整代码如下:
import pandas as pd import plotly.graph_objects as go df1 = pd.DataFrame({ 'Date': ['23/09/2021','24/09/2021','25/09/2021','26/09/2021','27/09/2021','28/09/2021','29/09/2021'], 'Balance': [1000,1050,950,875,930,1025,975] }) # 转换日期格式 df1['Date'] = pd.to_datetime(df1['Date'], format='%d/%m/%Y') # 按日期排序 df1 = df1.sort_values('Date', ascending=True) # 取最近6天数据 df_recent = df1.tail(6) # 若需要固定时间区间筛选,可替换为以下代码 # start_date = pd.to_datetime('24/09/2021', format='%d/%m/%Y') # end_date = pd.to_datetime('29/09/2021', format='%d/%m/%Y') # df_recent = df1[(df1['Date'] >= start_date) & (df1['Date'] <= end_date)] fig = go.Figure() fig.add_trace(go.Scatter( x=df_recent['Date'], y=df_recent['Balance'], mode='lines+markers+text', text=df_recent['Balance'], textposition='top center' )) fig.update_traces(texttemplate='%{text:,}') fig.update_layout( title={'text':"Daily balance",'x':0.5,'xanchor':'center'}, plot_bgcolor='rgba(0,0,0,0)' ) # 配置x轴日期显示格式和样式 fig.update_xaxes( showline=False, showgrid=False, tickformat='%d/%m/%Y' # 保持日期显示为日/月/年格式 ) fig.update_yaxes(showline=False,showgrid=False) fig.show()
内容的提问来源于stack exchange,提问作者hoa tran
相关产品推荐
相关产品推荐

