4.11Python数据处理篇之Matplotlib系列(十一)---图例,网格,背景的设置
目录
前言
本章节将讲一下三个内容,图例,网格,背景
(一)图例legend
1.默认不带参数的图例
(1)说明:
默认情况下,是自适应的放在图例的位置,需要在绘图的时候,添加Label标识。
在使用plt.legend()显示图例
(2)源代码:
# 导入模块
import matplotlib.pyplot as plt
import numpy as np
# 数据
x = np.linspace(-5, 5, 50)
y1 = x
y2 = x**2
y3 = x**(1/2)
# 绘图
plt.plot(x, y1, "--", label="y1")
plt.plot(x, y2, "o-", label="y2")
plt.plot(x, y3, "-.", label="y3")
# 展示图例
plt.legend()
# 展示
plt.show()
(3)展示效果

2.添加参数的图例
(1)可选参数
| 参数 | 说明 | 默认值 |
|---|---|---|
| loc=int\string | 图例所在的位置 | 0 |
| fontsize=int\string | 图例的文字大小 | 当前文字的大小 |
| facecolor='b' | 图例的背景色 | 'w' |
| edgecolor='b' | 图例的边框颜色 | 'w' |
| title=string | 图例的标题 | None |
| shadow=bool | 是否显示图例的阴影 | False |
| fancybox=bool | 是否显示圆角 | False |
| framealpha=float | 图例的透明度 | None |
- 位置的参数值:可以使用字符串与数字

- 文字的大小值:'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large',或者直接用数字表示大小。
- 透明度的范围:0.0~1.0,1.0是不透明,0.0是全透明,从0.0到1.0越来越不透明。
(2)源代码:
# 导入模块
import matplotlib.pyplot as plt
import numpy as np
# 数据
x = np.linspace(-5, 5, 50)
y1 = x
y2 = x**2
y3 = x**(1/2)
# 绘图
plt.plot(x, y1, "--", label="y1")
plt.plot(x, y2, "o-", label="y2")
plt.plot(x, y3, "-.", label="y3")
# 展示图例
plt.legend(loc='upper right',
fancybox=True,
title="l am legend",
edgecolor='r',
shadow=True,
fontsize='x-large',
facecolor='b',
framealpha=0.3)
# 展示
plt.show()
(3)输出效果:

3.将图例移动到框外
(1)说明:
bbox_to_anchor=(x, y) 可以移动到任意位置
x,y是float:0.0~1.0,表示是x,y轴的比例,x:左->右增大, y:下->上 增大
并且结合loc来确定位置。
(2)源代码:
# 导入模块
import matplotlib.pyplot as plt
import numpy as np
# 数据
x = np.linspace(-5, 5, 50)
y1 = x
y2 = x**2
y3 = x**(1/2)
# 绘图
plt.plot(x, y1, "--", label="y1")
plt.plot(x, y2, "o-", label="y2")
plt.plot(x, y3, "-.", label="y3")
# 展示图例
plt.legend(bbox_to_anchor=(1, 0.8), loc=3)
# 展示
plt.show()
(3)输出效果:

(二)网格grid
1.说明
语法:plt.grid([可选参数])
| 可选参数 | 说明 | 默认值 |
|---|---|---|
| b=bool | 是否显示网格 | Fales |
| color='r' | 网线的颜色 | 'w' |
| linestyle='--' | 网格的线形 | ‘-’ |
| linewidth=1 | 网格的线宽 | 1 |
| alpha=0.3 | 网线的透明度0.0~1.0 | 1 |
| axis={"both",'x',"y"} | 表示在哪些方向轴上画网线,x轴,y轴 | "both" |
| which={"both","major","minor"} | 表示在哪些刻度上画网线,主刻度,还是小刻度 | ”both" |
2.源代码:
# 导入模块
import matplotlib.pyplot as plt
import numpy as np
# 数据
x = np.linspace(-5, 5, 50)
y = x**2
# 绘图
plt.plot(x, y)
# 设置网格线
plt.grid(b=True,
color='r',
linestyle='--',
linewidth=1,
alpha=0.3,
axis='x',
which="major")
# 展示
plt.show()
3.输出效果

(三)背景axses
1.设置全局的背景色:
(1)说明:
- 设置figure窗体的颜色:plt.rcParams['figure.facecolor'] = 'color'
- 设置axes绘图区的颜色:plt.rcParams['axes.facecolor'] = 'color'
(2)源代码:
# 导入模块
import matplotlib.pyplot as plt
import numpy as np
# 数据
x = np.linspace(-5, 5, 50)
y = x**2
# =====设置背景====
# 设置figure窗体的颜色
plt.rcParams['figure.facecolor'] = 'b'
# 设置axes绘图区的颜色
plt.rcParams['axes.facecolor'] = 'g'
# 绘图
plt.plot(x, y)
# 展示
plt.show()
(3)输出效果:

2.设置局部的背景色
(1)说明:
获取ax对象:ax = plt.gca()
设置ax区域背景颜色:ax.patch.set_facecolor("gray")
设置ax区域背景颜色透明度:ax.patch.set_alpha(0.5)
(2)源代码:
# 导入模块
import matplotlib.pyplot as plt
import numpy as np
# 数据
x = np.linspace(-5, 5, 50)
y = x**2
# 绘图
plt.plot(x, y)
# =====设置背景====
# 得到ax对象
ax = plt.gca()
# 设置ax区域背景颜色
ax.patch.set_facecolor("gray")
# 设置ax区域背景颜色透明度
ax.patch.set_alpha(0.5)
# 展示
plt.show()
(3)输出效果:

