数据可视化之matplotlib绘图基础一

解决绘图中乱码问题

plt.rcParams['font.sans-serif']=['Simhei']   # 解决中文乱码问题
plt.rcParams['axes.unicode_minus']=False   # 解决坐标轴刻度负号乱码

Matplotlib三种不同的绘图方式

matplotlib是python最著名的绘图库,它提供了一整套和MATLAB相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。

绘图方式 特点 优劣
pyplot 提供了一套和MATLAB类似的绘图API,将众多绘图对象所构成的复杂结构隐藏在这套API内部,推荐使用 简单易用,方便快捷,交互使用方便,可以根据命令实时作图,但底层定制能力不足
pylab 包括了许多Numpy和pyplot模块中常用的函数,方便用户快速进行计算和绘图,十分适合在IPython交互式环境中使用 完全封装,环境最接近MATLAB,方便用户快速进行计算和绘图,十分适合在IPython交互式环境中
面向对象 Matplotlib的精髓,更基础和底层的方式 接近Matplotlib基础和底层,难度稍大,但定制能力强
import matplotlib.pyplot as plt
import numpy as np 

Matplotlib绘图要点:

在这里插入图片描述

matplotlib 绘图要点–figure, subplot

图:figure,用于创建一个新的绘图对象
fig = plt.figure(figsize = (8,5),dpi = 100)
# 参数
figsize :指定绘图对象的宽度和高度,单位为英寸
dpi:指定绘图对象的`分辨率`,即每英寸多少个像素,缺省值为80
子图的两种绘制方式:add_axes和add_subplot
  • 面向对象的方式画图
  1. 添加坐标轴:ax = fig.add_axes([0.1,0.1,0.8,0.8])
x = np.linspace(0, 5, 10)
y = x ** 2

fig = plt.figure()
axes = fig.add_axes([0.1, 0.1, 0.8, 0.8])    # 添加坐标轴 left, bottom, width, height (range 0 to 1)
axes.plot(x, y, 'r')
axes.set_xlabel('x')
axes.set_ylabel('y')
axes.set_title('面向对象的方式绘图-add_axes')

axes2 = fig.add_axes([0.2, 0.5, 0.4, 0.3])
axes2.plot(y, x, 'g')
axes2.set_xlabel('y')
axes2.set_ylabel('x')
axes2.set_title('标题2')

plt.show()

在这里插入图片描述

  1. 添加子图:ax = fig.add_subplot(111)
x = np.linspace(0,5,10)
y = x**2

# 通过figure对象的.add_subplot方法添加子图
fig = plt.figure()
ax = fig.add_subplot(349)   ## 参数349的意思是:将画布分割成3行4列,图像画在从左到右从上到下的第9块,如下图:
ax.plot(x,y)
ax.set_title("绘图——add_subplot")
plt.show()

在这里插入图片描述

  1. 创建二维线图实例在axes中:ax.plot(x,y)
  • pyplot 的方式:通过figure对象的.add_subplot方法添加子图
  1. plt.plot()直接绘图,默认只有一个子图
plt.rc('figure', figsize=(8, 4)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值