中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用pyecharts繪制地圖的方法

發布時間:2020-07-03 15:07:23 來源:億速云 閱讀:360 作者:清晨 欄目:編程語言

這篇文章主要介紹用pyecharts繪制地圖的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

把時間線拉回到 2015 年 4 月 13 日,一位河南省實驗中學的心里老師在辭職信上寫下了「世界那么大,我想去看看」這句話,后來爆紅網絡,我想這位心里老師當時寫這句話的時候肯定沒想到這句只有十個字的話,成為了當年的網絡經典語錄,成為了我們每個人對那個年代的回憶。

這句話直接導致了當年很多營銷號出來炒作概念,亂七八糟瞎炒一氣,蠱惑了不知道多少年輕人當年自認為瀟灑的裸辭掉工作,一個人跑出去看世界。

可惜的是當年腦子一熱裸辭掉工作跑出去看世界的人,不知道有多少人還能穩定的著陸。忽然想起來不知道在哪看到的一句話 「不是工作需要你,而是你需要一份工作」

大家都是成年人,做決定前最好能自己多思考幾分鐘,仔細想想自己是否能承擔后果。

我們想要出去看世界代價有點高,但是 Python 想看世界不是一般的簡單,我們只需要用到一個 pyecharts ,就可以讓 Python 想看啥看啥。

安裝

Echarts 是一個由百度開源的數據可視化,憑借著良好的交互性,精巧的圖表設計,得到了眾多開發者的認可。而 Python 是一門富有表達力的語言,很適合用于數據處理。當數據分析遇上數據可視化時,pyecharts 誕生了。

pyecharts 的安裝非常簡單,只需要一句話:

pip install pyecharts復制代碼

pyecharts 環境:

  • Python3.6+

pyecharts 文檔地址:pyecharts.org/#/zh-cn/int…

pyecharts 示例代碼:github.com/pyecharts/p…

看世界

pyecharts 為我們提供了地圖組件 Map ,我們可以直接使用 Map 組件來看世界。

接下來我們來看下如何使用 pyecharts 的 Map 組件來畫地圖。

以下示例均參考自官方示例

Map 組件的使用非常簡單,我們可以先看下世界地圖:

import pyecharts.options as optsfrom pyecharts.charts import MapGlobefrom pyecharts.faker import POPULATION


data = [x for _, x in POPULATION[1:]]
low, high = min(data), max(data)

c = (
    MapGlobe()
    .add_schema()
    .add(
        maptype="world",
        series_name="World Population",
        data_pair=POPULATION[1:],
        is_map_symbol_show=False,
        label_opts=opts.LabelOpts(is_show=False),
    )
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(
            min_=low,
            max_=high,
            range_text=["max", "min"],
            is_calculable=True,
            range_color=["lightskyblue", "yellow", "orangered"],
        )

    )
    .render("map_globe.html")
)復制代碼

世界看的不想看了還能看看我們偉大的祖國,代碼也很簡單:

from pyecharts import options as optsfrom pyecharts.charts import Mapfrom pyecharts.faker import Fakerfrom pyecharts.globals import ThemeType

c = (
    Map(init_opts=opts.InitOpts(
        theme=ThemeType.DARK,
        bg_color='#404a59'
    ))
    .add(        "中國地圖",
        [list(z) for z in zip(Faker.provinces, Faker.values())],        "china"
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="中國地圖-示例"),
        visualmap_opts=opts.VisualMapOpts(),
    )
    .render("china_map.html")
)復制代碼

再來一個我生活的城市上海的地圖:

from pyecharts import options as optsfrom pyecharts.charts import Mapfrom pyecharts.globals import ThemeType

shanghai_list = ['黃浦區', '徐匯區', '長寧區', '靜安區', '普陀區', '虹口區', '楊浦區', '閔行區', '寶山區', '嘉定區', '金山區', '松江區', '青浦區', '奉賢區', '崇明區', '浦東新區']

shanghai_people = [65.38, 108.44, 69.4, 106.28, 128.19, 79.7, 131.27, 254.35, 204.23, 158.89, 80.5, 176.22, 121.9, 115.2, 68.81, 555.02]

