跟老齐学python数据分析笔记_【有书共读12】跟老齐学Python数据分析读书笔记8

Matplotlib绘图基础

“一图胜千言”,在分析数据时,将其有图展示出来,人们可以更高效地从探寻其中的规律。Matplotlib就是python提供的绘图工具。如下图所示,前三行,我们首先引入必要的依赖,第4、5行定义变量并给它们赋值,第7行定义如何绘制,第8行将其显示到窗口中。

在Python中万物皆是对象,Matplotlib”绘图”及“所绘对象”都是对象,Matplotlib能绘制的对象有两类,一类是基本元素(primitives)类,如Text、Line2D、Rectangle等;另一类是容器(container)类如:Figure、Axes、Axis。Python中以“面向对象”的思想绘制图像,第一步:创建Figure对象如下图所示。它类似于一张画布,可以在画布上创建其它对象。

接下来,就可以通过此对象调用相应的方法,实现在画布上画图(添加对象)的操作。如下图所示,

通过fig.add_axes()方法我们在画布上创建了一个Axes对象,由于它是一个容器,故它还可以包含其他东西。定义变量以获得数据,然后调用Axes对象的plot方法绘图,如下图所示。

最后,我们还可以调用Figure的savefig()方法将图像保存到磁盘。

设置坐标系

1.坐标网格

当绘图程序使用“MATLAB”风格时,一般通过plt操作各种绘图相关的方法和属性,而”面向对象”风格通常使用figgure对象调用方法创建的对象(下图中的ax对象);但使用二者添加网格的方法是一样的,都是plot()方法。

如下图所示

2.坐标轴

可以根据需求自行调整坐标轴的范围和轴标题,如下图红色框中代码所示,分别设置了x轴和y轴的标题与轴的范围。此外,我们还可以通过使用ax.set_xticks()设置x轴刻度,通过ax.yaxis.set_major_locator(plt.NullLocator())设置y轴不显示刻度(线和文本)。通过ax.xaxis.set_major_formatter(plt.NullFormatter())设置x轴不显示文本(标识)但显示刻度线。

3.分区

使用plt.plot()绘图,画布上只有一个坐标系,若是想要有多个坐标系,则可以使用plt.subplots();如下图所示,创建了一个2*3的分区,同一行的分区,共用y轴的文本,同一列的分区,共用轴的文本。从左上到右下,坐标分别为(0,1),(0,2),(0,3),(1,1),(1,2),(1,3).

而plt.subplot()可以得到分区中的一个子图。如下图所示。与上面不同的是,它的编号是从1开始的,而不是0;

此外,我们还可以使用fig.add_axes()方法,通过创建Axes对象来等同于创建一个新的坐标系。如下图所示。

plt.GridSpec()可以实现更灵活地创建分区,如下图所示,plt.GridSpec(3,3,hspace=0.3,wspace=0.3)将画布分成3行3列的网格,hspace和wspace分别是距左侧和上侧的偏移量,然后,向plt.subplot()传入g所引用对象的切片。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值