向图中添加数字

2024-09-27 02:26:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经创建了一个漂亮的棒棒糖图,y轴是国家,x轴是数值

Data = {'Country': ['UK','Ireland', 'South Africa','Botswana','Italy','Greece'], 
        'Assessment': [170,170, 170, 65,64,53]}

df= pd.DataFrame(data = data)

ordered_fa = df.sort_values(by='Assessment')

my_range=range(1,len(df.index)+1)

a4_dims = (10, 12)
f, ax = plt.subplots(figsize=a4_dims)
sns.despine(offset=50)

plt.hlines(y=my_range, xmin=0, xmax=ordered_fa['Assessment'], color='skyblue')
plt.plot(ordered_fa['Assessment'], my_range, "o")

# Add titles and axis names
plt.yticks(my_range, ordered_fa['Country'])
plt.title("Assessments per month (2018)", loc='left')

我想在报告数字的每个“o”的末尾添加一个数字标签

怎么做


Tags: dfdatamyrangeplt数字国家country
1条回答
网友
1楼 · 发布于 2024-09-27 02:26:13

请使用ax.text(x, y, 'str')

import matplotlib.pyplot as plt
import pandas as pd


Data = {'Country': ['UK','Ireland', 'South Africa','Botswana','Italy','Greece'], 
        'Assessment': [170,170, 170, 65,64,53]}

df= pd.DataFrame(data = Data)

ordered_fa = df.sort_values(by='Assessment')

my_range=range(1,len(df.index)+1)

a4_dims = (10, 12)
f, ax = plt.subplots(figsize=a4_dims)
# sns.despine(offset=50)

plt.hlines(y=my_range, xmin=0, xmax=ordered_fa['Assessment'], color='skyblue')
plt.plot(ordered_fa['Assessment'], my_range, "o")

# Add titles and axis names
plt.yticks(my_range, ordered_fa['Country'])
plt.title("Assessments per month (2018)", loc='left')

for i in my_range:
        x = 7 - i
        y = Data['Assessment'][i-1]
        ax.text(y + 2,x,str(y))



plt.show()

相关问题 更多 >

    热门问题