暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【python科研绘图(二)——百分比柱状堆积图】

树深时见鹿wm 2022-08-05
1188
点击蓝字,关注我们
EDUCATION AND TRAINING

【数据处理】

原始数据如图1所示,为2000、2004、2008,三个年份,A、B、C类型的a~h项指标数据。为方便生成百分比柱状堆积图,先对图一中数据每列求和得到sum,再用公式(Xij*100/sum)计算每个数据的百分比数值部分,结果如图2所示。

原始数据



百分比数值部分




【计算过程】

(一) 导入pyplot、pandas、numpy、FixdLocater模块,并利用pd.read_excel读取Excel数据。

pd.excel(io,sheet_name,header, index_col)

io为文件对象;sheet_name可接表索引,表名,列表形式的多个索引;header为指定表头行号;index_col指定索引列。





(二) 将每一行数据转化为数组的形式

.iloc[a][b] a,b为数值元素或列表,表示行索引与列索引,支持切片

.array() 转化为数组









(三) 搭建图像框架:设置图幅、分辨率、字体、刻度、刻度标签、坐标轴

pyplot.rcParams[“font.sans-serif”] = [字体名]

.xaxis.set_minor_locater(FixedLocator([]) 列表中为刻度值

.tick_params(axis,direction,which,length,width) axis指定x或y轴;direction为刻度朝向,which为指定主次坐标;length指定刻度长度;width指定刻度宽度





(四) 绘制图像,生成图例,保存图像

pyplot.bar(x, height, width=0.8, bottom=None) x为x轴上的坐标;height柱状的高度;width柱状的宽度;bottom柱状底部数字

pyplot.legend(loc,bbox_to_anchor,ncol,fontsize,frameon,title,labelspacing,handlelength)

loc指在框内的位置;bbox_to_anchor指在框外的位置接元组;ncol几列图例;fontsize字体大小;frameon是否显示边框;title图例标题;labelspacing行间距;handlelength条带长度



【最终结果】



欢迎关注、转发

后期会不断更新python相关知识和技巧,

大家相互学习共同进步。

谢谢大家!!!


长按扫码关注


文章转载自树深时见鹿wm,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论