python绘制双柱形图代码实例

 更新时间:2017年12月14日 16:36:06   作者:jopen  
这篇文章主要介绍了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绘制双柱形图代码实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

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

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

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

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

相关文章

  • Python如何拆分ZIP文件

    Python如何拆分ZIP文件

    这篇文章主要介绍了Python如何拆分ZIP文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 20个Python中正则表达式的应用与技巧小结

    20个Python中正则表达式的应用与技巧小结

    正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,本文我们将探讨 Python 中 re 模块的应用和一些技巧,希望可以帮助您更好地理解和利用正则表达式
    2024-04-04
  • 将python安装信息加入注册表的示例

    将python安装信息加入注册表的示例

    今天小编就为大家分享一篇将python安装信息加入注册表的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 教你用python从日期中获取年、月、日和星期等30种信息

    教你用python从日期中获取年、月、日和星期等30种信息

    在日常的工作,经常需要获取时间等相关信息,下面这篇文章主要给大家介绍了关于如何用python从日期中获取年、月、日和星期等30种信息的相关资料,需要的朋友可以参考下
    2022-07-07
  • 使用python绘制二维图形示例

    使用python绘制二维图形示例

    今天小编就为大家分享一篇使用python绘制二维图形示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • PyCharm在win10的64位系统安装实例

    PyCharm在win10的64位系统安装实例

    给大家介绍一下在win10的64位系统中安装PyCharm的操作过程以及需要注意的地方。
    2017-11-11
  • Python中优化NumPy包使用性能的教程

    Python中优化NumPy包使用性能的教程

    这篇文章主要介绍了Python中优化NumPy包使用性能的教程,包括内存和拷贝等方面,需要的朋友可以参考下
    2015-04-04
  • keras导入weights方式

    keras导入weights方式

    这篇文章主要介绍了keras导入weights方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • matplotlib阶梯图的实现(step())

    matplotlib阶梯图的实现(step())

    这篇文章主要介绍了matplotlib阶梯图的实现(step()),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 本地文件上传到七牛云服务器示例(七牛云存储)

    本地文件上传到七牛云服务器示例(七牛云存储)

    这篇文章主要介绍了使用PYTHON把本地文件上传到七牛云服务的方法,开发环境是Python 2.7,大家参考使用吧
    2014-01-01

最新评论