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 22 Python
Python运算符重载用法实例分析
Jun 01 Python
python实现多线程抓取知乎用户
Dec 12 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
Jun 05 Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
详解django+django-celery+celery的整合实战
Mar 19 Python
python将四元数变换为旋转矩阵的实例
Dec 04 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
Feb 07 Python
python实现串口通信的示例代码
Feb 10 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 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
php基础知识:类与对象(5) static
2006/12/13 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
图解js图片轮播效果
2015/12/20 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
js中getter和setter用法实例分析
2018/08/14 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
Python ftp上传文件
2016/02/13 Python
Python如何快速实现分布式任务
2017/07/06 Python
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
瑞典手机壳品牌:Richmond & Finch
2018/04/28 全球购物
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
迟到检讨书5000字
2014/01/31 职场文书
超市仓管员岗位职责
2014/04/07 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
面试感谢信范文
2015/01/22 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server