Python金融应用之利用Plotnine作图(六)——散点图

工欲善其事,必先利其器

//

- 前言 -

◆ ◆ ◆ ◆

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

资料来源:西瓜财经资讯

- 利用pthon制作气泡图 -

◆ ◆ ◆ ◆

第一步:导入相关库

第一步:导入相关库

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

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

(2)导入相关库。

第二步:从wind下载数据并进行数据处理

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

(2)在导入“包”时已经导入了Windpy,并设置为w,之后的语句直接使用w即可。

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

(4)通过wss函数,得到提取三季度申万行业收入增速、盈利增速及PE_TTM数据。

(经过对wind的探索,发现通过增加"error,"和“usedf=True”可以直接生成dateframe)。

第三步:数据处理

(1)设置列标题名称。

(2)导入申万行业对应的板块分类表,表名设为catalog。

(3)利用merge对两个dataframe按行业名称进行拼接,类似于excel中的vlookup功能,得到result表。

(4)对上表的“证券简称”列进行拆分,剔除“(申万)”字段 。

pedata=pd.concat([result,result[‘证券简称’].str.split(‘(’, expand=True)], axis=1)

(5)对上述拆分的行业重命名。

(6)删除无用列,最后得到pedata。

(7)由于社会服务盈利增速明显为负,所以在观察盈利增速与PE对比图时,暂时删除社会服务以观察其他行业结果。

#删除含有特定内容的行并生成新表

pedata1=pedata[~pedata[‘申万行业’].isin([‘社会服务’])]

PS 如果想删除含有特定数值(如TMT)的所有列,可用如下语句

pedata2=pedata[~(pedata==‘TMT’).any(axis=1)]

第四步:作图

(1)ggplot()。底层绘图工具,用于创建图象,传入数据来源和映射。

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

本文用的是geom_point(),据此设置气泡数据和面积、边框颜色、形状、透明度等。

alpha:透明度

colour:点颜色

fill:填充色,如果在映射里面添加fill参数,可以将数据以颜色区分

group:分组变量

size:大小

stroke:边框大小,如果为0结果将无边框

shape:形状,“o"代表圆形,”^"代表三角形,"D"代表钻石等,具体可见下图

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

text=element_text(family = “SimHei”)

(4)geom_text。设置x、y轴标题及标签显示。

(5)ggtitle设置图标标题。

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

+scale_fill_discrete() #默认配色

+scale_fill_brewer(type=‘qualitative’,palette=‘Set1’)) #更改配色

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

- 后言 -

◆ ◆ ◆ ◆

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

---------------------------END---------------------------

题外话

当下这个大数据时代不掌握一门编程语言怎么跟的上时代呢?当下最火的编程语言Python前景一片光明!如果你也想跟上时代提升自己那么请看一下.

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。


👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值