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实现基于权重的随机数2种方法
Apr 28 Python
Python文件读取的3种方法及路径转义
Jun 21 Python
python基于pygame实现响应游戏中事件的方法(附源码)
Nov 11 Python
Python 正则表达式入门(初级篇)
Dec 07 Python
pandas 对每一列数据进行标准化的方法
Jun 09 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
Python中Proxypool库的安装与配置
Oct 19 Python
Python为何不能用可变对象作为默认参数的值
Jul 01 Python
对Django的restful用法详解(自带的增删改查)
Aug 28 Python
Python实现括号匹配方法详解
Feb 10 Python
pytorch 一行代码查看网络参数总量的实现
May 12 Python
python人工智能human learn绘图可创建机器学习模型
Nov 23 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
比file_get_contents稳定的curl_get_contents分享
2012/01/11 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
animate.css在vue项目中的使用教程
2018/08/05 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
一文了解Vue中的nextTick
2019/05/06 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
JS+JQuery实现无缝连接轮播图
2020/12/30 jQuery
Windows下安装python2和python3多版本教程
2017/03/30 Python
用Python设计一个经典小游戏
2017/05/15 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
python中def是做什么的
2020/06/10 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
西安启天科技有限公司网络工程师面试题笔试题
2016/06/12 面试题
酒店保洁主管岗位职责
2013/11/28 职场文书
西门豹教学反思
2014/02/04 职场文书
安全生产工作汇报
2014/10/28 职场文书
财务部岗位职责范本
2015/04/14 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python
阿里云日志过滤器配置日志服务
2022/04/09 Servers
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python