pandas 在SNS折线图中显示折线图上的值

bq3bfh9z  于 2022-12-17  发布在  其他
关注(0)|答案(1)|浏览(390)

我试图注解SNS线图上的值,但我无法注解它。下面是我的线图的代码,

import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib.dates as mdates
fig, ax = plt.subplots(figsize = (12,5))
ax.set_title("Daily Closing Price")
ax.set_ylabel("Values")
ax.set_xlabel("Date")
#ax.tick_params(axis='x', rotation=50)

#ax.set_xticks(Categories)

p1 = sns.lineplot(ax=ax, x='Date', y='Prev Close', data=result, hue='Symbol', markers=True, dashes=False, marker="o")

plt.xticks(rotation=45,horizontalalignment='right',fontweight='light')
locator = mdates.DayLocator(interval=1)
p1.xaxis.set_major_locator(locator)

下图是带注解值的预期输出(我手动注解了值,但我希望在代码中使用):

bxgwgixi

bxgwgixi1#

以下是在折线图上标注值的示例:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

# Data Load
df = pd.DataFrame(data={'Date': ['2022-11-28', '2022-11-29', '2022-11-30', '2022-12-01', '2022-12-02'],
                      'closing_price_1': [ 15, 26, 30, 39, 50],
                      'closing_price_2': [ 12, 18, 23, 33, 41]})

# Create the line plot
ax = sns.lineplot(x="Date", y="closing_price_1", data=df)
ax = sns.lineplot(x="Date", y="closing_price_2", data=df)
plt.ylabel('Values')
plt.title('Daily Closing Price')

# Add annotations
for line in range(0,df.shape[0]):
     ax.text(df.Date[line], df.closing_price_1[line], df.closing_price_1[line], horizontalalignment='left', size='medium', color='black', weight='semibold')
     ax.text(df.Date[line], df.closing_price_2[line], df.closing_price_2[line], horizontalalignment='left', size='medium', color='black', weight='semibold')

应输出如下:

相关问题