如何在Python Seaborn中的lineplot中的每个标记上添加值/标签?

如何在Python Seaborn中的lineplot中的每个标记上添加值/标签?,python,pandas,matplotlib,seaborn,line-plot,Python,Pandas,Matplotlib,Seaborn,Line Plot,我有一个由时间范围、库存和文本计数组成的数据框作为列。数据帧如下所示 Time Stock Text 0 00:00 - 01:00 BBNI 371 1 00:00 - 01:00 BBRI 675 2 00:00 - 01:00 BBTN 136 3 00:00 - 01:00 BMRI 860 4 01:00 - 02:00 BBNI 936 5 01:00 - 02:00 BBRI 1325 6

我有一个由时间范围、库存和文本计数组成的数据框作为列。数据帧如下所示

              Time Stock  Text
0   00:00 - 01:00  BBNI   371
1   00:00 - 01:00  BBRI   675
2   00:00 - 01:00  BBTN   136
3   00:00 - 01:00  BMRI   860
4   01:00 - 02:00  BBNI   936
5   01:00 - 02:00  BBRI  1325
6   01:00 - 02:00  BBTN   316
7   01:00 - 02:00  BMRI  1630
我想用下面的代码绘制一个线形图:

df=tweetdatacom.groupby(["Time","Stock"])[["Text"]].count().reset_index()
plt.figure(figsize=(10,5))
line=sn.lineplot(x="Time", y="Text",hue="Stock",palette=["green","orange","red","blue"],marker="o",data=df)
plt.xticks(size=5,rotation=45, horizontalalignment='right',fontweight='light',fontsize='large')
plt.xlabel('Time Interval',size=12)
plt.ylabel('Total Tweets',size=12)
这是我通过代码得到的结果:

现在,我想把每个标记的值放在绘图上,我怎么做


非常感谢您

使用
ax.text
循环浏览大量数据。我只是用提供给我的数据创建这个,所以我省略了一些处理

import pandas as pd
import numpy as np
import io

data = '''
 Time Stock Text
0 "00:00 - 01:00"  BBNI 371
1 "00:00 - 01:00"  BBRI 675
2 "00:00 - 01:00"  BBTN 136
3 "00:00 - 01:00"  BMRI 860
4 "01:00 - 02:00"  BBNI 936
5 "01:00 - 02:00"  BBRI 1325
6 "01:00 - 02:00"  BBTN 316
7 "01:00 - 02:00"  BMRI 1630
'''

df = pd.read_csv(io.StringIO(data), sep='\s+')
import seaborn as sn
import matplotlib.pyplot as plt
# df=tweetdatacom.groupby(["Time","Stock"])[["Text"]].count().reset_index()

plt.figure(figsize=(10,5))

palette = ["green","orange","red","blue"]
line=sn.lineplot(x="Time", y="Text",hue="Stock",palette=palette, marker="o", data=df)

plt.xticks(size=5,rotation=45, horizontalalignment='right',fontweight='light',fontsize='large')
plt.xlabel('Time Interval',size=12)
plt.ylabel('Total Tweets',size=12)

for item, color in zip(df.groupby('Stock'),palette):
    for x,y,m in item[1][['Time','Text','Text']].values:
#         print(x,y,m)
        plt.text(x,y,m,color=color)

谢谢!它起作用了!我试图找到任何与此标签相关的文献,但找不到任何。。