一:绘制单个条形图

案例:
假设你获取到了某年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据?


a = ["战狼2”,"速度与激情8”,"功夫瑜伽”,"西游伏妖篇”,"变形金刚5:最后的骑士”,"摔跤吧!爸爸”,
"加勒比海盗5:死无对证”,"金刚:骷髅岛”,"极限特工:终极回归”, "侠:英雄归来”,"悟空传”,"银河护卫队2”,"情圣”,"新木乃伊”,]b=[56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,
10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23] 单位:亿from matplotlib import pyplot as pltfrom matplotlib import font_manager#  中文显示乱码问题;myfont = font_manager.FontProperties(fname="/usr/share/fonts/cjkuni-uming/uming.ttc", size=18)titlefont = font_manager.FontProperties(fname="/usr/share/fonts/cjkuni-uming/uming.ttc", size=24)y_money = [56.01, 26.94, 17.53, 16.49, 15.45, 12.96, 11.8, 11.61, 11.28, 11.12, 10.49,10.3, 8.75, 7.55, 7.32, 6.99, 6.88, 6.86, 6.58, 6.23]x_movies = ["流浪地球%s" %(i) for i in range(len(y_money))]#   如何设置图片的大小;plt.figure(figsize=(30, 10))# (1,2)  -====('a', 10)# 生成竖向的条形图# plt.bar(range(len(x_movies)), y_money, color='orange', width=0.5)# # 生成横向的条形图plt.barh(range(len(x_movies)), y_money, color='orange', height=0.7)# 修改刻度信息的配置# plt.xticks(range(len(y_money)), labels=x_movies, fontproperties=myfont, rotation=45)plt.yticks(range(len(y_money)), labels=x_movies, fontproperties=myfont, rotation=45)# 3). x轴和y轴的描述信息;plt.title("某年内地电影票房前20的电影和电影票房数据", fontproperties=titlefont)plt.xlabel("电影名", fontproperties=myfont)plt.ylabel("电影票房(单位:亿)", fontproperties=myfont)plt.savefig('doc/bar.png')

运行结果:

生成横向的条形图

# plt.bar(range(len(x_movies)), y_money, color='orange', width=0.5)

width表示线条的粗细

生成竖向的条形图

plt.barh(range(len(x_movies)), y_money, color='orange', height=0.7)
height表示线条的高低

二:绘制多个条形图

## 绘制多个条形图
案例:假设你知道了列表a中电影分别在2017-09-14(b_14), 2017-09-15(b_15), 2017-09-16(b_16)三天的票房,为了展示列表中电影本身的票房以及同其他电影的数据对比情况,应该如何更加直观的呈现该数据?a = ["猩球崛起3:终极之战”,"敦刻尔克”,"蜘蛛侠:英雄归来”,"战狼2”]b_16 = [15746,312,4497,319]b_15 = [12357,156,2045,168]b_14 = [2358,399,2358,362]数据来源: http://www.cbooo.cn/movieday"""from matplotlib import pyplot as plt
from matplotlib import font_manager#  中文显示乱码问题;
myfont = font_manager.FontProperties(fname="/usr/share/fonts/cjkuni-uming/uming.ttc", size=18)
titlefont = font_manager.FontProperties(fname="/usr/share/fonts/cjkuni-uming/uming.ttc", size=24)x_movies_name = ["猩球崛起3:终极之战", "敦刻尔克", "蜘蛛侠:英雄归来", "战狼2"]
y_16 = [15746, 312, 4497, 319]
y_15 = [12357, 156, 2045, 168]
y_14 = [2358, 399, 2358, 362]#   如何设置图片的大小;
plt.figure(figsize=(30, 10))# 生成竖向的条形图
bar_width = 0.3x_range = range(len(x_movies_name))
# ['a', 'b', 'c', 'd'] ===== [0, 1,2,3]
# [1,2,3,4]
# [3,4,4,4]# [(0, 1), (1, 2), (2, 3), (3, 4)]
# [(0+0.3, 1), (1+0.3, 3)]
plt.bar(x_range, y_14, color='green', width=bar_width, label="2017-09-14票房数据")
plt.bar([i + bar_width for i in x_range], y_15, color='red', width=bar_width, label="2017-09-15票房数据")
plt.bar([i + bar_width * 2 for i in x_range], y_16, color='orange', width=bar_width, label="2017-09-16票房数据")
# 修改刻度信息的配置
plt.xticks(range(len(x_movies_name)), labels=x_movies_name, fontproperties=myfont, rotation=45)# 3). x轴和y轴的描述信息;
plt.title("某年内地电影票房前20的电影和电影票房数据", fontproperties=titlefont)
plt.xlabel("电影名", fontproperties=myfont)
plt.ylabel("电影票房(单位:亿)", fontproperties=myfont)
plt.savefig('doc/bar.png')

