【Pyecharts可視化分享】杭州步行熱門路線等~

来源:https://www.cnblogs.com/awesometang/archive/2020/02/21/12343055.html
-Advertisement-
Play Games

前言 本文包括內容如下: 杭州步行熱門路線 漸變效果散點圖 均是Echarts官方提供等示例,本文將會通過Pyecharts來進行實現。 杭州步行熱門路線 因為代碼中需要調用百度地圖,所以開始之前你需要去百度申請一個開發者AK: "百度地圖開放平臺" 。 數據源: "https://echarts. ...


前言

本文包括內容如下:

  • 杭州步行熱門路線
  • 漸變效果散點圖

均是Echarts官方提供等示例,本文將會通過Pyecharts來進行實現。

杭州步行熱門路線

完整代碼

from pyecharts import options as opts
from pyecharts.charts import BMap
from pyecharts.globals import ChartType, SymbolType, ThemeType
import requests

# 通過requests獲取數據
r = requests.get('https://echarts.baidu.com/examples/data/asset/data/hangzhou-tracks.json')
data = r.json()

data_pair = []

# 新建一個BMap對象
bmap = BMap()

for i, item in enumerate([j for i in data for j in i ]):
    # 新增坐標點
    bmap.add_coordinate(i, item['coord'][0], item['coord'][1])
    data_pair.append((i, 1)) 

bmap.add_schema(
    # 需要申請一個AK
    baidu_ak='VtTfLEPhrSmI34foXXozmE441uDOSA7V',
    # 地圖縮放比例
    zoom=14, 
    # 顯示地圖中心坐標點
    center=[120.13066322374, 30.240018034923])

# 添加數據
bmap.add("門店數", data_pair,
         type_='heatmap')

# 數據標簽不顯示
bmap.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
bmap.set_global_opts(
    visualmap_opts=opts.VisualMapOpts(min_=0, max_=50, 
                                      # 顏色效果借用Echarts示例效果
                                      range_color=['blue', 'blue', 'green', 'yellow', 'red']),
    # 圖例不顯示
    legend_opts=opts.LegendOpts(is_show=False),
    title_opts=opts.TitleOpts(title="杭州熱門步行路線"))

# notebook中渲染
# 其他運行環境使用bmap.render()
bmap.render_notebook()

實現效果

漸變效果散點圖

完整代碼

from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.globals import ThemeType
from pyecharts.commons.utils import JsCode

# 人均壽命於GDP
data = [[[28604,77,17096869,'Australia',1990],[31163,77.4,27662440,'Canada',1990],[1516,68,1154605773,'China',1990],[13670,74.7,10582082,'Cuba',1990],[28599,75,4986705,'Finland',1990],[29476,77.1,56943299,'France',1990],[31476,75.4,78958237,'Germany',1990],[28666,78.1,254830,'Iceland',1990],[1777,57.7,870601776,'India',1990],[29550,79.1,122249285,'Japan',1990],[2076,67.9,20194354,'North Korea',1990],[12087,72,42972254,'South Korea',1990],[24021,75.4,3397534,'New Zealand',1990],[43296,76.8,4240375,'Norway',1990],[10088,70.8,38195258,'Poland',1990],[19349,69.6,147568552,'Russia',1990],[10670,67.3,53994605,'Turkey',1990],[26424,75.7,57110117,'United Kingdom',1990],[37062,75.4,252847810,'United States',1990]],
    [[44056,81.8,23968973,'Australia',2015],[43294,81.7,35939927,'Canada',2015],[13334,76.9,1376048943,'China',2015],[21291,78.5,11389562,'Cuba',2015],[38923,80.8,5503457,'Finland',2015],[37599,81.9,64395345,'France',2015],[44053,81.1,80688545,'Germany',2015],[42182,82.8,329425,'Iceland',2015],[5903,66.8,1311050527,'India',2015],[36162,83.5,126573481,'Japan',2015],[1390,71.4,25155317,'North Korea',2015],[34644,80.7,50293439,'South Korea',2015],[34186,80.6,4528526,'New Zealand',2015],[64304,81.6,5210967,'Norway',2015],[24787,77.3,38611794,'Poland',2015],[23038,73.13,143456918,'Russia',2015],[19360,76.5,78665830,'Turkey',2015],[38225,81.4,64715810,'United Kingdom',2015],[53354,79.1,321773631,'United States',2015]]]

