matplotlib是Python下最常用的数据可视化绘图库,功能强大,绘图精美,虽然也有基于matplotlib的seabron库,极大得简化的绘图的流程,但个人还是更加偏向于在静态数据可视化方面使用matplotlib来进行绘图工作。

下面,我们从matplotlib的一个折线图开始,了解如何使用matplotlib绘制可观的图形。

此文简陋,权作引路,更丰富详细的用法和实例,还请自己到matplotlib官网上详参。

一、引入matplotlib

import sys

sys.path.append('C:\Python34\Lib\site-packages')

import matplotlib.pyplot as plt

import tushare as ts

%matplotlib inline

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

# 获取上证50指数的历史数据

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

data = data.sort_index()

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

# 一个基本的折线图

x = range(len(data))

# 收盘价的折线图

plt.plot(x,data['close'])

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

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

x = range(len(data))

plt.plot(x,data['close'])

plt.plot(x,data['high'])

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

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

# 设置图形大小和线条颜色

x = range(len(data))

plt.figure(figsize=(10,5))

plt.plot(x,data['close'])

plt.plot(x,data['high'])

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

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

x = range(len(data))

plt.figure(figsize=(10,5))

plt.plot(x,data['close'])

plt.plot(x,data['high'],color='r')

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

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

from matplotlib.pylab import datestr2num

x = range(len(data))

x_date = [datestr2num(i) for i in data.index]

plt.figure(figsize=(10,5))

plt.title("上证50指数历史最高价、收盘价走势折线图")

plt.xlabel("时间")

# plt.xticks(x,[i for i in data.index])

plt.ylabel("指数")

plt.plot_date(x_date,data['close'],'-',label="收盘价")

plt.plot_date(x_date,data['high'],'-',color='r',label="开盘价")

plt.legend()

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

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

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

x = range(len(data))

x_date = [datestr2num(i) for i in data.index]

plt.figure(figsize=(10,5))

plt.title("上证50指数历史最高价、收盘价走势折线图")

plt.xlabel("时间")

plt.xticks(rotation=45)

plt.ylabel("指数")

plt.plot_date(x_date,data['close'],'-',label="收盘价")

plt.plot_date(x_date,data['high'],'-',color='r',label="最高价")

plt.legend()

plt.grid()

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

x = range(len(data))

x_date = [datestr2num(i) for i in data.index]

plt.style.use('ggplot')

plt.figure(figsize=(10,5))

plt.title("上证50指数历史最高价、收盘价走势折线图")

plt.xlabel("时间")

plt.xticks(rotation=45)

plt.ylabel("指数")

plt.plot_date(x_date,data['close'],'-',label="收盘价")

plt.plot_date(x_date,data['high'],'-',label="最高价")

plt.legend()

plt.grid(True)

在这里,我们使用了plt.style.use来设置图形的风格为ggplot。

matplotlib官方提供了五种不同的图形风格,分别是:bmh、ggplot、dark_background、fivethirtyeight和grayscale。

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

========================================================

微信公众号:州的先生 不定期更新分享Python爬虫、数据分析、数据集下载,欢迎关注

