python画柱形图-Python绘制精美图表之双柱形图
图表是比干巴巴的表格更直观的表达,简洁、有力。工作中经常遇到的场景是,有一些数值需要定时的监控,比如服务器的连接数、活跃用户数、点击某个按钮的人数,并且通过邮件或者网页展示出来。当我们想关注比数值本身更多的信息(像数值的变化、对比或异常),图表就非常有用了。把数值转化为图片要依赖第三方库的帮忙,在Python之中最好的图表库叫matplotlib。(一直觉得,Python最大的优势就是丰富的第三方库,让你能轻易实现各种需求)
matplotlib,顾名思义就是提供了一整套和matlab相似的API,它的文档相当完备,示例页面提供了上百个图表的入门代码,可以说只有你想不到的,没有它做不到的。
举个稍复杂的例子,小明和小红两个同学各有语文、数学、英语的课程成绩,用一个双柱形图输出各项成绩的对比:
#!/usr/bin/env python
# coding: utf-8
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
import numpy as np
# 必须配置中文字体,否则会显示成方块
# 注意所有希望图表显示的中文必须为unicode格式
custom_font = mpl.font_manager.FontProperties(fname='/Library/Fonts/华文细黑.ttf')
font_size = 10 # 字体大小
fig_size = (8, 6) # 图表大小
names = (u'小明', u'小红') # 姓名
subjects = (u'语文', u'数学', u'英语') # 科目
scores = ((65, 90, 75), (85, 80, 90)) # 成绩
# 更新字体大小
mpl.rcParams['font.size'] = font_size
# 更新图表大小
mpl.rcParams['figure.figsize'] = fig_size
# 设置柱形图宽度
bar_width = 0.35
index = np.arange(len(scores[0]))
# 绘制「小明」的成绩
rects1 = plt.bar(index, scores[0], bar_width, color='#0072BC', label=names[0])
# 绘制「小红」的成绩
rects2 = plt.bar(index + bar_width, scores[1], bar_width, color='#ED1C24', label=names[1])
# X轴标题
plt.xticks(index + bar_width, subjects, fontproperties=custom_font)
# Y轴范围
plt.ylim(ymax=100, ymin=0)
# 图表标题
plt.title(u'企鹅班同学成绩对比', fontproperties=custom_font)
# 图例显示在图表下方
plt.legend(loc='upper center', bbox_to_anchor=(0.5, -0.03), fancybox=True, ncol=5, prop=custom_font)
# 添加数据标签
def add_labels(rects):
for rect in rects:
height = rect.get_height()
plt.text(rect.get_x() + rect.get_width() / 2, height, height, ha='center', va='bottom')
# 柱形图边缘用白色填充,纯粹为了美观
rect.set_edgecolor('white')
add_labels(rects1)
add_labels(rects2)
# 图表输出到本地
plt.savefig('scores_par.png')
最终图表显示如下:
小结一下,从上面的代码片段可以了解到:matplotlib是一个自由度非常高的图表库,能够实现从颜色、字体等基础属性到图例、网格等图表属性的定制输出。
python画柱形图-Python绘制精美图表之双柱形图相关推荐
- python画柱状图-Python绘制精美图表之双柱形图
图表是比干巴巴的表格更直观的表达,简洁.有力.工作中经常遇到的场景是,有一些数值需要定时的监控,比如服务器的连接数.活跃用户数.点击某个按钮的人数,并且通过邮件或者网页展示出来.当我们想关注比数值本身 ...
- [转载] python画柱状图-Python绘制精美图表之双柱形图
参考链接: Python | 使用XlsxWriter模块在Excel工作表中绘制条形图 图表是比干巴巴的表格更直观的表达,简洁.有力.工作中经常遇到的场景是,有一些数值需要定时的监控,比如服务器的连 ...
- python怎么合并图表_Python绘制精美图表之双柱形图
图表是比干巴巴的表格更直观的表达,简洁.有力.工作中经常遇到的场景是,有一些数值需要定时的监控,比如服务器的连接数.活跃用户数.点击某个按钮的人数,并且通过邮件或者网页展示出来.当我们想关注比数值本身 ...
- python matlabplot画表格_matplotlib-绘制精美图表
matplotlib-绘制精美图表 matplotlib是一个在python下实现的类matlib的纯python的三方库,旨在用python实现matlab的功能,是python下最出色的会图库,功 ...
- python中数据用折线图表示_使用PyQtGraph进行Python数据可视化:绘制精美折线图(以 上证指数走势为例)...
在前两篇文章中,我们介绍了: 在了解了基本的PyQtGraph模块绘制图形功能之后,我们通过几个常用常见的数据可视化图形来演示使用PyQtGraph进行Python数据可视化. 本篇,我们介绍使用Py ...
- python画曲线-Python绘制各种简单优美曲线
原标题:Python绘制各种简单优美曲线 matplotlib是著名的Python绘图库,它提供了一整套绘图API,十分适合交互式绘图.,解决数据分析和可视化问题,其实也是Python的拿手好戏.另外 ...
- 用python画花瓣-Python:绘制樱花树
代码详解 (一)绘制画幕 首先绘制画幕,命令说明如下: screensize(width, height, bg=color):设置画幕大小及颜色 setup(p1, p2):设置画幕大小,当 p1. ...
- python画散点图-python学习之matplotlib绘制散点图实例
要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" ...
- python画曲线图-python绘制多个曲线的折线图
这篇文章利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图: # -*- coding: UTF-8 -*- import numpy as np i ...
最新文章
- java中缀表达式转后缀表达式(逆波兰算法)
- lvs(+keepalived)、haproxy(+heartbeat)、nginx 负载均衡的比较分析
- 处理linux 下nbu只能找到一个驱动器
- 本土化App名稱和icon
- 微信公众平台开发(26) ACCESS TOKEN
- heroku_将应用程序集成为Heroku附加组件
- 爱心的浪漫永不过时—程序猿的小浪漫
- Android 不能勾选 Project Build Target
- 基于DevExpress XtraGrid控件实现的凭证式显示
- 用CSS编写登陆页面(含源代码)
- JavaScript将小写金额转换成大写
- 攻击机靶机环境搭建——网络设置
- python小程序源码合集
- Couch-to-5K 跑步计划
- 微信机器人服务器成本,微信机器人案例汇总
- Windows11正版下载和Windows10正版下载安装教程
- 液化气瓶爆炸总发生,要为监管敲警钟
- MIME格式详细介绍
- 文本检测算法性能对比
- 亚太成为第一季度全球存储市场唯一增长地区;亚马逊云科技在中国区域推出Amazon ECS Anywhere | 全球TMT...
热门文章
- c++模板库的一些基本使用
- poj3784 Running Median查找中位数
- Spark 1.6.2 + Beam 2.0.0读取Mongodb数据进行相应逻辑处理
- LibreOJ #113. 最大异或和
- 398. Random Pick Index
- iOS 系统版本判断
- iOS基础-UIKit框架-高级视图-UIDatePicker
- Java反射学习(java reflect)(三)
- 【java的多态性】
- “稳定”凸包----poj1228