上一节中,我们介绍了关于Python中一个很重要的库Pandas, 今天我们继续学习关于 Matplotlib 中如何画图的教程。
##学习matplotlib的使用
1 | import pandas as pd |
上述csv表格中的数据, 我们希望通过matplotlib 用折线图的形式来展示出来
1 | import matplotlib.pyplot as plt |
####例一
1 | import matplotlib.pyplot as plt |
如果横坐标的 属性的名字特别长(比如是“2017-04-21 8点”等), 就需要将这个属性名做一个角度的旋转
1 | import matplotlib.pyplot as plt |
####例二 介绍matplotlib的使用
在一个区域里假如需要画多个图的时候, 就需要使用matplotlib库。
通过pyplot.add_subplot(4,2,x), 这个表示的是构造的图形为一个4行2列的图形 (按照属性:从左到右,从上到下的顺序),x表示的是在第几块画这个图形, 看下图就比较直白了
1 | import matplotlib.pyplot as plt |
我们通过上图可以清晰的看到, 原本的第三个区域,应该放的子图是空着, 我们ax3这个是直接放到第4个子图的位置上了。
##画折线图
####例三 给figure带入参数的方式
在plt.figure() 给它指定一个画图的大小区域, 比如plt.figure(figsize=(3,3)) 其第一个参数3表示的是宽度是3, 第二个参数3表示的是高度3, 如果想变宽就把第一个参数设置的大一些,同理设置第二个参数。
1 | import matplotlib.pyplot as plt |
详细见下图:
####如果再同一个图中,画2条线的操作:
这里画2条折线, 折线的数据是从上述的csv文件中读取的。
1 | import matplotlib.pyplot as plt |
如果在图形上加入label来表示每个不同颜色的先表达的是什么的实例:
1 | import matplotlib.pyplot as plt |
##柱状图
调用柱状图的方法是通过 bar(x,value, width) , x表示的在x轴的间距, value表示柱子的高度(真实值), width表示的柱子的宽度。
1 |
|
###横向的柱状图
将上面代码中的ax.bar(),这个函数, 改为ax.barh(), 这个图形就变为横向表示的主状态了
如果想要去掉图像上的“小齿” (比如1的位置多出来的一点点线头)的方式,
1 |
|
##散点图
如果csv数据中的值, x,y轴表示的都有意义, 那么在二维坐标轴画出来的都是离散的点, 这种图形的代码, 通过调用
ax.scatter()函数来实现,
1 |
|
##简化图形的做法
###柱状图
如果我们的x轴上每一个值都画一个柱状图(那么看起来会特别的乱), 比方1-2区间内,有1.1,1.2……1.9.20, 我们可能想关注1-1.5之间有多少个值, 1.5-2之间有多少值, 这样的需求。 可以通过以下ax.hist()函数来实现.
1 |
|
###折线图
我们也可以在subplot折线图, 同样做指定一个区间的值,
1 | #其他的代码不再写了 |
###盒图(四分图)
通过的函数是ax.boxplot() 来实现一个盒图
1 |
|
如果想把多个特征的盒图都画到同一个图上
1 |
|
##其他细节
####画折线图,使用自定义的颜色,
1 |
|
####在图上,在特定的值添加文字描述
1 | ax.text(x,y,'文字描述') #x和y就是x轴和y轴的值, 第三个参数就是这个值要添加的文字描述了 |