我们接着上次的继续讲解,先讲一个概念,叫子图的概念。

我们先看一下这段代码

import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(3,2,1)
ax2 = fig.add_subplot(3,2,2)
ax3 = fig.add_subplot(3,2,3)
ax4 = fig.add_subplot(3,2,6)
plt.show()

我们看到plt.figure()这个方法,我们设置一个整体的图。然后我们在往这个图中增加我们需要的子图

fig.add_subplot(3,2,1)意思是在figure中,添加一个3行2列的子图,其中,最后一个参数是子图的位置

我们在做一下变换,对比一下可以很清楚的看到,我们看看下面的代码

import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(4,4,1)
ax2 = fig.add_subplot(4,4,2)
ax3 = fig.add_subplot(4,4,3)
ax4 = fig.add_subplot(4,4,4)
ax5 = fig.add_subplot(4,4,6)
ax6 = fig.add_subplot(4,4,7)
ax6 = fig.add_subplot(4,4,16)
plt.show()

可以得到如下的一个子图

import numpy as np
fig = plt.figure(figsize=(6,6))
ax1 = fig.add_subplot(2,1,1)
ax2 = fig.add_subplot(2,1,2)
ax1.plot(np.random.randint(1,5,5),np.arange(5))
ax2.plot(np.arange(10)*3,np.arange(10))
plt.show()

我们可以看到,我们设置figsize=(6,6)我们可以图的大小。设置两个图

我们在画图的时候,可以直接通过ax1.plot,ax2.plot进行随机数据配置

unrate['MONTH'] = unrate['DATE'].dt.month
unrate['MONTH'] = unrate['DATE'].dt.month
fig = plt.figure(figsize=(6,3)) plt.plot(unrate[0:12]['MONTH'],unrate[0:12]['VALUE'],c ='red')
plt.plot(unrate[12:24]['MONTH'],unrate[12:24]['VALUE'],c ='blue')
plt.show()

可以看到我们可以设置折线图的不同的颜色。

下面我们看看这个例子

fig = plt.figure(figsize=(10,6))
colors = ['red','blue','green','orange','black']
for i in range(5):
start_index = i*12
end_index = (i+1)*12
subset = unrate[start_index:end_index]
plt.plot(subset['MONTH'],subset['VALUE'],c=colors[i])
plt.show()

我们把数据通过不同的颜色的线条画出来了,但是不知道每条线代表的是什么意思。下面我们给折线图加上一个图例:

fig = plt.figure(figsize=(10,6))
colors = ['red', 'blue', 'green', 'orange', 'black']
for i in range(5):
start_index = i*12
end_index = (i+1)*12
subset = unrate[start_index:end_index]
label = str(1948 + i)
plt.plot(subset['MONTH'], subset['VALUE'], c=colors[i], label=label)
plt.legend(loc='best')
plt.show()

我们通过label=label 设置好一个label为图例,然后进行设置,默认为plt.legend(loc='best')图例显示在右边

我们做下点单的修改,让整个折线图完整标准的显示

fig = plt.figure(figsize=(10,6))
colors = ['red', 'blue', 'green', 'orange', 'black']
for i in range(5):
start_index = i*12
end_index = (i+1)*12
subset = unrate[start_index:end_index]
label = str(1948 + i)
plt.plot(subset['MONTH'], subset['VALUE'], c=colors[i], label=label)
plt.legend(loc='upper left')
plt.xlabel('Month, Integer')
plt.ylabel('Unemployment Rate, Percent')
plt.title('Monthly Unemployment Trends, 1948-1952')
plt.show()

我们增加了整个折线图的XY轴表示,图例位置调整为左边。添加了折线图的标题。

今天讲解就先到这里,我们可以看到,通过Matplotlib库,可以很轻松的画出我们想要的图。

感谢各位的阅读,谢谢~~

