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遍历数组的方法小结
Apr 30 Python
python图像处理之镜像实现方法
May 30 Python
在Python的Django框架中simple-todo工具的简单使用
May 30 Python
Python统计日志中每个IP出现次数的方法
Jul 06 Python
Fiddler如何抓取手机APP数据包
Jan 22 Python
深入理解python中的浅拷贝和深拷贝
May 30 Python
浅谈numpy数组中冒号和负号的含义
Apr 18 Python
python 获取当天凌晨零点的时间戳方法
May 22 Python
Python中字符串与编码示例代码
May 20 Python
Python对称的二叉树多种思路实现方法
Feb 28 Python
Python自定义聚合函数merge与transform区别详解
May 26 Python
详解python3 GUI刷屏器(附源码)
Feb 18 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分页显示制作详细讲解
2006/10/09 PHP
支持php4、php5的mysql数据库操作类
2008/01/10 PHP
PHP学习笔记之一
2011/01/17 PHP
PHP数据的提交与过滤基本操作实例详解
2016/11/11 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
javascript/jquery获取地址栏url参数的方法
2014/03/05 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
详解vue移动端日期选择组件
2018/02/22 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
基于Python log 的正确打开方式
2018/04/28 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
python列表返回重复数据的下标
2020/02/10 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
中学家长会邀请函
2014/02/03 职场文书
安全宣传标语口号
2014/06/06 职场文书
优秀应届生求职信
2014/06/16 职场文书
确保工程质量承诺书
2015/04/29 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
nginx安装以及配置的详细过程记录
2021/09/15 Servers
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python