python matplotlib绘制折线图_Matplotlib实践系列:折线图完全示例相关推荐

  1. python matplotlib绘制多条折线图

    python matplotlib绘制多条折线图 代码 import matplotlib.pyplot as pltx = [6, 24, 48, 72] y1 = [87, 174, 225, 2 ...

  2. 不愧是摸鱼高手Python matplotlib 绘制频谱图都会,能怪老板不管

    复习回顾 matplotlib 是Python专门用来绘制渲染的模块,其底层主要分为脚本层.美工层和后端.脚本层为我们提供常见图形绘制如折线.柱状.直方.饼图.以往文章 这么详细的Python mat ...

  3. 超详细的Python matplotlib 绘制动态图

    复习回顾 在matplotlib模块中我们前面学习绘制如折线.柱状.散点.直方图等静态图形.我们都知道在matplotlib模块主要有三层脚本层为用户提供快捷的绘制图形方法,美工层接收到脚本层的命令后 ...

  4. Python matplotlib绘制雷达图

    Python matplotlib绘制雷达图 本篇文章介绍使用matplotlib绘制雷达图. 雷达图也被称为网络图,蜘蛛图,星图,蜘蛛网图,是一个不规则的多边形.雷达图可以形象地展示相同事物的多维指 ...

  5. python matplotlib 绘制K线图(蜡烛图)

    python matplotlib 绘制K线图(蜡烛图) csv文件下载地址: 链接:https://pan.baidu.com/s/1EvDxEPuIS8zAseLRO1SDBQ 提取码:lb0t ...

  6. python制作雷达图_如何利用Python matplotlib绘制雷达图

    本篇文章介绍使用matplotlib绘制雷达图. 雷达图也被称为网络图,蜘蛛图,星图,蜘蛛网图,是一个不规则的多边形.雷达图可以形象地展示相同事物的多维指标,雷达图几乎随处可见,应用场景非常多. 一. ...

  7. python matplotlib绘制 3D图像专题 (三维柱状图、曲面图、散点图、曲线图合集)

    python matplotlib 绘制3D图表 文章目录 1. 绘制3D柱状图 2. 绘制3D曲面图 ① 示例1 ② 示例2 3.绘制3D散点图 4. 绘制3D曲线图       ʚʕ̯•͡˔•̯᷅ ...

  8. Python使用matplotlib绘制数据去重前后的柱状图对比图(在同一个图中显示去重操作之后同一数据集的变化情况)

    Python使用matplotlib绘制数据去重前后的柱状图对比图(在同一个图中显示去重操作之后同一数据集的变化情况) #仿真数据 import pandas as pd import numpy a ...

  9. python matplotlib绘制gif动图以及保存

    python matplotlib绘制gif动图以及保存 标签: python matplotlib 谨以此文纪念我两天来的悲剧 昨天我用lstm拟合sin曲线,看到别人画的做的动图很好看,并且还能保 ...

最新文章

  1. 用物理学突破深度学习理论瓶颈? Google-斯坦福发布《深度学习统计力学》综述论文,30页pdf阐述深度学习成功机制...
  2. Sprint软银宣布计划2019年推出5G商用服务
  3. LeetCode Populating Next Right Pointers in Each Node(dfs)
  4. 电磁场与电磁波第一章公式总结
  5. POJ 2385 Apple Catching
  6. HTML框架标签的使用-lt;framesetgt;
  7. php word com,php 展示word
  8. DBeaverEE for Mac(数据库管理工具)v21.2.1中文版
  9. Android webview上传图片(适配3.0,4.0,5.0,6.0)
  10. MATS-2010H硬磁测量装置产品详细介绍
  11. C盘满了怎么办?最强清理工具来了
  12. 软件测试之编写测试用例
  13. 2017年我国大数据趋势分析
  14. java中 @ExcelField 的使用
  15. 风险管理可分为哪两类?具体方法是什么?
  16. C语言实现二、十、十六进制的相互转换
  17. 洛谷:P1462 通往奥格瑞玛的道路
  18. 智能大数据SMART准则(读书笔记)
  19. mysql数据库收缩
  20. 锡瓦塔内霍 墨西哥 / 巴克斯顿 /

热门文章

  1. linux中C编译命令,linux下命令行下编译c程式
  2. 网上FLAC3D学习笔记
  3. 要求输入目录路径以及名字,能够将该路径下的所有文件的属性打印出来,类似ls -la
  4. online learning
  5. strtoupper php 中文,strtoupper回导致中文乱码么
  6. VBA中byref类型不匹配 ByRef Argument Type Mismatch错误
  7. zookeeper的应用和原理
  8. 开学“收心”指南来了
  9. mapgis矢量化怎么打分数_Mapgis矢量化方法
  10. 解决Windows11 Microsoft Store微软商店无法联网 Windows聚焦不更新 微软账户无法登录等