时间:2021-05-22
图表是比干巴巴的表格更直观的表达,简洁、有力。工作中经常遇到的场景是,有一些数值需要定时的监控,比如服务器的连接数、活跃用户数、点击某个按钮的人数,并且通过邮件或者网页展示出来。当我们想关注比数值本身更多的信息(像数值的变化、对比或异常),图表就非常有用了。把数值转化为图片要依赖第三方库的帮忙,在Python之中最好的图表库叫matplotlib。(一直觉得,Python最大的优势就是丰富的第三方库,让你能轻易实现各种需求)
matplotlib,顾名思义就是提供了一整套和matlab相似的API,它的文档相当完备,示例页面提供了上百个图表的入门代码,可以说只有你想不到的,没有它做不到的。
举个稍复杂的例子,小明和小红两个同学各有语文、数学、英语的课程成绩,用一个双柱形图输出各项成绩的对比:
#!/usr/bin/env python# coding: utf-8import matplotlib as mplmpl.use('Agg')import matplotlib.pyplot as pltimport 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.35index = 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文件并画三维图简单代码示例
如有不足之处就,欢迎留言指出。感谢朋友们对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JS插件amCharts实现绘制柱形图默认显示数值功能。分享给大家供大家参考,具体如下:使用amCharts.js绘制柱形图(columnchar
本文主要讲解如何使用python绘制三维的柱形图,如下图源代码如下:importnumpyasnpimportmatplotlib.pyplotaspltfro
簇状水平圆柱图是在:进入excel后,点击“插入”图表―里的柱形图,第一个就是“簇状柱形图”。簇状柱形图是一种常见的统计图表。 簇状柱形图分为组间柱形图和组内
柱状图是经常需要绘制的图,下面就为大家介绍Excel简单制作立体柱形图方法,不会的朋友可以参考本文,一起来看看吧! 第一步:选择柱状图-三维簇状柱形图
本文实例讲述了php使用Jpgraph绘制柱形图的方法。分享给大家供大家参考。具体实现方法如下:SetScale("textlin");$graph->SetS