BAIDU_LINK='https://baike.baidu.com/item/%E4%B8%8A%E6%B5%B7%E8%A1%8C%E6%94%BF%E5%8C%BA%E5%88%92/7426389?fr=aladdin'c = (
    Map(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color='#404a59', width='1600px', height='900px'))
    .add("上海市-常住人口", [list(z) for z in zip(shanghai_list, shanghai_people)], "上海")
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="上海地圖-常住人口(單位:萬人)",
            subtitle="常住人口數據來自百度百科",
            subtitle_link=BAIDU_LINK,
        ),
        visualmap_opts=opts.VisualMapOpts()
    )
    .render("map_shanghai.html")
)復制代碼

看完 2D 的有沒有覺得不過癮, Map 組件還未我們提供了 3D 地圖的組件 Map3D :

from pyecharts import options as optsfrom pyecharts.charts import Map3Dfrom pyecharts.globals import ThemeTypefrom pyecharts.globals import ChartTypefrom pyecharts.globals import CurrentConfig
CurrentConfig.ONLINE_HOST = "http://127.0.0.1:8000/assets/"c = (
    Map3D(init_opts=opts.InitOpts(
        theme=ThemeType.DARK,
        bg_color='#404a59',
        width='1600px',
        height='900px'
    ))
    .add_schema(
        itemstyle_opts=opts.ItemStyleOpts(
            color="#313c48",
            opacity=1,
            border_width=0.8,
            border_color="#000",
        ),
        map3d_label=opts.Map3DLabelOpts(
            is_show=True,
            text_style=opts.TextStyleOpts(
                color="#fff", font_size=16, background_color="rgba(0,0,0,0)"
            ),
        ),
        emphasis_label_opts=opts.LabelOpts(is_show=True),
        light_opts=opts.Map3DLightOpts(
            main_color="#fff",
            main_intensity=1.2,
            is_main_shadow=False,
            main_alpha=55,
            main_beta=10,
            ambient_intensity=0.3,
        ),
    )
    .add(series_name="", data_pair="", maptype=ChartType.MAP3D)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="全國行政區劃地圖"),
        visualmap_opts=opts.VisualMapOpts(is_show=False),
        tooltip_opts=opts.TooltipOpts(is_show=True),
    )
    .render("map3d_china.html")
)復制代碼

是不是很簡單,這些地圖我都沒有配數據,可以配置上數據做一些看板的展示。

還有一點, pyecharts 的所需要的靜態資源,會默認訪問 assets.pyecharts.org/ 獲取(可以查看生成的 html 文件):

如果網絡條件不好,地圖會展示不出來,我們可以使用官方為我們提供的本地服務:

需要先獲取 pyecharts-assets 項目

git clone https://github.com/pyecharts/pyecharts-assets.git復制代碼

然后進入 pyecharts-assets 目錄啟動 HTTP file server :

cd pyecharts-assets
python -m http.server# Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...# 默認會在本地 8000 端口啟動一個文件服務器復制代碼

然后我們在代碼中配置 pyecharts 全局 HOST:

# 只需要在頂部聲明 CurrentConfig.ONLINE_HOST 即可from pyecharts.globals import CurrentConfig
CurrentConfig.ONLINE_HOST = "http://127.0.0.1:8000/assets/"# 接下來所有圖形的靜態資源文件都會來自剛啟動的服務器復制代碼

添加完成后的 html 文件生成后應該是這樣的:

這時我們再打開頁面,可以看到頁面基本上是秒刷新。

以上是用pyecharts繪制地圖的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肇庆市| 久治县| 湛江市| 合水县| 贵阳市| 富平县| 行唐县| 渝中区| 沛县| 克拉玛依市| 正阳县| 绥化市| 贵港市| 庄浪县| 凉山| 东港市| 惠州市| 九龙坡区| 威宁| 余庆县| 大新县| 九江县| 尚志市| 乌拉特中旗| 通山县| 辽阳县| 汉沽区| 梁河县| 德清县| 黎城县| 清镇市| 阿尔山市| 环江| 确山县| 新宾| 巢湖市| 永平县| 榆树市| 雅安市| 黔东| 修水县|