fantastic-matplotlib: 第一回:Matplotlib初相识

@[DataWhale打卡]第一回:Matplotlib初相识

一、认识matplotlib

  1. pandas和seaborn的绘图接口其实也是基于matplotlib所作的高级封装。
  2. 可以说这是一个基于numpy的包?matplotlib总是和numpy同时出现。
import matplotlib.pyplot as plt
import numpy as np

二、一个最简单的绘图例子

核心概念:Matplotlib的图像是画在figure(如windows,jupyter窗体)上的,每一个figure又包含了一个或多个axes(一个可以指定坐标系的子区域)。

画图的两个基本思路(区别在于是否自己给出figure&ax)

#思路一
fig, ax = plt.subplots()  # 创建一个包含一个axes的figure
ax.plot([1, 2, 3, 4], [1, 4, 2, 3])  # 绘制图像
#思路二
plt.plot([1, 2, 3, 4], [1, 4, 2, 3]) 

(作为之前总用matlab的数学人,最初在许多代码上看思路一上列出很多个ax.,总是感觉很头疼,其实只是一个画图的不同思路。)

三、Figure的组成

完整的matplotlib图像通常会包括以下四个层级:

  • Figure:顶层级,用来容纳所有绘图元素
  • Axes:matplotlib宇宙的核心,容纳了大量元素用来构造一幅幅子图,一个figure可以由一个或多个子图组成
  • Axis:axes的下属层级,用于处理所有和坐标轴,网格有关的元素
  • Tick:axis的下属层级,用来处理所有和刻度有关的元素
    (知道一个四层的概念,具体的对应在下一节。)

四、两种绘图接口

其实就是对应两种绘图思路:
matplotlib提供了两种最常用的绘图接口

  1. 显式创建figure和axes,在上面调用绘图方法,也被称为OO模式(object-oriented style)
x = np.linspace(0, 2, 100)

fig, ax = plt.subplots()  
ax.plot(x, x, label='linear')  
ax.plot(x, x**2, label='quadratic')  
ax.plot(x, x**3, label='cubic')  
ax.set_xlabel('x label') 
ax.set_ylabel('y label') 
ax.set_title("Simple Plot")  
ax.legend() 
  1. 依赖pyplot自动创建figure和axes,并绘图
x = np.linspace(0, 2, 100)

plt.plot(x, x, label='linear') 
plt.plot(x, x**2, label='quadratic')  
plt.plot(x, x**3, label='cubic')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")
plt.legend()

两种思路画出的相同
matplotlib官网用户指南

作业

Q:你在工作或学习中通常何时会用到数据可视化,希望通过可视化达到什么目的?
A:
1.更清晰的区分(统计中)
2.更直观的表达(写论文时)
3.更好的感受参数或者某些值的变化(做实验时)

感谢DataWhale,真的很棒,期望后期加入。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值