python中matplotlib简单的使用

今天学习了matplotlib中的简单使用,其实和以前项目中用到的matlab语句的plot,subplot差不多的。原始文件:

链接:https://pan.baidu.com/s/1_l3ZURqlaDi9-06hqfHRLQ 密码:nn80

import pandas as pd              # 导入pandas库
import matplotlib.pyplot as plt    # 导入pyplot模块
import numpy as np


unrate = pd.read_csv('UNRATE.csv')     # 原始数据
# print(unrate)
# print(unrate['DATE'].head(12))        # 查看数据的前几条

unrate['DATE'] = pd.to_datetime(unrate['DATE'])     # 将数据转换成datetime格式

# print(unrate.head(12))
# 画第一张图,用到的是前12条数据
plt.figure(1)
first_twelve = unrate[0:12]
plt.plot(first_twelve['DATE'], first_twelve['VALUE'])


# 画第二张图,这里只是把x轴的标签修改了一下
plt.figure(2)
plt.plot(first_twelve['DATE'], first_twelve['VALUE'])
plt.xticks(rotation=45)


# 画第三张图,
plt.figure(3)
plt.plot(first_twelve['DATE'], first_twelve['VALUE'])
plt.xticks(rotation=90)                                     # 这里也是把x轴的标签样式修改为90
plt.xlabel('Month')                                         # 修改x轴名称,和Matlab中是一样的
plt.ylabel('Unemployment Rate')                             # 修改y轴名称
plt.title('Monthly Unemployment Trends, 1948')              # 为图片添加标题

# 画第四张图

fig = plt.figure(figsize=(5,3))      # 控制图片大小
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))

# 画第五张图,一张图里面画两条线

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')

# 画第六张图
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])

# 画第七张图
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')                           # 将图例放在最合适的位置


# 画第七张图
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')                 # 设置x轴的名称
plt.ylabel('Unemployment Rate, Percent')     # 设置y轴的名称
plt.title('Monthly Unemployment Trends, 1948-1952')   # 设置图片名称


plt.show()
plt.savefig("seven.png")






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值