Python数据可视化库-Matplotlib(二)的更多相关文章

  1. Python数据可视化库-Matplotlib(一)

    今天我们来学习一下python的数据可视化库,Matplotlib,是一个Python的2D绘图库 通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 废 ...

  2. Python数据可视化——使用Matplotlib创建散点图

    Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...

  3. python的数据可视化库 matplotlib 和 pyecharts

    Matplotlib大家都很熟悉    不谈. ---------------------------------------------------------------------------- ...

  4. python 数据可视化(matplotlib)

    matpotlib 官网 :https://matplotlib.org/index.html matplotlib 可视化示例:https://matplotlib.org/gallery/inde ...

  5. Python数据可视化之Matplotlib实现各种图表

    数据分析就是将数据以各种图表的形式展现给领导,供领导做决策用,因此熟练掌握饼图.柱状图.线图等图表制作是一个数据分析师必备的技能.Python有两个比较出色的图表制作框架,分别是Matplotlib和 ...

  6. Python数据可视化利器Matplotlib,绘图入门篇,Pyplot介绍

    Pyplot matplotlib.pyplot是一个命令型函数集合,它可以让我们像使用MATLAB一样使用matplotlib.pyplot中的每一个函数都会对画布图像作出相应的改变,如创建画布.在 ...

  7. Python数据可视化之matplotlib

    常用模块导入 import numpy as np import matplotlib import matplotlib.mlab as mlab import matplotlib.pyplot ...

  8. python数据可视化(matplotlib)

  9. python数据可视化-matplotlib入门(7)-从网络加载数据及数据可视化的小总结

    除了从文件加载数据,另一个数据源是互联网,互联网每天产生各种不同的数据,可以用各种各样的方式从互联网加载数据. 一.了解 Web API Web 应用编程接口(API)自动请求网站的特定信息,再对这些 ...

随机推荐

  1. 测试人员,今天再不懂BDD就晚了!

    首先,测试人员应该参与软件开发的全流程,这一点已经是软件行业的共识了. 其次,新技术.新框架.新思路不断涌现的今天,测试人员除了传统的功能测试,也要不断与时俱进,主动承担起自动化测试.性能测试等.除了 ...

  2. spring 通配符

    原文地址:http://www.bubuko.com/infodetail-848675.html classpath是指 WEB-INF文件夹下的classes目录(惯例大于配置) classpat ...

  3. VS2017专业版使用最新版Qt5.9.2教程(最新教材)

    QT配置  Creator    ================================================================= 之前运行release版本或者de ...

  4. LBP特征

    此篇摘取 <LBP特征原理及代码实现> <LBP特征 学习笔记> 另可参考实现: <LBP特征学习及实现> <LBP特征的实现及LBP+SVM分类> & ...

  5. 水题 Codeforces Round #299 (Div. 2) A. Tavas and Nafas

    题目传送门 /* 很简单的水题,晚上累了,刷刷水题开心一下:) */ #include <bits/stdc++.h> using namespace std; ][] = {" ...

  6. JavaScript--字符串常用方法总结

    JavaScript--字符串常用方法总结 举例模板: var str = "what are you " var str1 = "sss" var txt = ...

  7. 1-17finally关键字

    finally的特点 被finally控制的语句体一定会执行,除非在执行finally语句体之前JVM退出(比如System.exit(0)),一般用于关闭资源 finally如何使用? finall ...

  8. iphone 开发Categories 、Extensions 区别 --转

    Category和Extension这两个概念,即便对于Java程序员,可能也会感到陌生.这是Objective C为程序员提供的两个强大的动态机制——简单地说,它们允许程序员为已有的对象添加新的方法 ...

  9. 132 Palindrome Partitioning II 分割回文串 II

    给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串.返回 s 符合要求的的最少分割次数.例如,给出 s = "aab",返回 1 因为进行一次分割可以将字符串 s 分 ...

  10. Centos系统安装 phpredis 扩展

    Git地址:https://github.com/nicolasff/phpredis 一.安装: phpize ./configure make && make install 其中 ...