Python之数据可视化——matplotlib系统介绍(一)

matplotlib基础系统介绍

目录

1. Matplotlib概述

2. 讲解Matplotlib核心原理

3. Matplotlib相关基础操作介绍

  • 3.1 创建figure(画布)的方式及完整绘图步骤
  • 3.2 线型设置
  • 3.3 中文与特殊符号(负号)相关支持设置
  • 3.4 图例和网络的设置
  • 3.5 坐标轴的设置和相关操作
  • 3.6 figure的区域和大小设置

1.Matplotlib概述

Matplotlib 是一个基于python 的绘图库,完全支持二维图像,有限支持三维图形,Matplotlib是python编程语言及其数据科学扩展包NumPy的可视化操作界面库。它利用通过的图形用户界面工具包(如Tkinter、wxPython 、Qt、FLTK、Cocoatoolkits或GTK+)向应用程序嵌入式绘图提供了应用程序接口(API)。此外,Matolotlib还有一个基于图像处理库(如图形库OpenGL)的pylab接口,其设计与MATLAB非常类似。SciPy就是用Matplotlib进行图形绘制。


2. 讲解Matplotlib核心原理

想认识matplotlib绘图的原理就必须清楚的理解figure(画布)、axes(坐标系)、axis(坐标轴)三者之间的关系
在这里插入图片描述
类似画画,首先需要一张画布,对于matplotlib相当于初始化了一张figure(画布),然后一张画布可以分配出不同的区域进行画画,相当于figure可以指定多个axes(坐标系),而在每个axes(坐标系)上绘图,相当于每个axes(坐标系)中都有一个axis(坐标轴)

  • 画图的实现
    在这里插入图片描述
  • matplotlib绘图实现
    在这里插入图片描述

3. Matplotlib相关基础操作介绍

3.1创建figure(画布)的方式及完整绘图步骤
一、创建figure(画布)的方式
  • 隐式创建
  • 显示创建

①隐式创建figure对象

先观察下面代码

import matplotlib.pyplot as plt
x = [-1, 3, 5, 0]
y = [4, -9, 2, 8]
plt.plot(x, y)
plt.show()

在这里插入图片描述
看到上面的结果,可能会有疑问,在前面的叙述中,我们已经说过,想要使用matplotlib绘图,必须先要创建一个figure(画布)对象,可是上面的代码并没有创建,这是为什么呢?

  • 这是因为在第一次执行plt.xxx()这句代码时,系统就会自动地去判断是否已经有了figure对象,如果没有,系统会自动创建一个figure对象,并且在这个figure之上,自动创建一个axes坐标系。
    注意:
    1. 当我们只是绘制一个图形时,那么直接plt.xxx(),系统会自动帮我创建一个figure对象和一个axes坐标系。
    2.这也意味着如果我们不设置figure对象,那么一个figure对象上,只能有一个axes坐标系,即我们只能绘制一个图形。

②显式创建figure对象

  • 对于不同的图,想让他分布在不同的图上,那么就得用plt.figure进行设置,以plt.figure( )开头,获取每个axes(坐标系)
    观察下面基本创建代码,后面会详细介绍
import matplotlib.pyplot as plt
figure = plt.figure()  # 创建figure(画布)
figure.add_subplot(2,2,1)
figure.add_subplot(2,2,2)
figure.add_subplot(2,2,3)
figure.add_subplot(2,2,4)
plt.plot()
plt.show()

在这里插入图片描述
导入数据之后的结果

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-2,2,200)
y1 = 2 * x + 1
y2 = 2*x**2
y3 = 1/x
y4 = x ** 0.5
figure = plt.figure()
axes1 = figure.add_subplot(2,2,1)
axes2 = figure.add_subplot(2,2,2)
axes3 = figure.add_subplot(2,2,3)
axes4 = figure.add_subplot(2,2,4)
axes1.plot(x, y1)
axes2.plot(x, y2)
axes3.plot(x, y3)
axes4.plot(x, y4)
plt.show()

结果如下图所示
在这里插入图片描述

二、完整的绘图步骤
  • 初步认识创建figure后,我了解基本的绘图步骤

① 导库

# 我们主要用的是matplotlib中的pyplot
import matplotlib.pyplot as plt 

② 创建figure画布对象

  • 如果绘制一个简单的小图形,可以不设置figure对象,系统默认创建的figure对象。

  • 如果需要绘制多个图形,那么就必须创建figure对象并且得到每个位置上的axes对象,再对每个axes相应的位置进行绘制。

③ 根据figure对象进行布局设置

figure = plt.figure()  #只有一个坐标系
figure.add_subplot(1, 1, 1)
plt.show()

figure = plt.figure()  # 图一
figure.add_subplot(1, 2, 1)
figure.add_subplot(1, 2, 2)
plt.show()

figure = plt.figure()  # 图二
figure.add_subplot(2, 2, 1)
figure.add_subplot(2, 2, 2)
figure.add_subplot(2, 2, 4)
plt.show()

在这里插入图片描述

根据上面代码自行测试得出规律

④ 获取对应的axes坐标系对象

figure = plt.figure()
axes1 = figure.add_subplot(2,2,1)
axes2 = figure.add_subplot(2,2,2)
axes3 = figure.add_subplot(2,2,3)
axes4 = figure.add_subplot(2,2,4)

⑤ 对相应位置的图形进行绘制
绘制图形关键一步:传入数据,并对绘制图形的一些细节进行设置。如下例子,相关知识点后续会介绍;

x = np.linspace(-2, 2, 200)
y2 = 2 * x ** 2
plt.plot(x, y2, 'b-o', lw=5, marker='o', mfc='r')
plt.show()

在这里插入图片描述

⑥ 显示图形

如果是在pycharm中绘图的话,必须要加下面代码,才能显示
plt.show()
至于figure.show()不知道是本人的版本问题还是怎么样,在pycharm中没效果
如果使用Jupyter Notebook 则不需要,自动显示

3.2 线型设置

线型设置主要四种

  • ①颜色
  • ②点标记
  • ③线条样式
  • ④透明度设置
常用的参数名 (小括号为简写) 参数介绍
color( c ) 线条颜色
linestyle(ls) 线条形状
linewidth(lw) 线的宽度
marker 点标记形状
markersize(ms) 点标记的大小
markeredgecolor(mec) 点边缘颜色
markeredgewidth(mew) 点边缘宽度
markerfacecolor(mfc) 点的颜色

举例:

plt.plot([5, 6, 7, 8], [1, 2, 3, 4], color='blue', linestyle='--',
         linewidth=5, marker='^', markeredgecolor='green', markersize=7,
         markeredgewidth=2, markerfacecolor=
  • 21
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值