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

一、曲线的绘制

生活中,和我们关系最密切的可能就是曲线了,python中怎么绘制曲线呢?其实就是用了“很多”个满足某一曲线的点在图上描绘,让人“看起来”像是一条平滑的曲线,数量越多,就越平滑。具体可以通过matplotlib.pylab.plot()函数来实现,以描绘正弦函数图像y=sin(x)为例,过程如下:

 

 

 

上图的代码大致思路就是先存放100个横坐标到x数组中,然后在建立其对应的正弦函数值在y数组中,然后plot函数接收的第一个参数就是横坐标,第二个参数是纵坐标,设定颜色参数为‘blue’即可使用蓝色线条将正弦函数描绘出来。

 

1.颜色参数:color

事实上,上述的颜色color参数在整个matplotlib都是通用的,不然区别太多使用就会非常不方便,具体可以赋值"b, g, r, c, m, y, k, w"任意一个,对应着的颜色的英文是“blue, green, red, cyan, magenta, yellow, black, white”。还有,如果在一个图像上描绘多条曲线,如果不指明颜色的使用,就会按照"b, g, r, c, m, y, k, w"的排列顺序,进行循环使用。

 

 

 

2.线条样式参数:linestyle

matplotlib的线条常用的有3种——加粗线、虚线、点线和虚点线,对应参数为"-"、"--"、“-.”和":",线条描述可能有点抽象,大家可以看下面的实例:

 

 

 

 

 

3.点的形状:maker

一开始我们就说过,matplotlib的画线是将一个一个点描绘在图上,而使人看起来像一条完整的线,所以点就应该是这种线的一个部分,也就说明plot函数有专门定义其属性的参数,如将点设置为比较大的圆形。

 

 

 

恩,上图看起来线条颜色和点的颜色重合了,没事,我们可以通过设置参数markerfacecolor的值来单独定义点的颜色。为了让大家看导的点更加清楚,通过代码“plt.grid(True)”即可使用网格图,效果就像上面的一样。

随着介绍的越多,我们越来越发现这参数好多,导致一行代码会很长,为了减少代码量,matplotlib支持将linestyle、marker和color三个参数写到一起,并作为第二个参数,如画一条红色虚线+蓝色圆点,可以编写以下代码:

 

 

 

之前我们也说到,为了使曲线更加平滑,我们会描绘更多的在曲线上的点,如果这个时候还去将每个点的大小和颜色自定义,那就感觉有点做无用功了。自然而然,matplotlib也考虑到了这个问题,让我们通过设定markevery参数来选择性的自定义点的样式,如对上图,我只要第2、4、6个点使用我的自定义样式,可以这样写:

 

 

 

4.线段的粗细:linewidth

既然点可以通过markersize来控制大小,自然也有参数来控制线条的粗细,那就是参数linewidth,使用方法和markersize类似,具体使用可以对比下面两个曲线:

 

 

 

 

二、图例

虽然曲线能很有效的显示数据的变化特征,但如果曲线失去了数据的含义,那也就没什么意义了,也就是为了更好的描述数据曲线,我们应该为其添加说明,这就是图例。在matplotlib中,是通过pyplot.legend()函数来实现对图例的操控,如我们在右上角为下述3条曲线添加其对应的注释,过程如下图所示:

 

 

 

上述的loc参数就指明了图例的位置应该在右上角,其更多位置值,以及其他诸如图例字体、边框、背景和标题等参数如下图所示:

 

 

 

三、散点图

尽管曲线能够很好的可视化我们的数据,但是在实际生活中,我们往往不知道数据之间的函数关系,这个时候,我们可能仅仅需要将所有的点描绘在图上即可,这种图就是散点图,在matplotlib中可以通过scatter函数来构造散点图,下面举一个最基本的使用:

 

 

 

其中rng是一个伪随机数发生器,我们将通过此对象的方法获取随机数,rng.randn(100)是获取100个符合高斯正态分布的随机数,rng.rand(100)是获取100个不小于0且小于1的浮点数,plt.colorbar()就是上图右边那个东西,大致就是表示什么颜色代表的数值是什么吧,生活中这样的应用我们获取在热力图等方面见得比较多。


#笔记##读书笔记##Python#
全部评论

相关推荐

03-26 22:55
门头沟学院 Java
烤冷面在迎接:河南byd,应该就是郑大了。不过24届计算机是特殊情况,那年除了九✌和强2,以及两三个关系够硬的双非,其他的都是炮灰,感觉是十几年来互联网行业最烂的一年,如果想了解最新的就业情况,得找现在的大四。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务