- 原表数据。是2016年留学生所学的领域人数分布。可以看到是按Field字母排序的。
2. 我们可以用柱状图和饼图来分析这个数据。柱状图是为了做比较。饼图来看每个专业所占比例。柱状图为了区分互相之间谁高谁低。excel里操作,选中所有数据区域,点击插入,选柱状图,普通的柱状图即可。
比如我们想排个序,直接选数据区域排序,从高到底排序number,可以看到柱状图也对应发生了变化。
3. 那么我们怎么样pandas来做这件事呢?
首先还是第一步,读取数据。
pandas的制图工具,在库 matplotlib 里。他的图标是文件夹,如果是文件夹,要用他下边的某个module,python图标的。我们用的是matplotlib.pyplot。
pandas只能做一些中规中矩的图。要想做炫酷的图,还需要使用matplotlib来绘图。
可以发现用matplotlib来制图要灵活的多。
保存图表到桌面可以通过这里。
二、在这个拼颜值的时代,做个图也不例外。我们继续看图表的深度优化。
- 原表数据,有2016年和2017年的数据。这样方便做对比。
2. 我们在excel里可以这样操作作图。直接选中所有数据,插入,柱状图。
按2017年的数据从大到小排序。
3. 第一步,读取数据。
4. 一组数据。
5. 两组数据的话,y轴就是个list.
6. 继续优化,加title
我们在这儿加title是不能调节他的字号粗体啥的。我们知道pandas的绘图是基于matplotlib的。他也更灵活。
标签旋转,旋转完成这样了。其实他默认是按标签的中点来旋转的。所以我们需要做下处理。
贴个成品图。好有成就感。
三、 叠加水平柱状图
- 原表数据,用户id,用户名字,后三列分别为10月、11月、12月一共使用了我们产品多少次。我们要看用户三个月一共使用了多少次产品。就使用到了叠加柱状图。
2. 在excel里操作。
我们用成横向柱状图,比较清晰。
3. 下面我怎么看怎么在python里实现。
打印数据。
4. 直接画图出来,是画了柱状对比图。
5. 画为柱状叠加图。柱状叠加图参数 stacked=True。
6. 按总数值排序。
7. 我们把柱状图转换成横向的。
但是发现,从上到下值越来越大,和我们一开始想按从大到小的顺序排是不一致的。因为我们为竖方向的时候,距离原点的地方也是最大值。横向了也一致。所以我们要按原数据从小到大排序。
齐活。
放张大图。
2019.3.16
橘子