大家好,最近大A的白马主们简直是妈妈不知道,作为挤在沉重仓库里的白马主基金的养鸡少年,每天它都用眼泪洗脸。(莎士比亚)。
滴妈妈不承认
但是从金融界最近交易日的大盘运道来看,实际上很多中小股仍然是红滴,绿色都是白马股。
以下截图来自金融社区网站-更广的市长/市场云图:
2月26日更广阔的市长/市场云
所以今天我们用python爬上最近交易日的股票数据,用excel简单地画一下这个树视图。
网易财经各版股票数据excel tree简单的树状视图增长率的树状视图1、网易财经各版股票数据。
大象URL:Datatype=hs _ ranksort=percentorder=desccount=24 page=0 网易财经-行情中心
这个爬虫部分比较简单,这里不多赘述,附上完整的代码,供介绍和参考。
爬虫想法:
通过请求大象网站数据,分析主要行业(新)的数据:行业领域名称及其id(例如金融、hy010000)。
根据不同行业的相应id,构建新的行业股票数据网页。
因为翻页URL不变,所以替换参数,获取所有页数,然后翻页,获取所有数据。
爬虫代码:
#-*-代码: utf-8-*-
单击“”
Created feb 2810:562021
@author:可以叫我宰哥
单击“”
Importrequests
Importre
Importpandasaspd
#获取所有板和板id
URL=';datatype=hs _ ranksort=percentorder=desccount=24页=0’
R=reque(url)
Html=r.text
#替换字符不为空,便于下面的概括
Html=re.sub('\s ',',Html)
#定期导入板和标识区域。
LabelHtml=re.findall(r'/span主要行业\(新\)/a(.*?)/span证监会产业\(新\)',html)[0]
#常规版和id,结果是元组列表
Label=re.findall(r''qid='(hy .*?)' ' qquery=。*?标题='(.*?)',标签html)
转换为# dataframe类型
DfLabel=(label,columns=['id ','版'])
#根据节id和翻页获取页面数据(JSON格式)
Defget _ JSON (hy _ id,第页):
query=' plate _ ids : ' str(hy _ id)
Params={
主机“:”;而且,
第:页,
“查询”:查询,
Fields' :' no、symbol、name、price、percent、updown、five _ minute、open、yest close Mfratiomfratio 10、sname、code、announmt、uvs news’,#不需要使用这么多字段
Sort':'PERCENT '、
订购' :' desc '
;, 'count': '24', 'type': 'query', } url = '; r = reque(url,params=params) j = r.json() return j # 空列表用于存取每页数据 dfs = [] # 遍历全部板块 for hy_id,板块 in d: # 获取页数 j = get_json(hy_id, 0) pages = j['pagecount'] for page in range(pages): j = get_json(hy_id, page) data = j['list'] df = (data) df['板块'] = 板块 d(df) print(f'已爬取{len(dfs)}个板块数据') result = (dfs)二、excel树状图
excel树状图是在office2016级之后版本中新加的图表类型,想要绘制需要基于此版本及之后的版本哦。
简单的树状图绘制流程:框选数据—>插入—>图表—>选中树状图 即可。
树状图绘制流程
以下图为例,在树状图中,每个色块代表一个省份,色块面积大小则由其GDP值大小决定。
2020年全国各地GDP
三、带有增长率的树状图
我们发现,在基础的树状图中,色块颜色除了区别色块之外并没有其他特殊含义。拿GDP来说,除了值之外我们一般也会去看其增长率,那么是否可以让色块颜色和增长率有关联呢?
下面我们试着探究一下,如果成功的话,那么金融界的大盘云图似乎也可以用excel树状图来进行绘制了不是!
1、思路:
我们希望色块颜色能代表增长率,比如红色是上涨,绿色是下降且颜色越深代表绝对值越大
再对每个色块进行对应的颜色填充即可
由于 树状图顶多支持多级,色块颜色也只能手动单一填充,怎么办呢?既然手动可以,那么其实就可以用VBA自动化这个过程咯。
2、增长率配色
基于上述思路,我们需要对增长率进行配色,最简单的就是用条件格式里的色阶。
框选增长率数据—>开始—>条件格式—>色阶(选中那个让值越大颜色越红的,由于这里有负增长率,所以选了带红绿的):
为了更好的展示区分正负增长率,我们在设置完色阶后再进行管理规则:
我们将中间值设为数字0,这样负增长率就是绿色,正增长率就是红色;
我们将最大值设置为百分点值80,也就是增长率前80%的值都是最红的。
最终配色效果:
配色效果
四、VBA填充色块颜色
先看效果:
湖北因为收到疫情影响最大,有接近小半年属于封省状态,全年增长率为负数。
各省GDP及增长率
由于条件格式下单元格颜色是不固定的无法通过vba获取,我们需要将颜色赋值到新的一列中去,需要用到如下操作:
选中增长率数据复制,然后点击剪切板最右下角会出现剪贴板,再鼠标左键选择需要粘贴的地方如E2,点击剪贴板中需要粘贴的数据即可。 这个时候,被粘贴的单元格区域的颜色就是固定的了,你可以选择删除数据只留颜色部分。
单元格色复制操作流程
VBA思路:
- 激活需要操作的图表(Activate)
- 遍历全部的系列和数据点(Ac(1).Poin)
- 从第一个数据点开始,获取对应增长率单元格颜色(Ac("E" & i + 1).In)
- 将单元格赋值给该数据点(Selec)
VBA代码:
Sub My_Color() Ac("图表 1").Activate '遍历全部的数据点 For i = 1 To Ac(1).Poin '选中数据点 Ac(1).Points(i).Select '获取单元格颜色 MyColor = Ac("E" & i + 1).In '将单元格颜色赋值给对应数据点填充色 Selec = MyColor Next
执行脚本过程如下:
好了,以上就是本次全部内容,大家可以试着爬取股票数据,然后试着绘制一下。
1.《【excel怎么生成树】python将爬上基金股票的最新数据,并使用excel绘制树状图。》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《【excel怎么生成树】python将爬上基金股票的最新数据,并使用excel绘制树状图。》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/2543892.html