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

如何使用matplotlib在条形图上的相应条形图上方显示这些值?我的尝试无效[重复]

洪经义
2023-03-14

我需要在各自的柱上方显示值。不能完全弄清楚。我一直在尝试循环,并被告知可能使用补丁,但我仍然很新,遇到了一些麻烦。帮助将不胜感激!这些图片包括来自 jupyter 笔记本的短代码。

这是伪代码

df=read_csv
df.sort_values
df = df/2233*100.round

ax=df.plot(bar)
ax.set_title
ax.tick_params
ax.legend

for i, value in enumerate(df):
    label=str(value)
    ax.annotate(label, xy=(i, value))

第一步

第二步

我尝试的实际代码

for i, value in enumerate(df_dstopics):
    label = str(value)
    ax.annotate(label, xy=(i, value))

共有1个答案

裴承安
2023-03-14

ax中的参数xy。annotate()需要是一个表示坐标系中的点的元组。但是,中的对于i,枚举(df)中的值是列名,这绝对不是有效常数。

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

df = pd.DataFrame({'Very interested':np.random.rand(2), 'Somewhat interested':np.random.rand(2)+1, 'Not interested':np.random.rand(2)+2})

ax = df.plot(kind='bar', color=['r','b','g']) 

for p in ax.patches:
    ax.annotate(s=np.round(p.get_height(), decimals=2),
                xy=(p.get_x()+p.get_width()/2., p.get_height()),
                ha='center',
                va='center',
                xytext=(0, 10),
                textcoords='offset points')

plt.show()

参考:

  • 用Pandas条形图上的值注释条形图
  • Python熊猫/matplotlib在条形图列上方注释标签
 类似资料:
  • 我有一个这样的数据帧: 现在,我想绘制水平条形图,其中平台名称位于相应的条形图中,使其看起来像这样: 我该怎么做?

  • 问题内容: 以下是熊猫数据框和从中生成的条形图: 我需要在相应栏上方显示相应主题的每个兴趣类别的百分比。我可以创建带有百分比的列表,但是我不知道如何将其添加到相应栏的顶部。 问题答案: 尝试将以下循环添加到您的代码中: 说明 通常,您可以在图上添加注释。 此方法采用注释的值和放置注释的坐标。 在一个barplot,每个“条”是由a表示,并且每个这些矩形的具有属性,和矩形的左下角的COORDS,所有

  • 问题内容: 我生成了条形图,如何在每个条形上显示条形的值? 我的代码: 问题答案: 加: 结果: 值既是位置,也是的字符串值,方便地,条形图的每个条形的度量均为,因此枚举是位置。

  • 问题内容: 我有一个条形图,我想在每一列上显示一些文本,该怎么办? 问题答案: 我相信这将为您指明正确的方向: http://matplotlib.sourceforge.net/examples/pylab_examples/barchart_demo.html。 您最感兴趣的部分是: 文本的位置由height函数或列的高度确定,并且放在每列顶部的数字由以下方式写:’%d’%int(height

  • 问题内容: 需要查看条形图中的条形所代表的确切值,而不是Y轴上的近似值。 怎么可能呢? 谢谢阅读! 问题答案: 在iReport 3.7.6中,您可以仅选中BarPlot属性下的“显示标签”框。 在以前的版本(3.1.4)中,我必须创建一个ChartCustomizer类。 如果您需要格式化标签中的数字(例如,设置为百分比,添加千位分隔符等),那么即使在新版本中,您也绝对需要一个ChartCust

  • 我是Python新手。我想在下图中显示每个箱上方的值: 这是我的代码: 这是我想要的图表: