社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

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

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
 
801 次点击