Matplotlib实践系列:折线图完全示例

matplotlib是Python下最常用的数据可视化绘图库,功能强大,绘图精美,虽然也有基于matplotlib的seabron库,极大得简化的绘图的流程,但个人还是更加偏向于在静态数据可视化方面使用matplotlib来进行绘图工作。 下面,我们从matplotlib的绘图实践出发,了解如何使用matplotlib绘制可观的图形。 此文简陋,权作引路,更丰富详细的用法和实例,还请自己到matplotlib官网上详参。

一、引入matplotlib

在此, 我们使用tushare模块的股票数据来作为绘图的演示数据

data = ts.get_hist_data('sz50',start='2016-11-01',end='2016-12-30')

data = data.sort_index()

首先,我们绘制一个基本的折线图

简单的使用plot()方法就绘制出了一个基本的的折线图。

为了方便下面的演示,我们在图形里面再加入一个最高价的折线图

在plot()方法后面,再加入一个绘制折线图的方法,就可以在同一个图形里绘制出第二条折线,就是这么简单。

但是我们发现两个问题,第一,图形过小不便于查看,第二,两条折线因为比较相近,颜色也不易区分,接下来,咱们设置一下图形的大小和线条的颜色。

实例化一个figure对象,使用参数figsize设置其大小为(16,8),这样,下面的绘图方法都是继承于figure这个对象的属性了。

我们再解决第二个问题,线条颜色

我们在plot()方法里面使用color属性,把最高价的折线颜色设置为了红色,这样两条折线看起来就容易分清楚了。

但是这样的图片还是太过于简陋,我们把折线图的标题、X轴信息,Y轴信息,图例加上:

因为X轴的信息为时间戳,在这里,我们使用的matplotlib.pylab的datestr2num方法,将时间字符串转换为数字,然后再通过plot_date()方法绘制出折线图,普通的X轴信息使用plt.xticks即可设置。

使用title()方法设置标题,xlable()方法设置X轴说明,ylable()方法设置Y轴说明,legend()方法设置图例。

这样,一个基本的折线图就完成了,但是看着并不是很美观,我们把它美化一下。

这样虽然看起来比之前好看很多了,但是仍然觉得画面粗糙感很强,我们可以试着换一个图形主题。

在这里,我们使用了plt.style.use来设置图形的风格为ggplot,matplotlib官方提供了五种不同的图形风格,分别是:bmh、ggplot、dark_background、fivethirtyeight和grayscale。

更多matplotlib的用例,详见官网的说明。

原文发布于微信公众号 - 州的先生(zmister2016)

原文发表时间:2017-01-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python小屋

Python爬虫系列:判断目标网页编码的几种方法

在爬取网页内容时,了解目标网站所用编码是非常重要的,本文介绍几种常用的方法,并使用几个网站进行简单测试。 ? 代码运行结果: ? 从不同国家的几个网站测试结果来...

2706
来自专栏向治洪

html5 jqueryrotate插件实现旋转动画

CSS3 提供了多种变形效果,比如矩阵变形、位移、缩放、旋转和倾斜等等,让页面更加生动活泼有趣,不再一动不动。然后 IE10 以下版本的浏览器不支持 CSS3...

1756
来自专栏极乐技术社区

【Demo】各类图表Demo源码+相关组件

各类图表功能,小程序自带API并没有提供,所以很多人就用了其他方法来实现,极乐大叔将这些实现方法和教程聚合一下,以便大家能够迅速而方便的使用。 — 相关文章...

2289
来自专栏学海无涯

Python爬虫之初体验

Python爬虫,一般用于抓取特定的内容,最近想学学,通过网络抓取自己想要的内容,于是乎学习了一下Python,用一个小案例来纪念一下学习的成果。 案例程序主要...

3527
来自专栏用户3246163的专栏

FRM知识点结构

这是我对FRM里面Learing Object的整理,一共有66个大的Learning Object。我把相关的整理在了一起,方便大家对学到的知识有个清晰的定位

962
来自专栏葡萄城控件技术团队

使用CSS 3创建不规则图形

前言 CSS 创建复杂图形的技术即将会被广泛支持,并且应用到实际项目中。本篇文章的目的是为大家开启它的冰山一角。我希望这篇文章能让你对不规则图形有一个初步的了解...

19810
来自专栏程序员的碎碎念

用AJAX实现二级分类联动

今天学习到一个不错的内容,那就是分类联动。前面文章有说到ajax的基础知识,今天刚好强化一下所学内容。 ? 来看下效果: ? 当你选择了“地方网站”的时候就会自...

2765
来自专栏MixLab科技+设计实验室

爬虫之数据获取的3种方法

封面由ACE Land 人工智能设计师设计,最近升级了一点点小能力,可以给文字配上Icon啦~ 以下为正文: 这是在开发一个持续监测电商数据变化的工具过程中的经...

3437
来自专栏Jackson0714

【博客美化】08.添加"扩大/缩小浏览区域大小" 按钮

2558
来自专栏debugeeker的专栏

《coredump问题原理探究》windows版5.4节联合体

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

321

扫码关注云+社区