制作多年来单词使用的时间序列

Making a time series of word usage over years

我正在尝试制作一个时间序列图,其中包含多年来的单词使用情况。我的代码基于第一个示例:https://plotly.com/python/time-series/?fbclid=IwAR3SZhp7U9pBfdnIyDOnfPdnNkFQXatiysHvhkbAMHbDnkfeFQq0rbN8kj4

在我的数据集中,如下所示:

,

我用 pd.DataFrame 生成列和单词作为行。我希望年份在 x 轴上上升,计数在 y 轴上上升。我希望每个单词在情节中都有自己的线条。到目前为止我的代码是:

import pandas as pd
import plotly.io as pio
pio.renderers.default='browser'
data = pd.read_csv("tabledata.csv")
justcolumns=pd.read_csv("tabledata.csv",index_col=[0])
columnnames=[]
for column in justcolumns.columns:
    columnnames.append(column)

import plotly.express as px

df = px.data.stocks()
fig = px.line(data, x=data.index, y=columnnames)
fig.show()

其中:

justcolumns=pd.read_csv("tabledata.csv",index_col=[0])
columnnames=[]
for column in justcolumns.columns:
    columnnames.append(column)

是一个能够 运行 具有明显“宽数据集”的代码的修复程序。但是我不确定 x 和 y 的输入应该是什么

fig = px.line(data, x=data.index, y=columnnames)

或者如果我需要添加任何其他信息以获得多行。现在我确实得到了 y 轴上的值,但 x 轴是文字,颜色是年份,这几乎与我想要的相反。下面附上输出。有什么想法吗?

如果要x轴是年份,y轴是频率数,着色是单词,可以设置x='year',y='freq',color='word' 得到想要的图形。在 official reference.

中查看
import pandas as pd

df = pd.read_csv('tabledata.csv',sep=',', index_col=0)
df = df.stack().reset_index().rename(columns={'level_0':'word','level_1':'year',0:'freq'})

import plotly.express as px

fig = px.line(df, x='year', y='freq', color='word', symbol='word')

fig.show()