Plotly Express绘制年份X轴发帖量折线图报错如何解决?
错误原因分析
- 你当前的代码存在3个核心问题:
- 数据集中不存在名为
time的列,你存储时间的列名为date,且未做年份提取处理 titles_values = df["title"].value_counts().sum()计算的是整个数据集的总发帖数(是1个固定数值),不是按年份分组的统计结果- 传入px.line的y参数是单个数值,和x轴的长度不匹配,所以触发了宽格式数据报错
- 数据集中不存在名为
修正后实现代码
import pandas as pd import plotly.express as px # 1. 转换日期格式、提取年份字段 df['date'] = pd.to_datetime(df['date']) df['year'] = df['date'].dt.year # 2. 按年份分组统计每年的发帖量 yearly_post = df.groupby('year', as_index=False)['title'].count() yearly_post.columns = ['year', 'post_count'] # 3. 绘制折线图 fig = px.line(data_frame=yearly_post, x='year', y='post_count', labels={'year':'年份', 'post_count':'发帖量'}, title='年度发帖量趋势') fig.show()
运行代码后X轴会自动对应展示各年份,Y轴展示对应年份的发帖数量,符合你的需求。
内容的提问来源于stack exchange,提问作者Domi
相关产品推荐
相关产品推荐

