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

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

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

  2. python雷达图数据_PYTHON绘制雷达图代码实例

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

  3. python雷达图怎么做_PYTHON绘制雷达图代码实例

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

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

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

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

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

  6. python话雷达图-PYTHON绘制雷达图代码实例

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

  7. python绘制雷达图代码实例-PYTHON绘制雷达图代码实例

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

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

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

  9. python如何实现选项功能_python几种常用功能如何实现 python几种常用功能实现代码实例...

    本篇文章小编给大家分享一下python几种常用功能实现代码实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 1.python 程序退出的几种方式 import sys s ...

最新文章

  1. Linux 集群时钟同步
  2. 数据库相关(JDBC,存储过程,以及大文本数据处理,mvc设计模式)
  3. Efficient Sparse Coding Algorithm
  4. Linux字符设备与块设备的区别与比较
  5. python能做哪些客户端_发布一个Httpsqs的Python客户端
  6. 最短路径算法详细介绍
  7. IOS检查更新的方法
  8. ios 渐变透明背景_PPT背景常见的6种设计方法
  9. 注意力机制论文:CCNet: Criss-Cross Attention for Semantic Segmentation及其PyTorch实现
  10. 大厂团队Leader实战秘诀:工程师成长最重要的8项技能
  11. 雅思口语考官常问的100个话题整理-自己整理
  12. linux+qt4.8画波形图,Qt画笔实现波形区域图
  13. [绍棠] iOS视频播放AVPlayer的视频内容拉伸设置
  14. 名帖332 王献之 草书《鸭头丸帖》
  15. 在windbg调试的时候 针对ecx和eax说明
  16. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'user' 附近有语法错误
  17. 欧几里得算法(扩展欧几里得、欧拉定理、费马小定理)
  18. RAM、 ROM 、SRAM 、DRAM 、SDRAM 、DDR (2、3、4)SDRAM辨析
  19. Java调用MaxMind GeoIP库查询IP地理信息
  20. 小程序实现左右菜单联动(-)

热门文章

  1. 找出口和BADI的ABAP程序
  2. html点击按钮自动获取值,如何获取HTML按钮的文本值
  3. Linux程序内存跟踪,分享一款Linux进程和内存活动监视神器
  4. 关系查询处理 查询优化 论文_每日论文33:关系数据库中的关键词查询结果动态优化...
  5. 区间比较_Simulink(离散PIDamp;区间检测模块)+AURIX功能安全板过流比较电路+电机结构应用与工作原理学习网站...
  6. BUUCTF--[VN2020 公开赛]拉胯的三条命令
  7. Python with as 用法
  8. 浅谈python函数签名
  9. python logging模块写入中文,文件乱码的解决方法
  10. Python面向对象之定制对象独有特征