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基础教程之实现石头剪刀布游戏示例
Feb 11 Python
操作Windows注册表的简单的Python程序制作教程
Apr 07 Python
Python基础入门之seed()方法的使用
May 15 Python
Python制作爬虫抓取美女图
Jan 20 Python
浅析Python中的赋值和深浅拷贝
Aug 15 Python
python调用matlab的m自定义函数方法
Feb 18 Python
python中resample函数实现重采样和降采样代码
Feb 25 Python
django日志默认打印request请求信息的方法示例
May 17 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
Jul 09 Python
python3 os进行嵌套操作的实例讲解
Nov 19 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
python中random模块详解
Mar 01 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水印技术
2007/02/14 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
CL vs ForZe BO5 第一场 2.13
2021/03/10 DOTA
JQuery 风格的HTML文本转义
2009/07/01 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
vue iview 隐藏Table组件里的某一列操作
2020/11/13 Javascript
微信小程序实现自定义底部导航
2020/11/18 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
利用三角函数在canvas上画虚线的方法
2018/01/11 HTML / CSS
Python中pass语句的作用是什么
2016/06/01 面试题
员工年终演讲稿
2014/01/03 职场文书
房产转让协议书
2014/04/11 职场文书
2014年综治宣传月活动总结
2014/04/28 职场文书
大学毕业生求职自荐书
2014/06/05 职场文书
小学校园文化建设汇报材料
2014/08/19 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
2015年党日活动总结范文
2015/03/25 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
java项目构建Gradle的使用教程
2022/03/24 Java/Android