Py学习  »  Python

Python金融应用之利用Plotnine作图(一)——简单柱状图

西瓜财经资讯 • 4 年前 • 786 次点击  

NO.252

2020.01.05

工欲善其事,必先利其器


//


  - 前言 -  

◆ ◆ ◆ ◆


今天,小咖带大家利用Python的plotnine制作简单柱状图。


R语言有一个强大的绘图工具ggplot2,而plotnine则是Python中的ggplot2。今天,小咖就带大家来学习plotnine这一工具包,并以简单的柱状图入手,最终将得到如下效果图。

资料来源:西瓜财经资讯

资料来源:西瓜财经资讯



  - Plotnine制作柱状图 -  

◆ ◆ ◆ ◆


第一步:安装各种包

资料来源:西瓜财经资讯


安装plotnine是本文的重点。在cmd中输入pip install plotnine进行安装,如果报错则可根据报错原因从网络查询解决方案。但经过反复试验,发现报错主要源于python版本不支持plotnine的问题。因此,通过卸载spyder然后从如下网站下载最新版本spyder便可以解决。


https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

资料来源:西瓜财经资讯


第二步:导入数据

资料来源:西瓜财经资讯


(1)首次使用Python的wind接口时,需要进行如下操作:wind客户端——量化——修复插件——修复Python接口。


(2)在导入“包”时已经导入了Windpy。


(3)语句需要以w.start() 开始,否则所有与wind相关的程序都无法运行,但只要运行一次后不用重复运行。


(4)通过wss函数,得到2020年申万行业年涨跌幅数据(经过对wind的探索,发现通过增加"error,"和“usedf=True”可以直接生成dateframe)。


第三步:数据处理

资料来源:西瓜财经资讯


(1)对数据表进行复制、拆分、删除等一系列操作。


(2)对于X轴变量为类别型的数据(本文是申万行业),在使用plotnine绘图时,系统会默认将X轴类别按照字母顺序绘制柱形。


如果单纯使用data=data.sort_values(['2020年涨跌幅'], ascending=[True])对涨跌幅数据进行排序,并不会改变X轴分类数据的类别,所以不会改变柱状图的绘制顺序。


因此,要通过如下语句控制并改变原有X轴分类数据顺讯,最终得到如下表。


data=data.sort_values(['2020年涨跌幅'], ascending=[True])   


data['申万行业名称']=pd.Categorical(data['申万行业名称'],categories=data['申万行业名称'],ordered=True)

资料来源:西瓜财经资讯


第四步:图形制作

资料来源:西瓜财经资讯


(1)ggplot()。底层绘图工具,用于创建图象,传入数据来源和映射。如果在映射里面添加fill参数,可以将数据以颜色区分。


(2)geom_XX()。设定几何图层,如柱状图,散点图,直方图,折线图等等。

资料来源:网络


(3)geom_text。设置标签文本,同样需要添加映射。


(4)scale。度量调整,调整颜色、大小、形状等。

资料来源:网络


(5)Labels。标签调整。

资料来源:网络


(6)Theme。主题设定,调整图表的细节,包括图表背景颜色、网格线的间隔和颜色、中文设置、图例显示、坐标轴标签字体及角度等。注意,如果图形中有中文字符,需要加入如下语句,否则将无法显示中文。

text=element_text(family = "SimHei")


(7)coord_flip() 。加入此语句可以将纵向直方图转换为横向直方图。


注意:各图表输入信息用“+”来连接

资料来源:西瓜财经资讯

资料来源:西瓜财经资讯


资料来源:

https://blog.csdn.net/weixin_42628425/article/details/89786545


  - 后言 -  

◆ ◆ ◆ ◆

后续,小咖不仅将更新市场分析观点,也将不时推出利用Excel(VBA)、python等工具提升金融分析效率的小贴士,欢迎大家关注公众号,一同讨论及分享。


往期回顾:

一文看懂《积极型资产配置指南》的资产配置逻辑(全)

一文看懂基金风险及基金风险管理(上)

多周期资产配置法及大类资产配置应用(全)

从《我在高盛的经济预测法》来看如何根据经济指标进行投资

2020半年度大类资产及基金表现盘点

全面解读债券收益率曲线(全)

中债估值/YY估值的分析与对比

近期大类资产行情评述

如何从护城河角度识别伟大的公司?(更)

最全!黄金行情与金价决定因素分析

美林时钟深度理解及在国内市场的应用(全)

一文看懂股债跷跷板效应

从本轮人民币对美贬值看汇率历史走势和影响因素(全)

中美股指历史走势对比及未来展望

Python金融应用之爬虫(一)

Python金融应用之爬虫(二)

Python金融应用之爬虫(三)

Python金融应用之爬虫(四)

Python金融应用之爬虫(五)

Python金融应用之爬虫(六)

Python金融应用之提取交易日+合并截面数据

python量化入门(一)——利用特定指标筛选股票并回测

python量化入门(二)——如何确定基金的市值属性和风格属性(全)

Python金融应用之基金业绩评价体系构建

Python金融应用之利用Pyecharts做动态图——柱状图/折线图

Python金融应用之利用Pyecharts做动态图(二)——饼图/散点图

Python金融应用之利用Pyecharts做动态图(三)——地图

Python金融应用之利用Pyecharts做动态图(四)——玫瑰图

Python金融应用之利用Pyecharts做动态图(五)——词云图

Python金融应用之雷达图制作

Python金融应用之制作热力图

Python金融应用之制作词云

Python金融应用之图表制作(九)——数据透视表

Python金融应用之图表制作(八)——三维图

Python金融应用之图表制作(七)——蜡烛图

Python金融应用之图表制作(六)——色阶图

Python金融应用之图表制作(五)——合并图

Python金融应用之图表制作(四)——饼图

Python金融应用之图表制作(三)——散点图

Python金融应用之图表制作(二)——折线图

Python金融应用之图表制作(一)——柱状图

利用工具自动撰写报告(Python)——进阶版(一)

利用工具自动撰写报告(Python/Excel)——入门版











end


公众号:西瓜财经资讯

撰稿人:安静的金融美女子


记得点个在看哦

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/105835
 
786 次点击