(九)Matplotlib知识学习1-python数据分析与机器
文章原创,最近更新:2018-05-8
1.折线图绘制
课程来源: python数据分析与机器学习实战-唐宇迪
为了方便大家学习,将练习所涉及的练习unrate.csv文件以百度网盘共享的方式分享出来.
链接: https://pan.baidu.com/s/1ixwJ8OLkVuO36E2f28ZtmQ 密码: qcvh
1.原数据的展示
unrate.csv原数据在csv的展现:
原数据是存在两列,一列是DATE,一列是VALUE,VALUE指的是从1948年到2016年的失业率及还未就业的人数占总人口的百分之几.
2.画折线图
根据1948年1-12个月数据情况用折线图画出来.看一下走势是怎么样的?
首先看一下原数据的日期都是以1948/1/1的格式,这样的格式看起来有点不太爽快,因此用to_datetime函数对日期进行类型转换,将/转化成标准的时间格式-
拓外:
利用 pandas 的to_datetime 方法,把 "date" 列的字符类型数据解析成 datetime 对象。
import pandas as pd
unrate=pd.read_csv("unrate.csv")#这里得到unrate数据
unrate["DATE"]=pd.to_datetime(unrate["DATE"])
unrate.head(12)
Out[5]:
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
将matplot这个库导入进来
import matplotlib.pyplot as plt
下面首先了解这个库:
- plot()提供曲线与标志"两种"类型图形(重要)。下面以简单语法为例进行讲解。
plot(x,y,’cs’,label=’testin‘)#其中x表示X轴数据;y表示Y轴数据(如Y值没有输入,X轴坐标为自动分配,x值将会作为Y轴数据);c为颜色定义字符串;s为图形定义字符串,label为图内标签。
以上参数中,已对图形的形状,颜色以及标签进行了 设定,一副完整数据图中仍需要有标题,刻度,刻度标签等设定。
除了以上设置参数外,还有例如:曲线与标志大小,填充颜色等等更多控制参数,请参考:http://matplotlib.org/2.0.0/api/lines_api.html#matplotlib.lines.Line2D
- plt.show(),这个就是把图像显示出来
对plt.plot以及plt.show进行简单的运用,如下
import matplotlib.pyplot as plt
plt.plot()
plt.show()
显示的结果:
查看结果可以知道,首先画出来是一个有x,y轴坐标的图形,因数据是空的,所以对应的图形是空的.
接下来在空白的图形中加一些内容,如下:
plt.plot(first_twelve["DATE"],first_twelve["VALUE"])
plt.show()
显示的结果如下:
通过结果可以看出,显示的结果x轴上的数据-日期,有点长.作为横轴是否有点不太合适?有点难看,能不能稍微看起来更好看点呢?日期都是横着写,并且有些日期因为写不下就少些了,能不能改成纵着写或者斜着写呢?
答案是可以的.可以用plt.xticks函数
首先对 xticks于ytick进行了解:
- xticks于yticks:
xticks于yticks参数可以对轴刻度进行设置,可以将现有刻度进行更改,示例语法:pyplot.xticks(x,xr,rotation=30)# x 代表现有的刻度,xr代表将改成的刻度,rotation代表将刻度逆时针旋转多少度。注意:x与xr 都是必须多于1元素的集合,list与tuple都可以。两者元素可以不相等,但具体显示多少取决于两者的交集。可以简单理解为,前者决定画多个刻度,后者决定几个刻度有标上值
看看图像x轴的日期斜着写,展示的结果:
plt.plot(first_twelve['DATE'], first_twelve['VALUE'])
plt.xticks(rotation=45)
plt.show()
输出的结果如下:
如果将图像x轴的日期纵着写,又是怎么样的?并且怎么将x轴,y轴加标签名呢?如果加上标题又是怎么样呢?
答案是可以的.可以用pyplot.title/plt.xlabel/plt.ylabel函数.
首先对 以上3个函数进行了解:
-
pyplot.title(s)
参数可添加标题,s表示字符串内容,使用中应用引号如:’s‘。例如,plt.title('Histogram of IQ') -
xlabel与ylabel
xlabel与ylabel是X与Y轴添加标签名,帮助阅读图表更能清晰理解。例如,plt.xlabel('Smarts'),plt.ylabel('Probability') #设置 x 轴和 y 轴的文字
看看图像x轴的标签纵着写,添加x,y轴标签名,显示图片的标题,如下:
plt.plot(first_twelve["DATE"],first_twelve["VALUE"])
plt.xticks(rotation=90)
plt.xlabel('Month')
plt.ylabel('Unemployment Rate')
plt.title('Monthly Unemployment Trends, 1948')
plt.show()
输出的结果如下: