matplotlib 条形图
一、特点
离散数据,数据之间没有直接的关系
二、分类
1、垂直条形图
bar(x, height, width=0.8)
# x 为x轴
# height 为y轴
# width 为 条形图的宽度
例子
from matplotlib import pyplot as plt
from matplotlib import font_manager
a = ["战狼2", "熟读与激情8", "功夫瑜伽", "西游伏妖篇", "变形金刚5:\n 最后的骑士", "摔跤吧!爸爸", "加勒比海盗5:\n 死无对证",
"金刚: 骷髅岛", "极限特工:\n 终极回归", "生化危机6:\n 终章", "乘风波浪", "神偷奶爸3", "智取威虎山", "大闹天竺", "金刚狼3:\n 殊死一战",
"蜘蛛侠:\n 英雄归来", "悟空转", "银河护卫队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] # 设置中文显示
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\msjh.ttc")
# 设置图形大小
plt.figure(figsize=(20, 10), dpi=80) # 绘图
x = range(len(a))
plt.bar(x, b, width=0.4, color="#FF00FF")
# 设置x轴刻度和label
plt.xticks(x, a, fontproperties=my_font, rotation=45)
plt.grid(alpha=0.4)
# 添加描述
plt.xlabel("电影", fontproperties=my_font)
plt.ylabel("票房 单位(亿)", fontproperties=my_font)
plt.title("2017年票房前20", fontproperties=my_font)
# 保存图片
plt.savefig("./movie.png")
plt.show()
2、水平条形图
barh(y, width, height=0.8)
# y是y轴
# width是x轴
# height是条形图的宽度
例子
from matplotlib import pyplot as plt
from matplotlib import font_manager a = ["战狼2", "熟读与激情8", "功夫瑜伽", "西游伏妖篇", "变形金刚5: 最后的骑士", "摔跤吧!爸爸", "加勒比海盗5: 死无对证",
"金刚: 骷髅岛", "极限特工: 终极回归", "生化危机6: 终章", "乘风波浪", "神偷奶爸3", "智取威虎山", "大闹天竺", "金刚狼3: 殊死一战",
"蜘蛛侠: 英雄归来", "悟空转", "银河护卫队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] # 设置中文显示
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\msjh.ttc")
# 设置图形大小
plt.figure(figsize=(20, 10), dpi=80) # 绘图
y = range(len(a))
plt.barh(y, b, height=0.4, color="#FF00FF")
# 设置y轴的刻度和label
plt.yticks(y, a, fontproperties=my_font)
# 添加描述
plt.xlabel("票房 单位(亿)", fontproperties=my_font)
plt.ylabel("电影", fontproperties=my_font)
plt.title("2017年票房前20", fontproperties=my_font)
# 添加网格
plt.grid(alpha=0.4)
plt.show()
三、多个条形图
from matplotlib import pyplot as plt
from matplotlib import font_manager a = ["猩球崛起: 终极之战", "敦刻尔克", "蜘蛛侠: 英雄归来", "战狼2"]
b_16 = [15746, 312, 4497, 319]
b_15 = [12357, 156, 2045, 168]
b_14 = [2358, 399, 2358, 262] my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\msjh.ttc") bar_width = 0.2
# 设置图形大小
plt.figure(figsize=(20, 8), dpi=80)
# 绘图
x_14 = range(len(a))
x_15 = [i + bar_width for i in range(len(a))]
x_16 = [i + 2 * bar_width for i in range(len(a))]
plt.bar(x_14, b_14, width=bar_width, label="14号票房")
plt.bar(x_15, b_15, width=bar_width, label="15号票房")
plt.bar(x_16, b_16, width=bar_width, label="16号票房") # 设置x轴刻度
plt.xticks(x_15, a, fontproperties=my_font) # 添加描述
plt.xlabel("电影", fontproperties=my_font)
plt.ylabel("票房", fontproperties=my_font)
plt.title("3天票房比较", fontproperties=my_font) # 添加图例
plt.legend(prop=my_font)
# 展示图片
plt.show()
matplotlib 条形图的更多相关文章
- matplotlib条形图
三个班级平均分 import matplotlib.pyplot as plt import matplotlib as mpl classes = ['class1','class2','class ...
- matplotlib绘制柱状图
参考自Matplotlib Python 画图教程 (莫烦Python)(11)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili.com/video/av16 ...
- Python爱好者社区历史文章列表(每周append更新一次)
2月22日更新: 0.Python从零开始系列连载: Python从零开始系列连载(1)——安装环境 Python从零开始系列连载(2)——jupyter的常用操作 Python从零开始系列连载( ...
- matplotlib入门--1(条形图, 直方图, 盒须图, 饼图)
作图首先要进行数据的输入,matplotlib包只提供作图相关功能,本身并没有数据读入.输出函数,针对各种试验或统计文本数据输入可以使用numpy提供的数据输入函数. # -*- coding: gb ...
- 4.4Python数据处理篇之Matplotlib系列(四)---plt.bar()与plt.barh条形图
目录 目录 前言 (一)竖值条形图 (二)水平条形图 1.使用bar()绘制: 2.使用barh()绘制: (三)复杂的条形图 1.并列条形图: 2.叠加条形图: 3.添加图例于数据标签的条形图: 目 ...
- matplotlib常见绘图基础代码小结:折线图、散点图、条形图、直方图、饼图
一.折线图 二.散点图 三.条形图 四.直方图 五.饼图 一.折线图折线图用于显示随时间或有序类别的变化趋势 from matplotlib import pyplot as plt x = rang ...
- 用matplotlib绘制带误差的条形图及中英文字体设置
#!/usr/bin/env python3 ## 以下是一个带误差条的条形图的例子,演示了误差条形图的绘制及中英文字体设置 import numpy as np import matplotlib ...
- Matplotlib基本图形之条形图2
Matplotlib基本图形之条形图2 1.绘制多条条形图 示例代码: import time import numpy as np import matplotlib.pyplot as plt b ...
- Matplotlib基本图形之条形图
Matplotlib基本图形之条形图 条形图特点: 以长方形的长度为变量的统计图表用来比较多个数据分类的数据大小通常用于较小的数据集分析例如不同季度的销量,不同国家的人口 示例代码: import o ...
随机推荐
- 【js】vue 2.5.1 源码学习(二) 策略合并
一. 整体思路 1 首先是代码的大体构造,先判断引入代码的环境,即对应amd 和cmd的处理 2 vue_init 需要借助 initMinxin ==>>> ...
- 2019-7-12-wpf-VisualBrush-已知问题
title author date CreateTime categories wpf VisualBrush 已知问题 lindexi 2019-7-12 21:7:41 +0800 2018-2- ...
- Linux 内核完成 urb: 完成回调处理者
如果对 usb_submit_urb 的调用成功, 传递对 urb 的控制给 USB 核心, 这个函数返回 0; 否则, 一个负错误值被返回. 如果函数成功, urb 的完成处理者(如同被完成函数指针 ...
- Linux 内核接口
USB 端点被绑在接口中. USB 接口只处理一类 USB 逻辑连接, 例如一个鼠标, 一个键盘, 或者一个音频流. 一些 USB 设备有多个接口, 例如一个 USB 扬声器可能有 2 个接口: 一个 ...
- Linux 内核端点
USB 通讯的最基本形式是通过某些称为 端点 的. 一个 USB 端点只能在一个方向承载数 据, 或者从主机到设备(称为输出端点)或者从设备到主机(称为输入端点). 端点可看作一 个单向的管道. 一个 ...
- Java并发编程(您不知道的线程池操作), 最受欢迎的 8 位 Java 大师,Java并发包中的同步队列SynchronousQueue实现原理
Java_并发编程培训 java并发程序设计教程 JUC Exchanger 一.概述 Exchanger 可以在对中对元素进行配对和交换的线程的同步点.每个线程将条目上的某个方法呈现给 exchan ...
- es6笔记 day1---let和const的应用
ES6 -> ECMA标准 ES7 ES8 最早是由ECMA-262版本实现的 ---------------------------------------- ES6 也称为ES2015,2 ...
- vue-learning:28 - component - 组件事件的修饰符`.native / .sync`,以及组件属性`model`
组件事件的修饰符.native / .sync,以及组件属性model .native 原生事件修饰符 在一个组件中,如果我们为其绑定一个原生的点击事件@click,基本是无效的. 在vue中对组件绑 ...
- ssh批量免密
expect命令在linux下实现批量ssh免密 发布时间:2017-11-27 08:41:39 投稿:laozhang 本次文章主要给大家讲解了在linux系统下用expect命令实现批量ssh免 ...
- ASP.NET WebForm Ajax请求Handler的经验
ajax代码 $.ajax({ type: "GET", url: "/AjaxHandler/GetPluginCode.ashx", data: " ...