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 ...
随机推荐
- 微信小程序之在线试题(1)
最近在做一套公司的市场化培训项目,涉及到手机端在线答题的设计,首先摒弃app的模式,那就只剩下微信公众号和小程序,而公众号是可以关联小程序,所以我们只需要做好一套小程序. 因为篇幅问题,下面只讲解在线 ...
- linux 自动检测 IRQ 号
驱动在初始化时最有挑战性的问题中的一个是如何决定设备要使用哪个 IRQ 线. 驱动需 要信息来正确安装处理. 尽管程序员可用请求用户在加载时指定中断号, 这是个坏做法, 因为大部分时间用户不知道这个号 ...
- Java 8 默认接口实现及其他语言特性
一.为什么有默认接口实现 1.由于Java 8的API在现存的接口上引入了非常多的新方法(如List接口上的sort方法).在原有语法基础上,如Guava和Apache Commons这样的框架都需要 ...
- npm脚本和package.json
1.什么是npm脚本 在创建node.js项目如一个vue项目,或一个react项目时,项目都会生成一个描述文件package.json . 比如npm允许在package.json文件里面,使用sc ...
- MySQL基础之事务编程学习笔记
MySQL基础之事务编程学习笔记 在学习<MySQL技术内幕:SQL编程>一书,并做了笔记.本博客内容是自己学了<MySQL技术内幕:SQL编程>事务编程一章之后,根据自己的理 ...
- TCP三次握手、四次挥手详解
1.TCP报文格式 TCP(Transmission Control Protocol) 传输控制协议.TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接. 我们需要 ...
- DEVOPS技术实践_01:jenkins集成平台
一.准备环境 准备三台机器 角色 IP地址 用户名 密码 jenkins-master 172.25.254.130 admin meiyoumima gitlab 172.25.254 ...
- rapidxml遍历子节点例子
<?xml version="1.0" encoding="utf-8"?> <luaword> <btn> <inf ...
- $Poj1723/AcWing123\ Soldiers$ 排序
$Poj$ $AcWing$ $Description$ $Sol$ 分别处理$x$坐标和$y$坐标.$y$坐标显然很好处理,就是排个序然后取中位数就好了.$x$没有$y$那么直接叭.所以我首先写了个 ...
- Windows下使用 npm 命令安装 Appium(详)
本文主要讲述如何在 Windows 系统上通过 npm 命令行安装 appium Windows 桌面版请在官网选择对应版本下载安装. 官网链接 TestHome 百度网盘下载链接 Tips:Appi ...