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

为value_counts()添加值文本。在Matplotlib中打印[重复]

东方方伟
2023-03-14

给定如下代码:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame(['A','A','A','B','B','C'], columns = ['letters'])
df.value_counts()
df.letters.value_counts().sort_values().plot(kind = 'bar')

出局:

我想为每个条形添加有价值的文本,我该如何在Matplotlib中做到这一点?谢谢。

更新的代码和数据集:

给定一个小数据集,如下所示:

  letters  numbers
0       A       10
1       A        4
2       A        3
3       B       12
4       B        7
5       C        9
6       C        8

代码:

import pandas as pd
import matplotlib.pyplot as plt

bins = [0, 5, 10, 20]
df['binned'] = pd.cut(df['numbers'], bins = bins)

def addlabels(x, y):
    for i in range(len(x)):
        plt.text(i, y[i], y[i])

plt_df = df.binned.value_counts().sort_values()
plt.bar(plt_df.index, plt_df.values)
addlabels(plt_df.index, plt_df.values)

输出:

TypeError: float() argument must be a string or a number, not 'pandas._libs.interval.Interval'

共有1个答案

许嘉福
2023-03-14

尝试:

import pandas as pd
import matplotlib.pyplot as plt

def addlabels(x,y):
    for i in range(len(x)):
        plt.text(i, y[i], y[i], ha = 'center')

df = pd.DataFrame(['A','A','A','B','B','C'], columns = ['letters'])
plt_df = df.letters.value_counts().sort_values()

plt.bar(plt_df.index, plt_df.values)
addlabels(plt_df.index, plt_df.values)
 类似资料:
  • 我想在mongo shell中打印这个JSON文档的值。就像一个简单的控制台输出,而无需创建新的集合或文档。 提前谢谢

  • 问题内容: 我遇到了这种语法: 这个带有两个点的语法是什么? 在哪里可以找到有关它的信息? 它仅适用于布尔值还是以其他不同方式实现? 问题答案: 是条件运算符。(不只是一部分,整个方法参数是示例中条件运算符的一种用法。) 它通常被称为三元运算符,但这只是其本质的一个方面-具有三个操作数- 而不是其名称。如果在Java中引入了另一个三元运算符,则该术语将变得模棱两可。之所以称为条件运算符,是因为它有

  • 我希望下面显示一个绘图,但我没有看到绘图,解释器只是挂起(我的后端报告自己为)。 我如何让情节显示? 我正在运行一个有很多迭代的模拟,并希望每1000次迭代更新我的图,以便我可以监控我的模拟是如何发展的。 下面的伪代码: 在主线程中使用绘图可能会导致绘图GUI挂起/崩溃,因为我还有其他工作要做。所以这个想法是在一个单独的线程中进行绘图。 我看到过使用进程而不是线程的建议(例如这里)。但是当我的模拟

  • 我正在尝试使用jstl打印参数,但即使使用EL表达式,它也会呈现为纯文本。我试图更改servlet和依赖项的版本,但仍然面临同样的问题。我使用的是tomcat8.0。 网状物xml pom。xml JSP

  • 我正在使用push_back()函数插入这些元素,我想知道 我如何打印向量c的内容? 我尝试过

  • 问题内容: 这是一个衍生问题,与[Set line colors]中给出的答案有关 根据颜色图](https://stackoverflow.com/questions/19868548/set-line- 颜色(根据colormap),其中有一个伟大的解决方案是建议绘图 根据颜色条用颜色表示的几行(参见代码和输出图像 以下)。 我有一个列表,其中存储与每一条打印线相关联的字符串,如下所示: 我想