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

您所在的位置:网站首页 wps加入柱状图和线型图区别在哪 Matplotlib实现柱状图内不同线型填充,完整总结!

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

2024-07-05 13:07| 来源: 网络整理| 查看: 265

你好,我是郭震

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

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

95b4e1a3fa3d6fa4fc050a36f230f112.png 绘图步骤

下面说下绘图步骤:

步骤 1: 导入必要的库 pythonCopy code import matplotlib.pyplot as plt import numpy as np

matplotlib.pyplot 是一个非常流行的可视化库,用于创建图表和图形。在这里,我们导入它来绘制柱状图。

numpy 是Python中用于科学计算的基础库。这里我们用它来创建和操作数组,特别是计算柱状图的位置。

步骤 2: 准备数据 categories = ['A', 'B', 'C', 'D'] values1 = [10, 20, 15, 30] values2 = [15, 10, 20, 25]

categories 包含了柱状图的分类标签。

values1 和 values2 包含了两个系列在每个分类下的值。这些值将决定柱状图的高度。

步骤 3: 设置柱状图的参数 pythonCopy code bar_width = 0.35  # 柱状图的宽度 index = np.arange(len(categories))  # 柱状图的索引

bar_width 定义了柱状图的宽度。这对于并排显示柱状图是必要的,以确保它们不会重叠。

index 用于计算每个柱状图的位置。np.arange(len(categories)) 生成一个与分类标签数量相等的整数序列,用作柱状图的x轴位置。

步骤 4: 绘制柱状图 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: 设置轴标签和图例 ax.set_xticks(index) ax.set_xticklabels(categories) plt.legend()

set_xticks 和 set_xticklabels 方法用于设置x轴的刻度位置和标签,以对应于我们的分类标签。

plt.legend() 显示图例,让观众知道每种颜色和图案代表的数据系列。

步骤 6: 显示图表 pythonCopy code plt.show()

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

其他线型

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

/:斜线

\\:反斜线

|:垂直线

-:水平线

+:加号

x:x形

o:圆圈

O:大圆圈

.:点

*:星号

使用 | 和 -

d58b42a42aff46d3395a6e1ca9713d27.png

使用 + 和 x

36a778e521ff2942c15da49cb373c105.png

使用o和O

adff63a92bfa7f4e75d9c45fc0f171af.png

使用.和*

6ac2568b0a22e66007e1593421942966.png

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

我打造了一个《Python从零到高薪就业全栈视频课》,目前上线700节课程,每节课15分钟,总共超180个小时。包括:《从零学Python》、《Python进阶》、《爬虫》、《NumPy数值分析》、《Pandas数据分析》、《Matplotlib和Pyecharts绘图》、《PyQt软件开发》、《接单项目串讲》、《Python办公自动化》、《多线程和多进程》、《unittest和pytest自动化测试》、《Flask和Django网站开发》、《基础算法》、《人工智能入门》、《机器学习》、《深度学习》、《Pytorch实战》,将我过去工作8年以及现在科研的经历都融入到课程中,里面有很多实际项目,是一个全栈技术课。

如果你想掌握全栈开发技术,提升你自己,提升就业能力,多学技能做副业项目赚钱等,可以报名,课程带有我的答疑。价格现在比较优惠,推荐现在加入。长按下方二维码查看,报名后加我微信:gz113097485

aaf4111bf482d4959890c4ecfd4de5f6.png



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3