接上篇,第3章画图的内容,这次学习其他图的画法
3.7.2 饼图
假设数据是这样的:
大概意思是不同地区的学生,在各年有多少数量。
现在要画个饼图,展示2016年各地区学生数量比例关系,饼图长这样:
首先在上一篇讲过,前面要导入两个库:
import pandas as pd
import matplotlib.pyplot as plt
然后把数据表文件读进来,因为饼图的标签会默认拿index的值,所以要设置一下index是国家的列From:
students = pd.read_excel("c:/tmp/1.xlsx",index_col='From')
饼图画的时候只能拿一列来画,也就是students(dataFrame)其中一个Series:
students['2016'].plot.pie()
就这么简单一句就画出来了,当然对默认的样式不满意,就做各种操作。
默认的图是逆时针排列的,如果要顺时针排列,就加个参数 counterclock并设置为Flase:
#顺便改个字号
students['2016'].plot.pie(fontsize=8, counterclock=False)
如果想让第一个开始
再优化一下,加个标题,标签改个样式
plt.title("Source of International Students", fontsize=16, fontweight='bold')
plt.ylabel("2016", fontsize=12, fontweight='bold')
最后显示~
plt.show()
3.7.3 折线图
假设数据是这样的:
大概意思是每周各个类目的销售额,第一列是周(week),其他列是各个类目。
要画一个折线图,大概长这样:
X轴是周,Y轴是销售额,多个折线代表不同类目。
前面依然导入库,和导入文件就不说了,导入文件把第一列week设为index_col。
weeks = pd.read_excel("C:/tmp/1.xlsx", index_col='Week')
然后每列都画一条折线就是这样:
#对应列名的名字就行
weeks.plot(y=['列名1', '列名2', '列名3', '列名4'])
#每个线都用不同的颜色,就在后面加个参数 color,值就是数组,对应位置写上颜色
优化下样式,增加标题,设置一下X轴的标签样式
plt.title("Sales Weekly Trend", fontsize=16, fontweight="bold")
plt.xticks(weeks.index, fontsize=8)
最后显示~
plt.show()
另外,如果要画叠加区域图,就是每个点的值加起来的,像这样:
画图方法就改成这样:
#对应列名的名字就行
weeks.plot.area(y=['列名1', '列名2', '列名3', '列名4'])
#每个线都用不同的颜色,就在后面加个参数 color,值就是数组,对应位置写上颜色
先学习到这吧,下篇学习数据分析里更专业的图,直方图、密度图