python Matplotlib模块的使用


Posted in Python onSeptember 16, 2020

一、Matplotlib简介与安装

Matplotlib也就是Matrix Plot Library,顾名思义,是Python的绘图库。它可与NumPy一起使用,提供了一种有效的MATLAB开源替代方案。它也可以和图形工具包一起使用,如PyQt和wxPython。

安装方式:执行命令 pip install matplotlib

一般常用的是它的子包PyPlot,提供类似MATLAB的绘图框架。

二、使用方法

1.绘制一条直线 y = 3 * x + 4,其中 x 在(-2, 2),取100个点平均分布

# -*- coding: utf-8 -*-

import matplotlib.pyplot as plt
import numpy as np

# 创建数据
x = np.linspace(-2, 2, 100)
y = 3 * x + 4

# 创建图像
plt.plot(x, y)

# 显示图像
plt.show()

2.在一张图里绘制多个子图

# -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt

from matplotlib.ticker import NullFormatter

"""
多个子图
"""

# 为了能够复现
np.random.seed(1)

y = np.random.normal(loc=0.5, scale=0.4, size=1000)
y = y[(y > 0) & (y < 1)]
y.sort()
x = np.arange(len(y))

plt.figure(1)

# linear
# 使用.subplot()方法创建子图,221表示2行2列第1个位置
plt.subplot(221)
plt.plot(x, y)
plt.yscale('linear')
plt.title('linear')
plt.grid(True)

# log
plt.subplot(222)
plt.plot(x, y)
plt.yscale('log')
plt.title('log')
plt.grid(True)

# symmetric log
plt.subplot(223)
plt.plot(x, y - y.mean())
plt.yscale('symlog', linthreshy=0.01)
plt.title('symlog')
plt.grid(True)

# logit
plt.subplot(224)
plt.plot(x, y)
plt.yscale('logit')
plt.title('logit')
plt.grid(True)
plt.gca().yaxis.set_minor_formatter(NullFormatter())
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.25,
          wspace=0.35)

plt.show()

3.绘制一个碗状的3D图形,着色使用彩虹色

# -*- coding: utf-8 -*-

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

"""
碗状图形
"""

fig = plt.figure(figsize=(8, 5))
ax1 = Axes3D(fig)

alpha = 0.8
r = np.linspace(-alpha, alpha, 100)
X, Y = np.meshgrid(r, r)
l = 1. / (1 + np.exp(-(X ** 2 + Y ** 2)))

ax1.plot_wireframe(X, Y, l)
ax1.plot_surface(X, Y, l, cmap=plt.get_cmap("rainbow")) # 彩虹配色
ax1.set_title("Bowl shape")

plt.show()

4.更多用法

参见官网文档

以上就是python Matplotlib模块的使用的详细内容,更多关于python Matplotlib模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
浅要分析Python程序与C程序的结合使用
Apr 07 Python
python实现简单遗传算法
Mar 19 Python
TensorFlow损失函数专题详解
Apr 26 Python
python3实现基于用户的协同过滤
May 31 Python
python通过Windows下远程控制Linux系统
Jun 20 Python
python中scikit-learn机器代码实例
Aug 05 Python
python虚拟环境模块venv使用及示例
Mar 04 Python
Python中remove漏删和索引越界问题的解决
Mar 18 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
Mar 30 Python
django为Form生成的label标签添加class方式
May 20 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
python爬取抖音视频的实例分析
Jan 19 Python
Python类成员继承重写的实现
Sep 16 #Python
PyCharm设置注释字体颜色以及是否倾斜的操作
Sep 16 #Python
Python面向对象多态实现原理及代码实例
Sep 16 #Python
Python使用pycharm导入pymysql教程
Sep 16 #Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 16 #Python
基于Python实现体育彩票选号器功能代码实例
Sep 16 #Python
Python面向对象特殊属性及方法解析
Sep 16 #Python
You might like
php给图片加文字水印
2015/07/31 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
jquery each()源代码
2011/02/14 Javascript
Jquery实现简单的动画效果代码
2012/03/18 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
javascript时间函数大全
2014/06/30 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
python中使用mysql数据库详细介绍
2015/03/27 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
Flask之flask-script模块使用
2018/07/26 Python
实例讲解python中的序列化知识点
2018/10/08 Python
django项目用higcharts统计最近七天文章点击量
2019/08/17 Python
python使用 __init__初始化操作简单示例
2019/09/26 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
美国著名珠宝品牌之一:Jared The Galleria Of Jewelry
2016/10/01 全球购物
迟到检讨书300字
2014/02/14 职场文书
《春晓》教学反思
2014/04/20 职场文书
爱护花草树木的标语
2014/06/11 职场文书
论群众路线学习心得体会
2014/10/31 职场文书
员工2014年度工作总结
2014/12/09 职场文书
慰问信格式
2015/02/14 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
什么是SOLID
2022/03/24 Javascript