Python——matplotlib配置与基本操作

介绍环境准备文件的创建预备知识基本图形绘制特别解释

介绍

Matplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplotlib

环境准备

这里推荐三类运行平台供大家选择,后续的操作将基于ANACONDA完成 1️⃣ANACONDA 2️⃣IDLE 3️⃣Pycharm

ANACONDA

前往ANACONDA官网根据系统自定下载即可,注意事项: (1)在安装时,会选择anaconda路径,注意不要含有空格 (2)在“Advanced Installation Options”中不要勾选“Add Anaconda to my PATH environment variable.(添加Anaconda至我的环境变量)”。如果勾选,则可能会影响其他程序的使用。 (3)除非你打算使用多个版本的Anaconda或者多个版本的Python,否则便勾选“Register Anaconda as my default Python 3.7”

IDLE

(1)确认已经安装Python (2)pip安装 进入到cmd窗口下,建议执行python -m pip install -U pip setuptools进行升级。 升级完成执行 pip install matplotlib 安装完成后,可以用pip list查看本机的安装的所有模块,确保matplotlib已经安装成功。

Pycharm

安装matplotlib模块 File > Settings > Project > Python Interceptor,点击‘+’,搜索matplotlib,点击Install Package即可

文件的创建

IDLE与Pycharm用户正常新建.py文件,直接跳到下一步即可,ANACONDA用户继续向下看

(1)打开ANACONDA NAVIGATOR,点击Jupyter

点击后默认浏览器就会自动打开jupyter界面,jupyter的操作使用界面是web形式,直接在网页 上进行编辑使用(默认打开路径为C:\Users\用户名),界面如下:

(2)点击右上角New > Python3创建新文件,操作步骤及文件界面如下:

下图中,每个In [ ] 都对应着一个独立的板块,可以直接在输入框中撰写Python代码,点击运行即可执行 注:菜单栏中功能均为基础功能(复制、新建、保存、上移、下移等),不做详细介绍

预备知识

使用matplotlib作图的两大方法:面向对象和面向函数

面对函数绘图(pyplot模块有大量函数,供用户调用) functions大都是从matlab移植过来的,熟悉matlab绘图的读者能够很快入门 主要分为四个步骤: 1️⃣准备数据和创建画布;2️⃣绘制线条、散点图;3️⃣对线条、散点图、坐标轴进行描述;4️⃣显示画布面对对象绘图(主要操作Figure和Axes对象)(推荐) 理解了matplotliblib包里面的Figure和Axes对象, 绘制漂亮的科研图就能够运用自如、得心应手 主要分为四个步骤: 1️⃣准备数据;2️⃣创建Figure和Axes对象;3️⃣进行线条、散点图、坐标轴绘制和描述;4️⃣显示画布

基本图形绘制

(1)分别面向对象(ax)和面向函数(plt)绘制一条y=x的直线

# 面向对象的方式

import numpy as np

import matplotlib.pyplot as plt

data = np.array([1,2,3,4,5]) # 创建数据源

fig = plt.figure() # 创建Figure类。pyplot相当于一块画板,而Figure就是画板上的一层画布(肉眼可见的图形的背景),Axes则是在画布上划分的绘画区域

ax = fig.add_subplot(111) # 关于add_subplot(111)的特别解释见文末

ax.plot(data) # 填入数据,绘制图形

plt.show() # 这里绘制的图形不为创建即可见,绘制了图形需要show一下才可以展示(类似h5的Canvas)

# 面向函数的方式

import numpy as np

import matplotlib.pyplot as plt

data = np.array([1,2,3,4,5]) # 创建数据源

plt.plot(data) # 绘制图形

plt.show() # 输出展示图形

(2)绘制从-π到π上的cosx函数

分析:绘制函数实际是将给定的各点连接起来,如果要构建平滑的cos函数,只需要给定足够多的点 numpy提供了linspace()方法,共有三个参数,分别为起始位置,终止位置,分割数量,作用为把指定区间的内容瓜分为指定的份数 np.linspace(-np.pi,np.pi,256)代表将-π到π的区间瓜分为256份,下图代表将-50~50瓜分100份:

import numpy as np

import matplotlib.pyplot as plt

x_data = np.linspace(-np.pi,np.pi,256)

y_data = np.sin(x_data)

plt.plot(x_data,y_data) # 给定一个参数代表 x=y=data,两个参数则分别代表x、y

plt.show()

(3)在[-100,100]区间,使用面向函数的方式绘制出x^3的曲线

import numpy as np

import matplotlib.pyplot as plt

x_data = np.linspace(-100,100,256)

y_data = x_data**3

plt.plot(x_data,y_data)

plt.show()

特别解释

add_subplot

add_subplot(349)方法代表创建坐标轴风格的画布,参数349的意思是:将画布分割成3行4列,图像画在从左到右从上到下的第9块(实例中所用的111参数即为我们日常所接触的xy坐标轴)

通过实例更直观的理解,只有最后一块绘图是因为add_subplot具有覆盖的作用,可以理解为想用2 * 2中的第2块区域,突然又想用2 * 2中的第2块区域,突然又想用2 * 2中的第3块区域,突然又想用2 * 2中的第4块区域,最后决定了第4块,所以绘制在了第4块:

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: