单柱柱形图与多柱柱形图的绘制 基于python-matplotlib库

简介: 单柱柱形图与多柱柱形图的绘制 基于python-matplotlib库

文章目录

1. 单柱柱形图

2. 多柱柱形图

1. 单柱柱形图

绘制单柱柱形图较为简单,轻松调用plt.bar()方法就可以实现。下边展示一段绘制一幅具有更多细节的单柱形图的代码即图像。

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['axes.facecolor'] ='#cc00ff'
x = ['A型', 'B型', 'C型', 'D型', 'E型', 'F型']
height = [320, 410, 460, 550, 670, 800]
plt.xlabel('型号')
plt.ylabel('X指标值')
plt.title('某产品不同型号X指标分析图')
plt.grid(axis="y", which="major")
plt.bar(x, height, color='#6600ff')
for a, b in zip(x, height):
    plt.text(a, b, format(b, ','), ha='center', va='bottom', fontsize=12, color='r')
plt.legend(["X指标"])
plt.show()

1.png

2. 多柱柱形图

绘制多柱柱形图,即确定好柱的宽度width,然后错位分批进行绘制。因为x要参与与width的运算,所以建议绘图的时候使用数值型的x来取代原数据中的x,然后再用xticks将其替代回来即可。

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['axes.facecolor'] ='#cc00ff'
x_ticks = ['2016', '2017', '2018', '2019', '2020', '2021']
x = range(len(x_ticks))
plt.xticks(x, x_ticks)
height_A = [320, 410, 460, 550, 670, 800]
height_B = [300, 440, 500, 580, 690, 770]
height_C = [400, 450, 523, 700, 820, 840]
height_D = [390, 460, 530, 650, 740, 900]
width = 0.2
plt.xlabel('型号')
plt.ylabel('X指标值')
plt.title('某产品不同型号X指标分析图')
plt.grid(axis="y", which="major")
x_array = np.array(x)
plt.bar(x_array, height_A, color='#6600ff', width=width)
plt.bar(x_array + width, height_B, color='#ffff00', width=width)
plt.bar(x_array + 2 * width, height_C, color='#ff0000', width=width)
plt.bar(x_array + 3 * width, height_D, color='#33ff33', width=width)
for a, b in zip(x, height_A):
    plt.text(a, b, format(b, ','), ha='center', va='bottom', fontsize=12, color='#6600ff')
for a, b in zip(x, height_B):
    plt.text(a + width, b, format(b, ','), ha='center', va='bottom', fontsize=12, color='#ffff00')
for a, b in zip(x, height_C):
    plt.text(a + 2 * width, b, format(b, ','), ha='center', va='bottom', fontsize=12, color='#ff0000')
for a, b in zip(x, height_D):
    plt.text(a + 3 * width, b, format(b, ','), ha='center', va='bottom', fontsize=12, color='#33ff33')
plt.legend(["A型", 'B型', 'C型', 'D型'])
plt.show()

1.png

目录
相关文章
|
6天前
|
Python
使用Python的openpyxl库
【5月更文挑战第17天】使用Python的openpyxl库
26 2
|
8天前
|
Python
Python 内置正则表达式库re的使用
正则表达式是记录文本规则的代码,用于查找和处理符合特定规则的字符串。在Python中,常通过原生字符串`r'string'`表示。使用`re.compile()`创建正则对象,便于多次使用。匹配字符串有`match()`(从开头匹配)、`search()`(搜索首个匹配)和`findall()`(找所有匹配)。替换字符串用`sub()`,分割字符串则用`split()`。
25 3
|
8天前
|
数据可视化 数据挖掘 数据处理
Altair:Python数据可视化库的魅力之旅
Altair:Python数据可视化库的魅力之旅
15 0
|
1天前
|
数据采集 Web App开发 测试技术
玩转Python的fake-useragent库
玩转Python的fake-useragent库
|
2天前
|
数据采集 数据可视化 数据处理
利用Python和Pandas库实现高效的数据处理与分析
在大数据和人工智能时代,数据处理与分析已成为不可或缺的一环。Python作为一门强大的编程语言,结合Pandas库,为数据科学家和开发者提供了高效、灵活的数据处理工具。本文将介绍Pandas库的基本功能、优势,并通过实际案例展示如何使用Pandas进行数据清洗、转换、聚合等操作,以及如何利用Pandas进行数据可视化,旨在帮助读者深入理解并掌握Pandas在数据处理与分析中的应用。
|
2天前
|
架构师 数据挖掘 Python
最全pandas库(Python),2024年最新阿里云架构师面试
最全pandas库(Python),2024年最新阿里云架构师面试
最全pandas库(Python),2024年最新阿里云架构师面试
|
2天前
|
机器学习/深度学习 算法 前端开发
2024年8个可以提高数据科学工作效率并节省宝贵时间的Python库,2024年最新记得把每一次面试当做经验积累
2024年8个可以提高数据科学工作效率并节省宝贵时间的Python库,2024年最新记得把每一次面试当做经验积累
2024年8个可以提高数据科学工作效率并节省宝贵时间的Python库,2024年最新记得把每一次面试当做经验积累
|
3天前
|
数据可视化 前端开发 JavaScript
盘点12个Python数据可视化库,通吃任何领域
盘点12个Python数据可视化库,通吃任何领域
|
5天前
|
数据采集 小程序 数据挖掘
Matplotlib库模板学习,2024年最新微信小程序页面跳转方法总结
Matplotlib库模板学习,2024年最新微信小程序页面跳转方法总结
|
5天前
|
网络协议 数据处理 调度
深入探索Python异步编程:asyncio库的应用与实践
在现代软件开发中,异步编程已成为处理并发和I/O密集型任务的重要策略。本文将带您深入探索Python的asyncio库,解析其背后的设计原理,并通过实例展示如何在实际项目中应用asyncio实现高效的异步编程。我们不仅会探讨asyncio的基本用法,还会分析其性能优势,并探讨其与其他并发模型的比较。此外,文章还将涵盖asyncio在Web开发、网络编程和数据处理等场景中的应用案例,帮助您更好地理解并掌握这一强大的异步编程工具。