scatter = (Scatter()
           .add_xaxis([i[0] for i in data[0]])
           .add_yaxis("1990年", [[i[1],i[3], i[2]] for i in data[0]],
                      # 漸變效果實現部分
                      color=JsCode("""new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
                                        offset: 0,
                                        color: 'rgb(251, 118, 123)'
                                    }, {
                                        offset: 1,
                                        color: 'rgb(204, 46, 72)'
                                    }])"""))
           .add_yaxis("2015年", [[i[1],i[3], i[2]]  for i in data[1]], 
                      # 漸變效果實現部分
                      color=JsCode("""new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
                                        offset: 0,
                                        color: 'rgb(129, 227, 238)'
                                    }, {
                                        offset: 1,
                                        color: 'rgb(25, 183, 207)'
                                    }])"""))
           .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
           .set_global_opts(
               title_opts=opts.TitleOpts(title="1990 與 2015 年各國家人均壽命與 GDP"),
               tooltip_opts = opts.TooltipOpts(
                   # 通過執行js代碼實現提示顯示為國家
                   formatter=JsCode("function (param) {return param.data[2];}")),
               xaxis_opts=opts.AxisOpts(
                   # 設置坐標軸為數值類型
                   type_="value", 
                   # 顯示分割線
                   splitline_opts=opts.SplitLineOpts(is_show=True)),
               yaxis_opts=opts.AxisOpts(
                   # 設置坐標軸為數值類型
                   type_="value",
                   # 預設為False表示起始為0
                   is_scale=True,
                   splitline_opts=opts.SplitLineOpts(is_show=True),),
               # 數據中第三個度量值通過圖形的size來展示
               visualmap_opts=opts.VisualMapOpts(is_show=False, type_='size', min_=20194354, max_=1154605773)
    ))

scatter.render_notebook() 

實現效果



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • python3-cookbook中每個小節以問題、解決方案和討論三個部分探討了Python3在某類問題中的最優解決方式,或者說是探討Python3本身的數據結構、函數、類等特性在某類問題上如何更好地使用。這本書對於加深Python3的理解和提升Python編程能力的都有顯著幫助,特別是對怎麼提高Py ...
  • Dart類Getters和Setter Getters和Setter(也稱為訪問器和更改器)允許程式分別初始化和檢索類欄位的值。 使用get關鍵字定義getter或訪問器。Setter或存取器是使用set關鍵字定義的。 預設的getter/setter與每個類相關聯。 但是,可以通過顯式定義sett ...
  • 手把手教您下載安裝Python的運行環境,本文雖然寫於2020年Python穩定的版本是3.8,Windows流行的版本是Win10,學會方法50年管用,本教程會在電腦上安裝2套Python環境,1-3節安裝原生環境,第4節安裝Visual Studio Code的環境。 ...
  • 一. 測試代碼 @RestController @RequestMapping("/book") public class BookController { @PostMapping("add") public JsonResponse<Integer> add(@Valid @RequestBod ...
  • 接第二篇 第二篇裡面, 看到容器創建的是 AnnotationConfigServletWebServerApplicationContext 類型. 一 .類圖 二. 構造 public GenericApplicationContext() { //創建 bean 工廠 this.beanFac ...
  • 網上大多數詞雲的代碼都是基於原始文本生成,這裡寫一個根據詞頻生成詞雲的小例子,都是基於現成的函數。 安裝詞雲與畫圖包 word_cloud.py(生成詞雲的程式) record.txt文件示例,第1列是單詞,第2列是頻率,空格分隔 運行後得到如下結果: ...
  • Pycharm分為商業版和社區版,商業版是收費的,社區版面向的是python社區的學習人員,其提供的功能與商業版並無太大區別。通常來說,使用社區版即可滿足絕大部分程式員的開發需求。 ...
  • 這裡是在阿裡雲伺服器的上部署 在本地測試好之後,打包,然後發到伺服器上的tomcat的webapp目錄上(這個可能會有個bug,先啟動下伺服器,然後關掉,再啟動,那個war包對應的文件才會出來) 這裡指的是第二個項目,也就是說本身有個項目已經在上面跑了,第二個也直接放到webapp文件夾下即可 然後 ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...