【有书共读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所引用对象的切片。

 

 

 

 

#Python##读书笔记##笔记#
全部评论
小姐姐的忠实粉~示例和解释都很好
点赞 回复 分享
发布于 2018-09-09 22:33

相关推荐

02-12 20:22
重庆大学 Java
字节暑期刚入职四天,因为是年前,所以很多正职都放假走了,也就没有给我分配mt,然后有一个老哥在我来的时候给我发了一个landing手册,然后还有关于部门业务的白皮书,还有一些业务代码。然后本人是java面的,进来第一次接触go语言 前面几天熟悉了一下go的语法和go的框架,可以读但是还不太会写,然后业务白皮书也看的很头疼,包括landing手册里要了解的很多东西说实话我看文档真的快看死了,一个嵌套一个,问题是我还完全不知道咋用这个我了解的东西,还有就是那个项目代码,那个老哥喊我去写写单测,熟悉一下go的语法,但也进行的很困难(这是我第一段实习,之前都是springboot那一套,真不太熟悉这个)想问问大家的建议,就是我从现在开始到在开年回来之前应该做些什么,我目前就一个想法 就是复现一个landing手册上的go框架小项目 就是相当于帮自己锻炼锻炼怎么写go 或者各位大佬有没有更好的锻炼go语法的建议还有就是大家都在说vibe coding,那我应该怎么锻炼自己使用ai的能力,感觉我除了给一些需求然后它给我生成代码,好像就没别的用法了,那些什么工作流、拆解、skill啥的都不知道从哪一个地方开始,包括我现在正在实习,不知道精力该怎么分配,去网上想找找关于agent开发的一些学习流程,说实话,众说纷纭,有的是从python开始打基础然后系统学那些rag prompt langchain mcp等等,有的是说直接找一个github上的ai项目然后反复问ai,我确实有点迷茫,恳求各位大佬能留下你们宝贵的建议,我一定认真反复深刻学习有一说一 我觉得字节饭挺好吃的!
双非后端失败第N人:1. go语言我建议你让ai带着你先把基本语法速通了,然后再去用go重新刷你以前刷过的leetcode,这样熟悉起来很快 2. 直接看你们组go项目,里面用***比较复杂,然后把每一个语法现象都喂给ai,一点点看
字节跳动公司福利 1374人发布
点赞 评论 收藏
分享
对空六翼:你真幸运,碰见这么好的人,不像我,秋招的时候被室友骗进cx了
实习好累,可以辞职全力准...
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务