大家好,最近大A的白馬主們簡直是媽媽不知道,作為擠在沉重倉庫里的白馬主基金的養(yǎng)雞少年,每天它都用眼淚洗臉。(莎士比亞)。
滴媽媽不承認(rèn)
但是從金融界最近交易日的大盤運道來看,實際上很多中小股仍然是紅滴,綠色都是白馬股。
以下截圖來自金融社區(qū)網(wǎng)站-更廣的市長/市場云圖:
2月26日更廣闊的市長/市場云
所以今天我們用python爬上最近交易日的股票數(shù)據(jù),用excel簡單地畫一下這個樹視圖。
網(wǎng)易財經(jīng)各版股票數(shù)據(jù)excel tree簡單的樹狀視圖增長率的樹狀視圖1、網(wǎng)易財經(jīng)各版股票數(shù)據(jù)。
大象URL:Datatype=hs _ ranksort=percentorder=desccount=24 page=0 網(wǎng)易財經(jīng)-行情中心
這個爬蟲部分比較簡單,這里不多贅述,附上完整的代碼,供介紹和參考。
爬蟲想法:
通過請求大象網(wǎng)站數(shù)據(jù),分析主要行業(yè)(新)的數(shù)據(jù):行業(yè)領(lǐng)域名稱及其id(例如金融、hy010000)。
根據(jù)不同行業(yè)的相應(yīng)id,構(gòu)建新的行業(yè)股票數(shù)據(jù)網(wǎng)頁。
因為翻頁URL不變,所以替換參數(shù),獲取所有頁數(shù),然后翻頁,獲取所有數(shù)據(jù)。
爬蟲代碼:
#-*-代碼: 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)
#定期導(dǎo)入板和標(biāo)識區(qū)域。
LabelHtml=re.findall(r'/span主要行業(yè)\(新\)/a(.*?)/span證監(jiān)會產(chǎn)業(yè)\(新\)',html)[0]
#常規(guī)版和id,結(jié)果是元組列表
Label=re.findall(r''qid='(hy .*?)' ' qquery=。*?標(biāo)題='(.*?)',標(biāo)簽html)
轉(zhuǎn)換為# dataframe類型
DfLabel=(label,columns=['id ','版'])
#根據(jù)節(jié)id和翻頁獲取頁面數(shù)據(jù)(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 #?空列表用于存取每頁數(shù)據(jù) dfs?=?[] #?遍歷全部板塊 for?hy_id,板塊?in?d: ????#?獲取頁數(shù) ????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)}個板塊數(shù)據(jù)') result?=?(dfs)?????二、excel樹狀圖
excel樹狀圖是在office2016級之后版本中新加的圖表類型,想要繪制需要基于此版本及之后的版本哦。
簡單的樹狀圖繪制流程:框選數(shù)據(jù)—>插入—>圖表—>選中樹狀圖 即可。
樹狀圖繪制流程
以下圖為例,在樹狀圖中,每個色塊代表一個省份,色塊面積大小則由其GDP值大小決定。
2020年全國各地GDP
三、帶有增長率的樹狀圖
我們發(fā)現(xiàn),在基礎(chǔ)的樹狀圖中,色塊顏色除了區(qū)別色塊之外并沒有其他特殊含義。拿GDP來說,除了值之外我們一般也會去看其增長率,那么是否可以讓色塊顏色和增長率有關(guān)聯(lián)呢?
下面我們試著探究一下,如果成功的話,那么金融界的大盤云圖似乎也可以用excel樹狀圖來進行繪制了不是!
1、思路:
我們希望色塊顏色能代表增長率,比如紅色是上漲,綠色是下降且顏色越深代表絕對值越大
再對每個色塊進行對應(yīng)的顏色填充即可
由于 樹狀圖頂多支持多級,色塊顏色也只能手動單一填充,怎么辦呢?既然手動可以,那么其實就可以用VBA自動化這個過程咯。
2、增長率配色
基于上述思路,我們需要對增長率進行配色,最簡單的就是用條件格式里的色階。
框選增長率數(shù)據(jù)—>開始—>條件格式—>色階(選中那個讓值越大顏色越紅的,由于這里有負(fù)增長率,所以選了帶紅綠的):
為了更好的展示區(qū)分正負(fù)增長率,我們在設(shè)置完色階后再進行管理規(guī)則:
我們將中間值設(shè)為數(shù)字0,這樣負(fù)增長率就是綠色,正增長率就是紅色;
我們將最大值設(shè)置為百分點值80,也就是增長率前80%的值都是最紅的。
最終配色效果:
配色效果
四、VBA填充色塊顏色
先看效果:
湖北因為收到疫情影響最大,有接近小半年屬于封省狀態(tài),全年增長率為負(fù)數(shù)。
各省GDP及增長率
由于條件格式下單元格顏色是不固定的無法通過vba獲取,我們需要將顏色賦值到新的一列中去,需要用到如下操作:
選中增長率數(shù)據(jù)復(fù)制,然后點擊剪切板最右下角會出現(xiàn)剪貼板,再鼠標(biāo)左鍵選擇需要粘貼的地方如E2,點擊剪貼板中需要粘貼的數(shù)據(jù)即可。 這個時候,被粘貼的單元格區(qū)域的顏色就是固定的了,你可以選擇刪除數(shù)據(jù)只留顏色部分。
單元格色復(fù)制操作流程
VBA思路:
- 激活需要操作的圖表(Activate)
- 遍歷全部的系列和數(shù)據(jù)點(Ac(1).Poin)
- 從第一個數(shù)據(jù)點開始,獲取對應(yīng)增長率單元格顏色(Ac("E" & i + 1).In)
- 將單元格賦值給該數(shù)據(jù)點(Selec)
VBA代碼:
Sub My_Color() Ac("圖表 1").Activate '遍歷全部的數(shù)據(jù)點 For i = 1 To Ac(1).Poin '選中數(shù)據(jù)點 Ac(1).Points(i).Select '獲取單元格顏色 MyColor = Ac("E" & i + 1).In '將單元格顏色賦值給對應(yīng)數(shù)據(jù)點填充色 Selec = MyColor Next
執(zhí)行腳本過程如下:
好了,以上就是本次全部內(nèi)容,大家可以試著爬取股票數(shù)據(jù),然后試著繪制一下。
1.《【excel怎么生成樹】python將爬上基金股票的最新數(shù)據(jù),并使用excel繪制樹狀圖?!吩曰ヂ?lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《【excel怎么生成樹】python將爬上基金股票的最新數(shù)據(jù),并使用excel繪制樹狀圖。》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/keji/2543892.html