前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matplotlib实现柱状图内不同线型填充,完整总结!

Matplotlib实现柱状图内不同线型填充,完整总结!

作者头像
double
发布2024-04-11 15:22:40
1160
发布2024-04-11 15:22:40
举报
文章被收录于专栏:算法channel算法channel

今天我们看看绘图中,常用的一种柱状图内不同线型的填充实现。

使用Python绘图神器matplotlib,实现下面的显示图:

绘图步骤

下面说下绘图步骤:

步骤 1: 导入必要的库

代码语言:javascript
复制
pythonCopy code
import matplotlib.pyplot as plt
import numpy as np
  • matplotlib.pyplot 是一个非常流行的可视化库,用于创建图表和图形。在这里,我们导入它来绘制柱状图。
  • numpy 是Python中用于科学计算的基础库。这里我们用它来创建和操作数组,特别是计算柱状图的位置。

步骤 2: 准备数据

代码语言:javascript
复制
categories = ['A', 'B', 'C', 'D']
values1 = [10, 20, 15, 30]
values2 = [15, 10, 20, 25]
  • categories 包含了柱状图的分类标签。
  • values1values2 包含了两个系列在每个分类下的值。这些值将决定柱状图的高度。

步骤 3: 设置柱状图的参数

代码语言:javascript
复制
pythonCopy code
bar_width = 0.35  # 柱状图的宽度
index = np.arange(len(categories))  # 柱状图的索引
  • bar_width 定义了柱状图的宽度。这对于并排显示柱状图是必要的,以确保它们不会重叠。
  • index 用于计算每个柱状图的位置。np.arange(len(categories)) 生成一个与分类标签数量相等的整数序列,用作柱状图的x轴位置。

步骤 4: 绘制柱状图

代码语言:javascript
复制
pythonCopy code
fig, ax = plt.subplots()
bars1 = ax.bar(index - bar_width/2, values1, bar_width, color='lightblue', edgecolor='black', label='Series 1', hatch='/')
bars2 = ax.bar(index + bar_width/2, values2, bar_width, color='lightgreen', edgecolor='black', label='Series 2', hatch='\\')
  • 首先,plt.subplots() 创建了一个图形和一个轴对象。这提供了一个绘图的画布。
  • ax.bar 用于绘制柱状图。为了并排显示两组数据,一组柱子位于中心线的左侧 (index - bar_width/2),另一组位于右侧 (index + bar_width/2)。
  • 每组数据使用不同的颜色 (color) 和边框颜色 (edgecolor) 来区分。此外,通过使用不同的hatch图案,增加了柱状图的视觉区分度。

步骤 5: 设置轴标签和图例

代码语言:javascript
复制
ax.set_xticks(index)
ax.set_xticklabels(categories)
plt.legend()
  • set_xticksset_xticklabels 方法用于设置x轴的刻度位置和标签,以对应于我们的分类标签。
  • plt.legend() 显示图例,让观众知道每种颜色和图案代表的数据系列。

步骤 6: 显示图表

代码语言:javascript
复制
pythonCopy code
plt.show()
  • 最后,plt.show() 用于显示最终的图表。如果你在Jupyter笔记本中运行这段代码,图表将直接在笔记本中渲染。

其他线型

以下是一些基本的hatch图案样式,可以在调用绘制柱状图的函数时(如plt.bar)使用:

  • /:斜线
  • \\:反斜线
  • |:垂直线
  • -:水平线
  • +:加号
  • x:x形
  • o:圆圈
  • O:大圆圈
  • .:点
  • *:星号

使用 |-

使用 +x

使用oO

使用.*

以上使用Matplotlib绘制柱状图内不同线型的填充的实现代码。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 绘图步骤
    • 步骤 1: 导入必要的库
      • 步骤 2: 准备数据
        • 步骤 3: 设置柱状图的参数
          • 步骤 4: 绘制柱状图
            • 步骤 5: 设置轴标签和图例
              • 步骤 6: 显示图表
              • 其他线型
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档