一、pandas制图
数据分析工作到了绘图的阶段,上一次绘图还是在第一次学pandas 的时候,当时还是5月份,一转眼都9月份了,时间过得真快。
导入plt的过程都快忘了
import matplotlib.pyplotas plt
今天要做的是条形图,条形图可以用于对比分类数据的数量关系,我查了一下相关指令:
生成条形图:plt.bar(),
透明度参数:alpha
条状物宽度:width
设置标题:plt.title()
其中:与主体部分距离参数:y
设置坐标轴名称:plt.xlabel(),plt.ylabel()
设置坐标轴范围:plt.xlim(),plt.ylim()
设置坐标轴刻度:plt.xticks(),plt.yticks()
其中:刻度转化:([num_1, num_2], [name_1,name_2])
设置数据标签:plt.text(x,height)
其中:居中对齐:HorizontalAlignment = “center”
其中,设置数据标签的功能通常要和zip() 函数一同使用,zip() 函数接收n 个可迭代数据(n 为大于1的正整数),组成一个zip 对象。zip 对象可迭代,有两种迭代方式。第一种是用一个变量迭代,这样得到的是元组,元组内容为n 个可迭代对象的纵向展开值。第二种是用n 个变量迭代(n 等于zip() 函数的参数个数),这样得到的n 个可迭代对象的纵向展开值再一维展开值。
做图的时候报了一个错,图形中不能显示汉字,好吧,4个月前我学pandas 的时候就碰到过这个问题,但是当时我没有注意。现在果然又碰到了,而且还避不开,因为这是要交给领导看的。果然该趟的坑一个也少不了……
查了一下相关资料,其实也不太难
matplotlib.rcparam[“font.sans-serif”]= [“SimHei”]
我还发现,matplotlib 和pandas 的兼容性似乎不是特别好,在用pandas 中的数据画图时,依旧需要人工指定index 作为横坐标轴/纵坐标轴,columns 作为纵坐标轴/横坐标轴,不能够自动对应。
二、PPT 说明图
为了做好zip() 函数的解释,今天还研究了一下用PPT 制作说明图的技巧,发现做一张图可以先从结构入手,然后一个局部一个局部地完成,最后拼接。
一个局部是PPT 的一个视觉单元,可以在一张PPT 上画一个视觉单元,接着把所有视觉单位粘贴为图片放到一起,然后拼接起来。这样既可以在细节上精细打磨,又可以在整体布局上妥善安排。
今天还学会了两个视觉元素的制作,一个是燕尾箭头,第二个是说明框。
燕尾箭头是燕尾头与拉伸三角形的结合,可以用来说明两个视觉单元间的对应关系。这样的箭头与PPT 自带的箭头相比更有动感,不过目前的燕尾箭头还只能直线指向,我暂时还没有掌握曲线指向的办法,希望以后能找到办法。
另外一个元素是说明框,它也是一个组合图形,由一个小圆型,两根线段,以及一个平行四方形组合,说明框可以用来针对表格或者图片型的视觉单元某个细节进行说明。之后我希望把说明框的科技感加强一点,希望以后能想到办法。
最后我还发现PPT 一个缺点,就是调节画面尺寸很麻烦,一旦调节,整个画面里的元素都变了,改回去特别麻烦。而且一调就所有画面尺寸都变了,麻烦死了。所以以后如果想要一个大尺寸的PPT,尽量在一开始就调好,或者单独建立一个大尺寸PPT 用来整合。