当前位置: 首页 > 知识库问答 >
问题:

为要显示在条形上方的值添加标签[重复]

澹台岳
2023-03-14

我创建了一个条形图,并想将计数值放在每个条形图上方。

# Import the libraries
import pandas as pd
from matplotlib import pyplot as plt

# Create the DataFrame
df = pd.DataFrame({
    'city_code':[1200013, 1200104, 1200138, 1200179, 1200203],
    'index':['good', 'bad', 'good', 'good', 'bad']
})

# Plot the graph
df['index'].value_counts().plot(kind='bar', color='darkcyan',
                                            figsize=[15,10])
plt.xticks(rotation=0, horizontalalignment="center", fontsize=14)
plt.ylabel("cities", fontsize=16)

我得到了以下结果

我想在每个条形的顶部添加值。我从value_counts获得的计数值。像这样:

感谢所有帮助我们的人。

共有2个答案

秦俊
2023-03-14

你可以使用< code>ax.text逐个添加标签,使用for循环

但是matplotlib中已经有一个内置方法可以做到这一点。

您可以更改df['index']的行<code>value_counts()。将示例中的(kind='bar',color='darkcyan',figsize=[15,10])绘制为

d = df['index'].value_counts()
p = ax.bar(d.index, d.values,color='darkcyan')
ax.bar_label(p)

完整的示例将是:

fig, ax = plt.subplots(figsize=(4, 3))
# Create the DataFrame
df = pd.DataFrame({
    'city_code':[1200013, 1200104, 1200138, 1200179, 1200203],
    'index':['good', 'bad', 'good', 'good', 'bad']
})

# Plot the graph
d = df['index'].value_counts()
p = ax.bar(d.index, d.values,color='darkcyan')
ax.bar_label(p)
plt.xticks(rotation=0, horizontalalignment="center", fontsize=14)
plt.ylabel("cities", fontsize=16)
fig.show()

输出图像如下所示:

郭易安
2023-03-14

使用补丁注释示例

# Import the libraries
import pandas as pd
from matplotlib import pyplot as plt

# Create the DataFrame
df = pd.DataFrame(
    {
        "city_code": [1200013, 1200104, 1200138, 1200179, 1200203],
        "index": ["good", "bad", "good", "good", "bad"],
    }
)

# Plot the graph
ax = df["index"].value_counts().plot(kind="bar", color="darkcyan", figsize=[15, 10])
plt.xticks(rotation=0, horizontalalignment="center", fontsize=14)
plt.ylabel("cities", fontsize=16)
for p in ax.patches:
    ax.annotate(
        str(p.get_height()), xy=(p.get_x() + 0.25, p.get_height() + 0.1), fontsize=20
    )
plt.savefig("test.png")

结果:

 类似资料:
  • 问题内容: 我陷入一种感觉应该相对容易的事情上。我在下面提供的代码是基于我正在从事的一个较大项目的示例。我没有理由发布所有详细信息,因此请原样接受我带来的数据结构。 基本上,我正在创建一个条形图,我可以弄清楚如何在条形图上(在条形图的中心或上方)添加值标签。一直在网上查看示例,但在我自己的代码上实现未成功。我相信解决方案是使用“文本”或“注释”,但是我:a)不知道要使用哪个(通常来说,还没有弄清楚

  • 我陷入了感觉应该相对容易的事情。我下面带来的代码是基于我正在进行的一个更大项目的示例。我认为没有理由发布所有细节,所以请按原样接受我带来的数据结构。 基本上,我正在创建一个条形图,我只是想知道如何在条形图上添加值标签(在条形图的中心,或者就在它的上面)。我一直在网上寻找示例,但是在我自己的代码上没有成功实现。我相信解决方法是用“文本”或“注释”,但我:a)不知道用哪一个(而且总的来说,还没想好什么

  • 我一直试图得到一个条形图,每个条形图上都有值标签。我找遍了,但还是找不到。我的df如下所示。 到目前为止,我的代码是

  • 我已经自定义了项目标签的位置,这样当标签不适合条内时,标签就会出现在条外,如下所示。 当文本位于条内时,如何为标签赋予不同的颜色。e、 g内部为白色文本,外部为黑色文本。我试过下面的代码,但它总是显示黑色。我希望20个显示为白色,57个和30个显示为黑色文本 注意:这是一个为贾斯珀软件工作室条形图编写的定制器类

  • 我使用Chart.js库绘制条形图,我想显示工具提示不仅在条形图悬停,而且在x轴标签悬停该条形图。我找到了用于配置的方法,但它只允许我访问当前悬停栏的数组,这是没有用的。 那个么,我怎样才能访问鼠标事件,并从那个里获取位置,将其与条形标签的位置进行比较呢?还是有别的办法? 我当前的配置: 它只打印出悬停条数据,但我坚持要想出如何扩展它以满足我需要的行为。

  • 我正在努力让Jasper在图表的条形图上显示值标签。我想生成什么: 我使用Jaspersoft Studio,并在“图表绘图”选项卡中选中了“显示标签”框。出于测试目的,我使用了某种红色和紫色作为项目标签的字体颜色和背景颜色,这在条形图上应该很明显。 我的jrxml文件如下所示: 我还尝试使用定制器,基于一些SO问题: 我没法让它工作,我有上面的条形图,但没有110/760标签。 为了显示这些值,