Matplotlib学习笔记(2)--Matplotlib面向对象绘图
Matplotlib面向对象简介
Matplotlib面向对象主要是可以实现更加定制化的绘图,但相比于通过直接使用pyplot而言使用也更加复杂。Matplotlib中大的对象主要分为三个,FigureCanvas(画布),Figure(图),Axes(绘制的坐标轴)。
一张图中绘制多个子图
import matplotlib.pyplot as plt
import numpy as npx = np.arange(1, 100)# 创建一个图
fig = plt.figure()
#331表示,将这个图分为3*3的格式(即一共可以添加9个子图),并添加一号子图
ax1 = fig.add_subplot(331)
ax1.plot(x,x)
#334表示向这个3*3的图中添加四号子图
ax2 = fig.add_subplot(334)
ax2.plot(x,np.log(x))# 对于同一个figure而言,划分成的格式应该一样
# 例如对于上边的figure而言,fig.add_subplot()中的参数只能是“33X”
# 33表示的是将一个figure按照3*3划分,X表示要操作的子图,取值范围为1-9plt.show()
生成多张图
生成多张图可以通过创建多个Figure对象来实现
import matplotlib.pyplot as plt
import numpy as npx = np.arange(0, 100)fig1 = plt.figure()
ax1 = fig1.add_subplot(111)ax1.plot(x,x)fig2 = plt.figure()
ax2 = fig2.add_subplot(111)ax2.plot(x,-x)plt.show()
网格背景及图例的显示
import matplotlib.pyplot as plt
import numpy as npx = np.arange(1,10,1)plt.plot(x,x*2,label="Normal")
plt.plot(x,x*3,label="Fast")
plt.plot(x,x*4,label="Faster")#网格的显示可以通过plt.grid(True)来显示
plt.grid(True)
#图例的显示可以通过plt.legend()来显示,需要提前给要绘制的图形添加上label
plt.legend()plt.show()
官网对于legend的参数的详解
官网对于grid的参数的详解
在使用面向对象的绘图中可以通过对Axes的操作来实现图例的显示
x = np.arange(1,10,1)fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(x,x*2,label="Normal")
ax1.legend()plt.show()
调整坐标轴范围
调整坐标轴范围可以有多种方式,
import matplotlib.pyplot as plt
import numpy as npx = np.arange(1,11,1)fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(x,x)
方式一
#使用plt.axis()函数,四个值分别对应着x轴的起点,终点,y轴的起点,终点plt.axis([5,10,4,8])
方式二
#使用plt.xlim()函数plt.xlim(xmin=2,xmax=8) plt.ylim(ymin=2,ymax=8)
调整坐标轴的刻度
import numpy as np
import matplotlib.pyplot as pltx = np.arange(1,11,1)plt.plot(x,x)ax = plt.gca()
#只调整x轴刻度
ax.locator_params('x',nbins=20)plt.show()
调整坐标轴的刻度有两种方式:
通过Axes对象的locator_params()函数(面向对象的方式)
通过matplotlib.pyplot的locator_params()函数
两种方式其实使用的都是locator_params(),其有多个参数可供选择
常用参数有:
nbins:划分成多少份刻度
x:表示调整的是x轴刻度
y:表示调整的是y轴刻度
注:若x,y都不填则默认参数为both,即两个轴都会调整
locator_params()官网参数详解
绘制样式的美化
之前的绘制都是直接使用原生的样式来绘制,而Matplotlib内建的提供了更多的多种样式可供我们选择。
#通过使用该方法可以美化我们绘制出的图形
plt.style.use('ggplot')#该方法可以查看当前可供选择的style
plt.style.available
Matplotlib学习笔记(2)--Matplotlib面向对象绘图相关推荐
- matplotlib学习笔记 - 散点图、条形图和直方图
Matplotlib 学习笔记 - 散点图.条形图和直方图 散点图 from matplotlib import pyplot as plt from matplotlib import font_m ...
- matplotlib学习笔记(3)---热力图(Heat Map)
matplotlib学习笔记(3)-热力图(Heat Map) import matplotlib.pylab as plt import seaborn as sns import numpy as ...
- 【莫烦Python】Matplotlib学习笔记(二)
[莫烦Python]Matplot学习笔记(一) [莫烦Python]Matplotlib学习笔记(二) 一.Bar柱状图/条形图 二.Contours等高线图 三.Image图像 四.3D图像 五. ...
- MATLAB学习笔记——二维和三维绘图
MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...
- Qt 学习笔记(5)绘图 五子棋游戏
在上一篇博客C++ Qt学习笔记(4)绘图中介绍了Qt中的绘图方法,基于上一篇的博客的知识,使用QPainter设计一个五子棋的棋盘,后续会完成五子棋的游戏设计. 1. 棋盘的设计 首先需要绘制棋盘的 ...
- Java学习笔记 六、面向对象编程中级部分
Java学习笔记 六.面向对象编程中级部分 包 包的注意事项和使用细节 访问修饰符 访问修饰符的注意事项和使用细节 面向对象编程三大特征 封装 封装的实现步骤(三步) 继承 继承的细节问题 继承的本质 ...
- python可视化:matplotlib学习笔记
信息可视化是数据分析的一块重要内容.这是一个探索性的过程.比如说,可以帮助我们坚定离群值,或者必要的数据转换,又或者是构建一个理想的模型.对于其他的一些领域,也可以进行web可视化.Python有许多 ...
- Python数据分析三剑客学习笔记Day6——matplotlib包的使用:数据可视化,简单绘制柱状图、曲线图、饼图、频率分布直方图
本文是视频Python数据分析三剑客 数学建模基础 numpy.pandas.matplotlib的学习笔记. -------------------------------------------- ...
- Python数据科学学习笔记之——Matplotlib数据可视化
Matplotlib 数据可视化 1.Matplotlib 常用技巧 1.1.导入 Matplotlib import matplotlib as mpl import matplotlib.pypl ...
- matplotlib学习笔记——入门版(超详细)
最近才肝完的matplotlib入门教程,学习笔记顺便写上.欢迎大家在评论区补充.提问-- print('--------------------------------------------mat ...
最新文章
- word 生成HTML
- linux进不了容器配置目录,linux – 在Docker容器中使用bcrypt的ELF头文件或安装问题...
- linux-mint 安装 python 包 Gevent
- 2.2 清除标注错误的数据-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
- kettle预览点两下才出数_BBG代王 | 7.16直播预览
- [USACO14JAN]记录奥林比克
- 伪装 php 版本号,linux伪装隐藏Nginx,PHP版本号提升服务器安全性
- liunx常用命令笔记
- php转盘中奖率,PHP大转盘中奖概率算法实例_PHP
- python3 字符串格式化_Python3-字符串格式化
- miui通知栏要点两下_「MIUI玩机技巧56」小米应用商店 新增 通知栏快捷入口
- 易福门流量计SA5000
- SAP培训行业权威评测---51sap培训评测网(www.51sap.net)
- 【GitHub】GitHub上指定文件夹轻松下载
- Ubuntu 11.10安装QQ2012
- AutoCAD 2004-2022 官方简体中文版下载直链
- 从VIVO到华为,让人目瞪口呆的“未来SMT智能工厂”亮相
- Javaweb学习笔记3—Serverlet
- java生成AES秘钥
- (邱维声)高等代数课程笔记:矩阵的加法、数量乘法与乘法