python绘制不带颜色曲线图_python可视化(matplotlib折线图)

这一篇记录python的可视化工具matplotlib库,也就是把处理过DataFrame的结果给可视化出来,可以对照Excel的各种可视化结果。

这一篇主要学习折线图的基础绘制方法,不用复杂的数据集,只是学一下呈现方式和参数设置。

时间和值两个字段,选用折线图呈现一下值随着时间的发展趋势。

先将DATE列的数据类型转换为时间格式,使用pandas的to_datetime函数。

data = pd.read_csv('UNRATE.csv')

data['DATE']=pd.to_datetime(data['DATE'])

data.info()

一、画图。

导入matplotlib库。

import matplotlib.pyplot as plt

plt.plot()

plt.show()不传入任何数据是画一张空白的图。

first_twelve = data[0:12]

plt.plot(first_twelve['DATE'],first_twelve['VALUE'])

plt.show()将数据的前12行切片出来,然后传递进plot函数中,左侧DATE为x轴,右侧VLAUE为y轴,绘制出折线图。

二、坐标轴操作

如果想将x轴的日期进行旋转,需要用到xticks方法。

first_twelve = data[0:12]

plt.plot(first_twelve['DATE'],first_twelve['VALUE'])

plt.xticks(rotation=45)

plt.show()将x轴上的字旋转45度,使用ystick就可以将y轴上的字旋转制定角度。

增加轴标签、表头,一张图的基本属性都有了。

first_twelve = data[0:12]

plt.plot(first_twelve['DATE'],first_twelve['VALUE'])

plt.xticks(rotation=45)

plt.yticks(rotation=30)

plt.xlabel('Month')

plt.ylabel('Rate')

plt.title('First_Drawing')

plt.show()

三、子图

子图设置,画图时为了更好展示,有是需要进行对比,这时候就需要好几张图进行描述,正好用到子图。

子图函数fig=plt.figuer()

fig.add_subplot(X,Y,Z)

fig=plt.figure() #设定空白窗口,只运行这一张不会有显示。

ax1 = fig.add_subplot(4,3,1) #绘制子图,4代表有4行图,3代表有3列,1代表图是第一张。

ax2 = fig.add_subplot(4,3,5)

ax3 = fig.add_subplot(4,3,9)

plt.show()制定1、5、9,就将子图放置在1、5、9号位置

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

ax1 = fig.add_subplot(4,3,1)

ax2 = fig.add_subplot(4,3,5)

ax3 = fig.add_subplot(4,3,9)

plt.show()

plt.figure是设定一个默认的空白区域,其中的figsize参数是制定这个区域的大小。这样得到了一个更大的图。

对子图进行绘制。

ax1.plot([1,2,3,4,5],[3,4,5,6,7])

ax2.plot(np.arange(5),np.random.randint(1,10,5))

plt.show()

指定子图中x、y传入内容即可。

四、多线绘制

同一张图中多线绘制。首先将数据集中的月份进行提取,制定画布尺寸,将第一至第十二月份切片和对应的值传入图中。再将第13至第24月,也就是第二年的切片和值传入图中,制定曲线颜色c的参数,最终进行展示。

data['month']=data['DATE'].dt.month

fig = plt.figure(figsize=(8,5))

plt.plot(data['month'][0:12],data['VALUE'][0:12],c='r')

plt.plot(data['month'][12:24],data['VALUE'][12:24],c='g')

plt.show()

画出前5年的数据。

plt.legend函数绘制了图例,参数为指定在图中的什么位置。

其中label参数要传递进绘制曲线的函数中,指定每条线叫什么。

color=['red','yellow','green','blue','black']

data['mnoth']=data['DATE'].dt.month

fig=plt.figure(figsize=(7,4))

for i in range(5):

start_month = i*12

end_month = (i+1)*12

label = str(1948 +i)

plt.plot(data['month'][start_month:end_month],data['VALUE'][start_month:end_month],c=color[i]

,label = label)

plt.legend = ('upper left')

plt.xlabel('Month')

plt.ylabel('Rate')

plt.title('Rate to Month')

plt.show()

这样就基本完成了折现图的基础操作了。

收藏不点赞都是耍流氓!哭哭

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值