matplotlib数据可视化

matplotlib数据可视化

1. matplotlib简单介绍

绘制图像一共有两种方式,一种是面向对象的(显示的),利用Figure,axes,另一个是直接用plot.plt(隐式的)

1. 图像的组成

  1. Figure,顶层级,用来容纳所有绘图元素
  2. Axes,容纳大量元素可以用来构造一幅幅子图(一个figure可以由一个或多个子图组成)
  3. Axis,axes的下属层级,用来处理所有和坐标轴,网格有关的元素
  4. Tick,axis的下属层级,用来处理所有和刻度有关的元素

在这里插入图片描述

2.matplot的底层结构

1. 三个层次API:

matplotlib.backend_bases.FigureCanvas 代表了绘图区,所有的图像都是在绘图区完成的
matplotlib.backend_bases.Renderer 代表了渲染器,可以近似理解为画笔,控制如何在 FigureCanvas 上画图。
matplotlib.artist.Artist 代表了具体的图表组件,即调用了Renderer的接口在Canvas上作图。

2. Artist分类

1. primitive
  1. 包含一些用在绘图区的标准图像对象,例如:曲线Line2D,文字text,矩形Rectangle,图像image等

    2. containers
  2. 用来装基本要素的地方,包括图形figure,坐标系Axes,坐标轴Axis

在这里插入图片描述

2. matplotlib标准用法
import matplotlib.pyplot as plt
import numpy as np

#step1
fig = plt.figure()

#step2
ax = fig.add_subplot(2,1,1)

#step3
t = np.arange(0.0,1.0,.01)
s = np.sin(2 * np.pi * t)
line, = ax.plot(t,s,color='blue',lw=2)
3. primitives详细介绍
1. 2DLine:

连接所有顶点的实现样式,也可以是每个顶点的标记

1. 常用参数:

xdata,ydata,linewidth,linestyle,color,marker,markersize

2. 设置属性的方法:
  1. plot()中设置
# 1) 直接在plot()函数中设置
import matplotlib.pyplot as plt
x = range(0,5)
y = [2,5,7,8,10]
plt.plot(x,y, linewidth=10) # 设置线的粗细参数为10
  1. 获得线对象,对线对象进行设置
# 2) 通过获得线对象,对线对象进行设置
x = range(0,5)
y = [2,5,7,8,10]
line, = plt.plot(x, y, '-')
line.set_antialiased(False) # 关闭抗锯齿功能
  1. 获得线属性,使用setp()设置
# 3) 获得线属性,使用setp()函数设置
x = range(0,5)
y = [2,5,7,8,10]
lines = plt.plot(x, y)
plt.setp(lines, color='r', linewidth=10)
3. 绘制lines
  1. 绘制直线lines

  2. pyplot方法绘制

# 1. pyplot方法绘制
import matplotlib.pyplot as plt
x = range(0,5)
y = [2,5,7,8,10]
plt.plot(x,y)
  1. Line2D对象绘制
# 2. Line2D对象绘制
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D      

fig = plt.figure()
ax = fig.add_subplot(111)
line = Line2D(x, y)
ax.add_line(line)
ax.set_xlim(min(x), max(x))
ax.set_ylim(min(y), max(y))

plt.show()
  1. errorbar绘制误差折线图

  2. 构造函数主要参数:

x,y,yerr(y轴水平的误差),xerr,fmt(折线图的风格),ecolor,elinewidth

import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
x = np.arange(10)
y = 2.5 * np.sin(x / 20 * np.pi)
yerr = np.linspace(0.05, 0.2, 10)
plt.errorbar(x, y + 3, yerr=yerr, label='both limits (default)')
2. patches
1. Rectangle矩形:

通过锚点xy及其宽高生成

  1. hist-直方图

    1. 常用参数:

      x,bins,range,density(显示频数统计结果),histtype(bar,barstacked,setp,setpfilled)࿰

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值