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 ...
随机推荐
- UVa 1627 - Team them up!——[0-1背包]
Your task is to divide a number of persons into two teams, in such a way, that: everyone belongs to ...
- P1047 汉诺塔
题目描述 汉诺塔是根据一个印度传说形成的数学问题:有三根杆子A, B, C, A杆上有n个穿孔圆盘, 盘的尺寸由下到上依次变小. 要求按照下列规则将所有圆盘移至C杆: 每次只能移动一个圆盘 大盘不能叠 ...
- 2019-3-1-C#-double-好用的扩展
title author date CreateTime categories C# double 好用的扩展 lindexi 2019-3-1 9:19:5 +0800 2018-05-15 10: ...
- jdk+tomcat+mysql一键安装脚本
最近在搞一个web项目部署,每次都要安装jdk.配置环境变量.安装tomcat和mysql.对于非开发人员,还是有点难度的,经常出错,然后就整理了一个自动化的脚本. JDKinstall.bat @e ...
- 盘一盘 Thread源码
线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. 继承关系图 线 ...
- deep Q learning小笔记
1.loss 是什么 2. Q-Table的更新问题变成一个函数拟合问题,相近的状态得到相近的输出动作.如下式,通过更新参数 θθ 使Q函数逼近最优Q值 深度神经网络可以自动提取复杂特征,因此,面对高 ...
- Zookeeper面试总结,年后涨薪轻而易举
此文不是入门教程,是需要一定的zookeeper基础的 zookeeper应用 同意命名服务 在分布式系统中,各个系统都有可能做为服务提供者,可以向外提供服务,这个时候就需要对服务的名字进行统一规划, ...
- 泛圈科技Yottachain区块链云存储打破传统云迎来价值数据存储
随着物联网时代的发展,更多的数据随之产生.从智能设备到电脑再到视频游戏机,各种各样的信息从不同的电子产品源源不断地涌入.通常,人们将数据存储在本地驱动器中.但是,由于产生的数据量是无限的,超过了本地存 ...
- java中List 和 Set 的区别
a. 特性 两个接口都是继承自Collection,是常用来存放数据项的集合,主要区别如下: ① List和Set之间很重要的一个区别是是否允许重复元素的存在,在List中允许插入重复的元 ...
- 20191024-3 互评Alpha阶段作品——胜利点组
此作业要求参见 https://edu.cnblogs.com/campus/nenu/2019fall/homework/9860 基于NABCD评论作品,及改进建议 1.根据(不限于)NABCD评 ...