作者:Mark
日期:2019/03/12 周二
4.11Python数据处理篇之Matplotlib系列(十一)---图例,网格,背景的设置的更多相关文章
- 4.7Python数据处理篇之Matplotlib系列(七)---matplotlib原理分析
目录 目录 前言 (一)总框架分析 (二)函数式的绘图 1.说明: 2.函数绘图的缺优点 3.绘图类的函数 4.操作类的函数 5.例子: (三)面向对象式的绘图 1.基本概念 2.基本对象 3.面向对 ...
- 4.14Python数据处理篇之Matplotlib系列(十四)---动态图的绘制
目录 目录 前言 (一)需求分析 (二)随机数的动态图 1.思路分析: 2.源代码: 2.输出效果: 目录 前言 学习matplotlib已经到了尾声,没有必要再继续深究下去了,现今只是学了一些基础的 ...
- 4.13Python数据处理篇之Matplotlib系列(十三)---轴的设置
目录 目录 前言 (一)设置轴的范围 1.同时对于x,y轴设置 2.分别对与x,y轴的设置 (二)设置刻度的大小 1.普通的刻度设置 2.添加文本的刻度设置 3.主副刻度的设置 (三)设置轴的数据 1 ...
- 4.12Python数据处理篇之Matplotlib系列(十二)---绘图风格的介绍
目录 目录 前言 (一)不同风格 1.说明: 2.使用: 3.代码使用: (二)例子演示 1.dark_background 2.bmh 3.fivethirtyeight 4.ggplot 5.gr ...
- 4.10Python数据处理篇之Matplotlib系列(十)---文本的显示
目录 目录 前言 (一)中文显示 ==1.全局的设置== ==2.局部的设置== (二)文本显示 目录 前言 今天我们来学习一下文本的显示 (一)中文显示 ==1.全局的设置== (1)说明: 在ma ...
- 4.9Python数据处理篇之Matplotlib系列(九)---子图分布
目录 目录 前言 (一)subplot()方法 ==1.语法说明== ==2.源代码== ==3.输出效果== (二)subplot2grid方法 ==1.语法说明== ==2.源代码== ==3.展 ...
- 4.8Python数据处理篇之Matplotlib系列(八)---Figure的学习
目录 目录 前言 (一)figure()方法的定义 (二)figure()方法的参数 (三)figure()方法的例子 1.多窗体绘图: 2.窗口得分别率 目录 前言 今天我们来学习一下plt.fig ...
- 4.6Python数据处理篇之Matplotlib系列(六)---plt.hist()与plt.hist2d()直方图
目录 目录 前言 (一)直方图 (二)双直方图 目录 前言 今天我们学习的是直方图,导入的函数是: plt.hist(x=x, bins=10) 与plt.hist2D(x=x, y=y) (一)直方 ...
- 4.5Python数据处理篇之Matplotlib系列(五)---plt.pie()饼状图
目录 目录 前言 (一)简单的饼状图 (二)添加阴影和突出部分 (三)显示图例和数据标签: 目录 前言 饼状图需要导入的是: plt.pie(x, labels= ) (一)简单的饼状图 (1)说明: ...
随机推荐
- 深入MySQL复制(二):基于GTID复制
相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman ...
- ElasticSearch安装及HEAD插件配置
1. 安装 ElasticSearch 直接下载 zip 包解压即可,假设解压到 E:\ESTool\elasticsearch-5.6.3 2. 安装 nodejs 和 npm head 插件本身是 ...
- 重构——与设计模式的恋情
慢慢的,我发现,我想和<重构>加深感情不那么容易,于是我就想办法,重构有个好闺蜜<设计模式>,他们青梅竹马两小无猜,行为习性喜好都差不多,要让重构爱上我,我或许可以和设计模式多 ...
- EF(EntityFramework)与mysql使用,序列化问题[System.ObjectDisposedException]
在EF 中使用mysql关联取数据时,如果当前实体中包含另一个实体的list成员,而这个成员为空的话,在json序列化的时候就会报错: '((System.Data.Entity.DynamicPro ...
- centos7+openvpn+easy3.0
openvpn介绍 OpenVPN 是一个基于 OpenSSL库的应用层 VPN 实现.和传统 VPN 相比,它的优点是简单易用.vpn直译就是虚拟专用通道,是提供企业之间或者公司之间安全数据传输的 ...
- 浅谈select for update 和select lock in share mode的区别
有些情况下为了保证数据逻辑的一致性,需要对SELECT的操作加锁.InnoDB存储引擎对于SELECT语句支持两种一致性的锁定读(locking read)操作. . SELECT …… FOR UP ...
- java连接MySQL数据库的方式
Java连接数据库的几种方法 *说明 1.以MySQL数据库为例 2.分为四个步骤: 建立数据库连接, 向数据库中提交sql 处理数据库返回的结果 关闭数据库连接 一:JDBC 1.建立数据库连接 只 ...
- 为什么需要把页面放在WEB-INF文件夹下面?
1.基于不同的功能 JSP 被放置在不同的目录下 这种方法的问题是这些页面文件容易被偷看到源代码,或被直接调用.某些场合下这可能不是个大问题,可是在特定情形中却可能构成安全隐患.用户可以绕过Strut ...
- C#设计模式之十八状态模式(State Pattern)【行为型】
一.引言 今天我们开始讲“行为型”设计模式的第六个模式,该模式是[状态模式],英文名称是:State Pattern.无论是现实世界,还是面向对象的OO世界,里面都有一个东西,那就是对象.有对象当然就 ...
- mybatis插件机制
目录 mybatis插件机制 主要 类/接口 和 方法 mybatis插件机制实现 mybatis插件机制 mybatis的插件机制使用动态代理实现,不了解的朋友请先了解代理模式和动态代理:插件本质是 ...