首页 >后端开发 >Python教程 >如何在 Python 中使用 Matplotlib 创建和注释分组条形图?

如何在 Python 中使用 Matplotlib 创建和注释分组条形图?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-28 19:46:29235浏览

How to Create and Annotate a Grouped Bar Chart Using Matplotlib in Python?

如何绘制和注释分组条形图

使用 Python 的 Matplotlib 绘制分组条形图需要仔细考虑数据操作、条形间距和标签。以下是解决您的具体问题的方法:

数据准备

  • 不要将每列分别除以 2233,而是对整个 df 使用 div() 方法,以达到相同的效果单行: df = df.div(2233).

Pre-matplotlib 3.4.2

  • 将 w 值调整为 0.8 / 3 以正确间隔条形。

Post-matplotlib 3.4.2

  • 利用 matplotlib.pyplot.bar_label 和 pandas.DataFrame.plot 获得更简单、更优雅的方法.

注释

  • 要标记条形,请在迭代补丁的循环中使用 annotate() 函数。
  • 调整基于所需的对齐和美观的注释。

示例代码

<code class="python">import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame(...).div(2233)

ax = df.plot(kind='bar', color=colors, figsize=(20, 8), ylabel='Percentage', title="...")

for p in ax.patches:
    ax.annotate(f'{p.get_height():0.2f}', (p.get_x() + p.get_width() / 2., p.get_height()), ha='center', va='center', xytext=(0, 10), textcoords='offset points')</code>

此代码将生成带有注释条形高度的分组条形图。

以上是如何在 Python 中使用 Matplotlib 创建和注释分组条形图?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn