matploylib简单操作(一)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/8/10 16:14
# @Author  : limingyu
# @Site    :
# @File    : Test_Matplotlib.py
# @Software: PyCharm
#数据是:1948年到2016年8月每月的失业率

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

unrate = pd.read_csv("UNRATE.csv")
#将DATA(1948/1/1)类型数据转为datetime类型(1948-01-01)
unrate['DATE'] = pd.to_datetime(unrate['DATE'])
print(unrate.head(12)) #输出1948年一年的数据
                        #         DATE  VALUE
                        #0  1948-01-01    3.4
                        #1  1948-02-01    3.8
                        #2  1948-03-01    4.0
                        #3  1948-04-01    3.9
                        #4  1948-05-01    3.5
                        #5  1948-06-01    3.6
                        #6  1948-07-01    3.6
                        #7  1948-08-01    3.9
                        #8  1948-09-01    3.8
                        #9  1948-10-01    3.7
                        #10 1948-11-01    3.8
                        #11 1948-12-01    4.0
#画图一空白图(只有坐标)
plt.plot()  #没有参数表示什么都没画
plt.show()  #显示空白图          

#画图二一块画布(默认大小)
plt.figure()  #没有参数表示什么都没画
plt.show()  #显示空

#画图三一块画布(指定大小(长宽))
fig = plt.figure(figsize=(6,3))
plt.show()  #显示空白图

#画图四
first_twelve = unrate[0:12]  #取前十二行
#传入横坐标,纵坐标
plt.plot(first_twelve['DATE'],first_twelve['VALUE'])
plt.show() #显示图像

#画图五--横轴斜着显示
#xticks和yticks()人为设置坐标轴的刻度显示的值或旋转。
plt.plot(first_twelve['DATE'],first_twelve['VALUE'])
plt.xticks(rotation=45)  #横轴旋转45度,斜着显示
plt.show()

#画图六--横轴纵着显示
plt.plot(first_twelve['DATE'],first_twelve['VALUE'])
plt.xticks(rotation=90)  #横轴旋转90度,纵着显示
plt.show()

#画图七--横轴纵着显示
plt.plot(first_twelve['DATE'],first_twelve['VALUE'])
plt.xlabel('Month')  #横轴标签
plt.ylabel('Unemployment Rate') #纵轴标签
plt.title('Monthly Unemployment Trends,1948') #图像名字
plt.show()

#画图八--添加子图
fig = plt.figure()  #得到默认画图的区间
#在当前2*2区间上,第三个参数是所在位置
ax1 = fig.add_subplot(2,2,1) #ax1代表2*2区间第一个子图
ax2 = fig.add_subplot(2,2,2) #ax2代表2*2区间第二个子图
ax3 = fig.add_subplot(2,2,4) #ax3代表2*2区间第四个子图
plt.show()

#画图九--添加子图
#figsize:指定画图区域大小(区域的长度宽度)
fig = plt.figure(figsize=(3,3))
ax1 = fig.add_subplot(2,2,1) #添加子图
ax2 = fig.add_subplot(2,2,2) #添加子图
ax1.plot(np.random.randint(1,5,5),np.arange(5)) #在子图上画图
ax2.plot(np.arange(10)*3,np.arange(10)) #在子图上画图
plt.show()

#画图十--同一个画布画两条线
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)
    #加上label表示每条线代表的含义,不写的话都显示VALUE
    plt.plot(subset["MONTH"],subset["VALUE"],c=colors[i],label=label)
#显示出标识并确定所在位置
plt.legend(loc='best')
print(help(plt.legend))
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)
    #加上label表示每条线代表的含义,不写的话都显示VALUE
    plt.plot(subset["MONTH"],subset["VALUE"],c=colors[i],label=label)
#显示出标识并确定所在位置
plt.legend(loc='best')
plt.xlabel('Month,Integer')
plt.ylabel('Unemplyment Rate, Percent')
plt.title('Monthly Unemployment Trend,1948-1952')
plt.show()

猜你喜欢

转载自blog.csdn.net/mingyuli/article/details/81585350