You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Plotly绘制历年词频变化的时间序列折线图

修正方案

你的问题核心是数据集结构和绘图参数不匹配:当前数据集行对应单词、列对应年份,你直接将行索引作为x轴、年份列作为y轴取值,自然会得到轴标签颠倒的结果。以下是两种可直接运行的修正方案:

方案1:转为长格式绘图(更推荐,逻辑更清晰)

import pandas as pd
import plotly.io as pio
import plotly.express as px

pio.renderers.default='browser'
# 读取数据时将第一列(单词列)设为索引后重置为普通列
df = pd.read_csv("tabledata.csv", index_col=0).reset_index(names="单词")
# 转为长格式:每一行对应 单词-年份-词频 一组数据
df_long = df.melt(id_vars="单词", var_name="年份", value_name="词频计数")

# 绘图,自动按单词生成不同颜色的折线
fig = px.line(df_long, 
              x="年份", 
              y="词频计数", 
              color="单词",
              title="词频随年份变化趋势")
# 可选:保证年份按文本顺序排列
fig.update_xaxes(type='category')
fig.show()

方案2:转置宽表适配原有逻辑

import pandas as pd
import plotly.io as pio
import plotly.express as px

pio.renderers.default='browser'
# 读取数据时将第一列(单词列)设为索引
df = pd.read_csv("tabledata.csv", index_col=0)
# 转置数据集:转置后行对应年份,列对应单词
df_t = df.T.reset_index(names="年份")

fig = px.line(df_t, 
              x="年份", 
              y=df.columns.tolist(),
              labels={"value": "词频计数", "variable": "单词"})
fig.update_xaxes(type='category')
fig.show()

两种方案都可以实现X轴为年份、Y轴为词频、每个单词对应一条折线的需求,运行前不需要额外修改其他配置。


内容的提问来源于stack exchange,提问作者Youngun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:54:04