Matplotlib可视化实践系列:折线图



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

一、引入matplotlib

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

open high close low volume price_change p_change ma5 ma10 ma20 v_ma5 v_ma10 v_ma20
date
2016-11-01 2250.49 2263.62 2263.48 2246.95 220153.06 13.01 0.58 2255.026 2249.795 2222.904 241296.18 287549.64 235541.77
2016-11-02 2256.12 2259.19 2244.74 2242.77 222608.25 -18.74 -0.83 2252.550 2252.116 2226.805 231525.71 280377.65 242027.97
2016-11-03 2241.44 2283.25 2273.63 2239.87 409130.28 28.89 1.29 2257.224 2257.137 2231.718 266475.15 301517.76 256544.75
2016-11-04 2271.85 2284.95 2271.93 2266.92 361920.91 -1.70 -0.07 2260.850 2260.255 2236.447 282392.41 302041.27 270031.14
2016-11-07 2271.96 2279.55 2276.95 2265.36 259667.05 5.02 0.22 2266.146 2260.855 2240.151 294695.91 278404.53 273364.39
2016-11-08 2284.01 2294.62 2282.42 2276.74 325958.75 5.47 0.24 2269.934 2262.480 2243.811 315857.05 278576.61 279077.64
2016-11-09 2281.12 2281.59 2263.92 2244.43 373524.31 -18.50 -0.81 2273.770 2263.160 2246.957 346040.26 288782.99 290014.44
2016-11-10 2279.94 2297.97 2289.45 2279.94 345659.97 25.53 1.13 2276.934 2267.079 2251.323 333346.20 299910.68 298143.04
2016-11-11 2285.61 2315.96 2308.43 2284.29 569486.00 18.98 0.83 2284.234 2272.542 2256.254 374859.22 328625.81 314642.09
2016-11-14 2304.61 2338.58 2317.77 2303.97 616848.62 9.34 0.41 2292.398 2279.272 2262.498 446295.53 370495.72 333903.58

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

简单的使用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的用例,详见官网的说明。

如果本文对你有帮助,请打赏州的先生,鼓励他继续写作!

点赞
州的先生

发表评论

电子邮件地址不会被公开。