請問這個熱力圖是怎麼製作的呢?

如圖所示,數據用爬蟲爬下來後,如何形成熱力圖呢?python新手村打怪中,大神勿噴^_^


我只是搬運工:


Excel power BI就可以繪製,可以查看我的專欄:Excel數據之美:科學與商業圖表繪製指南 - 知乎專欄,裡面有案例。


最快的話用echarts,現場模板,數據導進去;其他很多庫都有熱力圖插件,python應該也有。

不怕麻煩用javascript從頭寫的話,就是畫很多點,2個點靠的足夠近的話就擴大半徑,形成聯接;
要設置透明度,混合模式設置為"lighter"


heatmap.js


除了工具,自己畫熱力圖並不能簡單的靠「混合模式」解決。這裡提供一種畫熱力圖的方法。

準備一個畫布,寬256高1,用線性漸變填充,漸變色是你的熱力圖中的顏色,比如透明黑色、綠色、黃色和紅色。這個畫布之後會被用做調色板。

再準備一個和熱力圖要覆蓋區域一樣大的畫布,我們將在這上面繪製每個數據所形成的圓形。每個數據對應的圓形相關的變數有坐標、半徑和透明度,這些可以通過數據中的坐標、許可權值等轉換得到。

圓形繪製使用透明徑向漸變,從內到外其透明度應該是由大變小。

繪製完成全部數據後,獲取該畫布的圖像數據,遍歷每一個像素點「上色」。三個步驟:
- 獲取當前像素點的alpha值(0-255)
- 獲取調色盤上該值位置的rgb值
- 賦值rgb值給當前像素

最後將上色完成的整個圖像數據複製給一個畫布,就是最後的熱力圖。

————

優化:
- 畫布遍歷像素值範圍可以優化,通過所有數據的坐標可以縮小遍歷範圍;
- 每個圓形的繪製可以通過 shadow canvas 形式進行緩存後繪製,並不需要每次都執行創建漸變對象,繪製圓,填充的過程;

歡迎補充


這個圖在 數據觀 中只需2步:
Step1:上傳數據

Step2:製作熱力圖
在圖表類型處選擇「熱力圖」,左側編輯區,「定位」處放入地理數據,「經度」、「維度」處放入經緯度數據,「熱度」處放入查看對象,如下圖:

還可以進行調整地域級別,最小可到街道:

也可以進行熱力半徑的調整:

有興趣可以到 商業智能:儀錶盤、報表、數據分析 | 數據觀 中體驗一下


1、地圖熱力圖

按由深到淺的顏色來表示數據的從大到小、集中到稀疏,通過高亮的形式顯示訪客熱衷的頁面區域和訪客所在的地理區域的圖示。

(全國火鍋店熱力圖分布)

(上海區域熱力圖)

(北京區域熱力圖)

2、如何用BDP3步玩轉地圖熱力圖
數據地圖的製作一般分為3個過程,即上傳數據—拖拽成圖—潤色完成。
1)上傳數據:數據上傳後,在工作表右上方點擊「添加圖表」—「新建圖表」,選擇需要的工作數據(可選擇多個工作表數據哦);

2)拖拽成圖:先拖拽工作表至圖層,再拖拽經緯度、維度數值,然後選擇熱力圖即可;

註:若只有省份地址,沒有具體的經緯度數據,可以用BDP的「地址轉經緯度」功能,瞬間就把地址轉成具體的經緯度,分析也很精確~

3)熱力圖「潤色」

可設置顏色、尺寸,也可以對地圖進行放大縮小(滑鼠滑動即可),操作很簡單;

做好的地圖能通過鏈接分享給好友,也可以直接分享到各大社區,如下圖~

熱力圖可參考此鏈接:https://me.bdp.cn/share/index.html?shareId=sdo_08249593ca50cc7497ecbb145d84c80c

3、地圖熱力圖有什麼用呢?
熱力圖應用於很多物流、O2O等企業,比如物流,他們通過區域訂單梳理和倉庫位置進行地理匹配,找出最科學的倉庫位置,規劃最優配送路線,合理安排車輛、人力,更好地進行資源分配,節約資金。

其實相似的場景案例特別多,通過發現KFC的特點來進行分店鋪選址、通過熱力圖發現食道癌集中於廣東潮汕和河南林縣、通過城市各小區數據來對比進行購房、通過地圖了解各景點的人流情況來制定合適的旅行地點和時間、通過地圖分布了解不同地區的飲食習慣選擇經營的店鋪類型等等。

4、其他地圖類型
1)地圖氣泡圖

(這個氣泡點是會動的,具體效果見鏈接最後一張圖:https://me.bdp.cn/share/index.html?shareId=sdo_08249593ca50cc7497ecbb145d84c80c)
2)地圖海量點狀圖:單個地理坐標顯示為點,呈現點狀分布。

3)地圖統計圖:在地圖上顯示餅圖、柱狀圖、條形圖,瞬間感覺自己的地圖高大上


這個圖,你可以申請一個數據觀賬號,裡面有這個圖的


百度echarts,你值得擁有


推薦閱讀:

C# 都有哪些爬蟲框架?
怎樣用Python設計一個爬蟲模擬登陸知乎?

TAG:Python | 爬蟲計算機網路 | 網頁爬蟲 | 城市熱力圖 |