运行结果:

matplotlib描绘条形图(柱状图)相关推荐

  1. 利用 matplotlib 制作条形图

    利用 matplotlib 制作条形图 排列在工作表的列或行中的数据可以绘制到柱状图(条形图)中. 特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别.(统计/对比) 我们用一个例 ...

  2. python使用matplotlib可视化3D柱状图(3D histogram、三维柱状图、包含三个坐标轴x、y、z)、设置zdir参数为z、改变3d图观察的角度

    python使用matplotlib可视化3D柱状图(3D histogram.三维柱状图.包含三个坐标轴x.y.z).设置zdir参数为z.改变3d图观察的角度 目录

  3. Python使用matplotlib可视化条形图(bar plot)、自定义在条形图的顶部添加数值标签(Bar Chart)

    Python使用matplotlib可视化条形图(bar plot).自定义在条形图的顶部添加数值标签(Bar Chart) 目录

  4. python使用matplotlib可视化3D柱状图(3D bar plot、三维柱状图、包含三个坐标轴x、y、z)、设置zdir参数为y、改变3d图观察的角度

    python使用matplotlib可视化3D柱状图(3D bar plot.三维柱状图.包含三个坐标轴x.y.z).设置zdir参数为y.改变3d图观察的角度 目录

  5. python使用matplotlib可视化条形图、使用barh函数可视化条形图(使用barh函数可视化多分类的并行条形图、side by side)

    python使用matplotlib可视化条形图.使用barh函数可视化条形图(使用barh函数可视化多分类的并行条形图.side by side) 目录

  6. python绘制条形图-python3使用matplotlib绘制条形图

    本文实例为大家分享了python3使用matplotlib绘制条形图的具体代码,供大家参考,具体内容如下 绘制竖状条形图 代码 from matplotlib import pyplot as plt ...

  7. python画横条形图-用matplotlib画条形图(bar)

    条形图(bar chart)和直方图(histogram)有点相似,但也有本质的区别.条形图主要用于对可分类的数据(quanlitative data),而直方图主要是对连续数据进行分段(quanti ...

  8. python怎么画条形图-python使用Matplotlib画条形图

    本文实例为大家分享了python使用Matplotlib画条形图的具体代码,供大家参考,具体内容如下 数据 中国的四个直辖市分别为北京市.上海市.天津市和重庆市,其2017年上半年的GDP分别为124 ...

  9. python matplotlib 柱状图点击事件_Python:matplotlib分组Bar柱状图

    Python:matplotlib分组Bar柱状图 import numpy as np import matplotlib.pyplot as plt def get_data(size): bor ...

最新文章

  1. 别让低效努力,毁了你
  2. Android --- 微信支付时出现错误:错误的签名,验签失败,return_code=FAIL
  3. Vue和其他框架的区别
  4. weblogic安全漫谈
  5. java文件不能转class_安了jdk 却不能将.java文件转换成.class 文件,一运行就说‘javac’不是内部或外部指令,却能运行.class文...
  6. 从零开始学产品第五篇:三个环境,开发、测试和线上
  7. 【leetcode】Wildcard Matching
  8. 王者荣耀钓鱼网源码php,王者荣耀钓鱼页面
  9. SMBUS和i2cBus,PMBus 区别
  10. 【深度学习】PyCorrector中文文本纠错实战
  11. OCR文字识别方法对比
  12. 音乐艺术与科技有何相关?Erkki Kurenniemi的音讯是如此
  13. PC端打不开微信公众号文章、微信图片加载超缓慢的处理方法(最全的解决方法)
  14. 爬虫Scrapy框架运用----房天下二手房数据采集
  15. layui数据表格中包含图片的处理方式
  16. 为何晶振并联一个1MΩ电阻?晶振低温不起振如何解决?
  17. 你的简历能帮你争取到面试机会吗
  18. 山西民生养老认证显示服务器异常,民生山西养老认证
  19. Error:A1163E:UNknow opcode
  20. 2021年煤矿采煤机(掘进机)操作考试及煤矿采煤机(掘进机)操作模拟试题

热门文章

  1. 苹果手机耗电快_iPhone 手机为什么耗电快?原因在这里
  2. ps历史记录设置方法和注意事项
  3. 小世界网络matlab程序,小世界网络简介及及matlab建模.doc
  4. ns-3的统计模块——Statistical Framework
  5. 李开复给中国大学生的第一封信
  6. 周六福老庙等35批次黄金抽检不合格,你的饰品标签贴对了吗?
  7. 荣耀v6平板怎么升级鸿蒙系统,荣耀平板V6如何进行手机克隆?教你轻松导入重要数据...
  8. java遍历map中的key、value以及实体等多种方式
  9. Python自动化 谈谈 cookies
  10. win10 启动子系统Linux报错 Error: 0x800701bc WSL 2