图表是比干巴巴的表格更直观的表达,简洁、有力。工作中经常遇到的场景是,有一些数值需要定时的监控,比如服务器的连接数、活跃用户数、点击某个按钮的人数,并且通过邮件或者网页展示出来。当我们想关注比数值本身更多的信息(像数值的变化、对比或异常),图表就非常有用了。把数值转化为图片要依赖第三方库的帮忙,在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绘制双柱形图代码实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

Django admin实现图书管理系统菜鸟级教程完整实例

python使用pil进行图像处理(等比例压缩、裁剪)实例代码

Python实现读取txt文件并画三维图简单代码示例

如有不足之处就,欢迎留言指出。感谢朋友们对本站的支持!

本文标题: python绘制双柱形图代码实例

本文地址: http://www.cppcns.com/jiaoben/python/214578.html

python画柱形图-python绘制双柱形图代码实例相关推荐

  1. python 柱形图_python绘制双柱形图代码实例

    图表是比干巴巴的表格更直观的表达,简洁.有力.工作中经常遇到的场景是,有一些数值需要定时的监控,比如服务器的连接数.活跃用户数.点击某个按钮的人数,并且通过邮件或者网页展示出来.当我们想关注比数值本身 ...

  2. python画烟花_python烟花效果的代码实例

    天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花秀. 这个有趣的小项目并不复杂,只需一点可视化技巧,100余 ...

  3. python画柱状图代码-python绘制双柱形图代码实例

    图表是比干巴巴的表格更直观的表达,简洁.有力.工作中经常遇到的场景是,有一些数值需要定时的监控,比如服务器的连接数.活跃用户数.点击某个按钮的人数,并且通过邮件或者网页展示出来.当我们想关注比数值本身 ...

  4. python绘制柱状图代码_python绘制双柱形图代码实例

    图表是比干巴巴的表格更直观的表达,简洁.有力.工作中经常遇到的场景是,有一些数值需要定时的监控,比如服务器的连接数.活跃用户数.点击某个按钮的人数,并且通过邮件或者网页展示出来.当我们想关注比数值本身 ...

  5. python画出的雷达图效果-PYTHON绘制雷达图代码实例

    这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.py ...

  6. python画-如何用Python画各种著名数学图案 | 附图+代码

    原标题:如何用Python画各种著名数学图案 | 附图+代码 用Python绘制著名的数学图片或动画,展示数学中的算法魅力. Mandelbrot 集 代码:46 lines (34 sloc) 1. ...

  7. python画-使用python画个小猪佩奇的示例代码

    基本原理 选好画板大小,设置好画笔颜色.粗细,定位好位置,依次画鼻子.头.耳朵.眼睛.腮.嘴.身体.手脚.尾巴,完事儿. 都知道,Turtle 是 Python 内置的一个比较有趣味的模块,俗称&qu ...

  8. 用python画简单的图案-如何用Python画各种著名数学图案 | 附图+代码

    原标题:如何用Python画各种著名数学图案 | 附图+代码 用Python绘制著名的数学图片或动画,展示数学中的算法魅力. Mandelbrot 集 代码:46 lines (34 sloc) 1. ...

  9. 用python画佩奇_使用python画个小猪佩奇的示例代码

    基本原理 选好画板大小,设置好画笔颜色.粗细,定位好位置,依次画鼻子.头.耳朵.眼睛.腮.嘴.身体.手脚.尾巴,完事儿. 都知道,Turtle 是 Python 内置的一个比较有趣味的模块,俗称&qu ...

最新文章

  1. 自动飞行控制系统_波音737MAX,安全评估竟是自己做的!飞行员仅用iPad学习驾驶!...
  2. Socket编程(C语言实现)—— Nginx支持Socket转发
  3. DecimalFormat格式化输出带小数的数字类型
  4. web前端技巧-ES6新特性与重点知识汇总(一)
  5. Cucumber+Rest Assured快速搭建api自动化测试平台
  6. angular6项目中使用echarts图表的方法(有一个坑,引用报错)
  7. html5,css3, bootstraps
  8. nodejs fs模块
  9. MS SQL 2008数据库完全卸载指南
  10. vue 电子签名插件
  11. 使用HTTrack克隆网站
  12. 基于JAVA的校园二手交易平台(附:源码 论文 数据库文件)
  13. SST-Calib:结合语义和VO进行时空同步校准的lidar-visual外参标定方法(ITSC 2022)
  14. 创建会计凭证保存前BTE增强
  15. AppStore上线审核“App预览和截屏”chrome上的截屏参数
  16. python变量的声明和赋值
  17. SSM基于区块链的物联网数据交易 计算机毕业设计源码46193
  18. BCD编码(8421编码)
  19. 前端 · 深入理解 transform 函数的计算原理 ②
  20. 移动互联网,一场思维与市场的变革

热门文章

  1. [HNOI2018]游戏[拓扑排序]
  2. 2019寒假作业二:PTA7-1币值转换
  3. 注意python函数参数的可变变量的传递
  4. 《web全栈工程师的自我修养》阅读笔记
  5. openGL纹理映射参数解析
  6. ubuntu12.04 启动n卡独显方法
  7. SuperMap 存量房交易网上备案及资金监管管理平台
  8. WEB打印大全(转)
  9. [BZOJ 2427] 软件安装
  10. 物联网架构成长之路(3)-EMQ消息服务器了解