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

溫馨提示×

溫馨提示×

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

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

使用Pyecharts怎么實現數據可視化

發布時間:2021-02-07 19:54:30 來源:億速云 閱讀:513 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關使用Pyecharts怎么實現數據可視化,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

一、Pyecharts簡介和安裝

1. 簡介

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

  • 簡潔的 API 設計,使用如絲滑般流暢,支持鏈式調用

  • 囊括了 30+ 種常見圖表,應有盡有

  • 支持主流 Notebook 環境,Jupyter Notebook 和 JupyterLab

  • 可輕松集成至 Flask,Sanic,Django 等主流 Web 框架

  • 高度靈活的配置項,可輕松搭配出精美的圖表

  • 詳細的文檔和示例,幫助開發者更快的上手項目

  • 多達 400+ 地圖文件,并且支持原生百度地圖,為地理數據可視化提供強有力的支持

pyecharts版本v0.5.x 和 v1 間不兼容,v1 是一個全新的版本,語法也有很大不同。

2. 安裝

安裝pyecharts

pip install pyecharts -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
import pyecharts
print(pyecharts.__version__)     # 查看當前pyecharts版本

安裝相關的地圖擴展包

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-countries-pypkg  		# 全球國家地圖
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-provinces-pypkg  # 中國省級地圖
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-cities-pypkg   # 中國市級地圖
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-counties-pypkg  # 中國縣區級地圖

二、地圖可視化

1. 世界地圖

利用 Starbucks.csv 中的數據,首先計算每個國家(Country)對應的門店數量,然后使用世界地圖可視化展示星巴克門面店在全球的數量分布。

# -*- coding: UTF-8 -*-
"""
@File  :demo1.py
@Author :葉庭云
@CSDN  :https://yetingyun.blog.csdn.net/
"""
import pandas as pd
from pyecharts.charts import Map
from pyecharts import options as opts
from pyecharts.globals import ThemeType, CurrentConfig

CurrentConfig.ONLINE_HOST = 'D:/python/pyecharts-assets-master/assets/'

# pandas讀取csv文件里的數據
df = pd.read_csv("Starbucks.csv")['Country']
# 統計各個地區星巴克門店數量
data = df.value_counts()
datas = [(i, int(j)) for i, j in zip(data.index, data.values)]


# 實例化一個Map對象
map_ = Map(init_opts=opts.InitOpts(theme=ThemeType.PURPLE_PASSION))
# 世界地圖
map_.add("門店數量", data_pair=datas, maptype="world")
map_.set_series_opts(label_opts=opts.LabelOpts(is_show=False))  # 不顯示label
map_.set_global_opts(
   title_opts=opts.TitleOpts(title="星巴克門店數量在全球分布", pos_left='40%', pos_top='10'),  # 調整title位置
   legend_opts=opts.LegendOpts(is_show=False),
   visualmap_opts=opts.VisualMapOpts(max_=13608, min_=1, is_piecewise=True,
   pieces=[{"max": 9, "min": 1, "label": "1-9", "color": "#00FFFF"},    # 分段 添加圖例注釋和顏色
     {"max": 99, "min": 10, "label": "10-99", "color": "#A52A2A"},
     {"max": 499, "min": 100, "label": "100-499", "color": "#0000FF	"},
     {"max": 999, "min": 500, "label": "500-999", "color": "#FF00FF"},
     {"max": 2000, "min": 1000, "label": "1000-2000", "color": "#228B22"},
     {"max": 3000, "min": 2000, "label": "2000-3000", "color": "#FF0000"},
     {"max": 20000, "min": 10000, "label": ">=10000", "color": "#FFD700"}
       ])
   )

# 渲染在網頁上
map_.render('星巴克門店在全球的分布.html')

運行效果如下:

使用Pyecharts怎么實現數據可視化

2. 國家地圖

漣漪散點圖

利用 china.csv 中的數據,首先計算每個城市(City)對應的門店數量,然后使用 pyecharts 包內 Geo 模塊繪制星巴克門面店在中國各城市的數量分布的漣漪散點地圖。

import pandas as pd
from pyecharts.globals import ThemeType, CurrentConfig, GeoType
from pyecharts import options as opts
from pyecharts.charts import Geo

CurrentConfig.ONLINE_HOST = 'D:/python/pyecharts-assets-master/assets/'
# pandas讀取csv文件數據
df = pd.read_csv("china.csv")['City']
data = df.value_counts()

datas = [(i, int(j)) for i, j in zip(data.index, data.values)]
print(datas)

geo = Geo(init_opts=opts.InitOpts(width='1000px', height='600px', theme=ThemeType.DARK))
geo.add_schema(maptype='china', label_opts=opts.LabelOpts(is_show=True))  # 顯示label 省名
geo.add('門店數量', data_pair=datas, type_=GeoType.EFFECT_SCATTER, symbol_size=8)
geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
geo.set_global_opts(title_opts=opts.TitleOpts(title='星巴克門店在中國的分布'),
          visualmap_opts=opts.VisualMapOpts(max_=550, is_piecewise=True,
          pieces=[{"max": 50, "min": 0, "label": "0-50", "color": "#708090"},    # 分段 添加圖例注釋 和顏色
               {"max": 100, "min": 51, "label": "51-100", "color": "#00FFFF"},
               {"max": 200, "min": 101, "label": "101-200", "color": "#00008B"},
               {"max": 300, "min": 201, "label": "201-300", "color": "#8B008B"},
               {"max": 600, "min": 500, "label": "500-600", "color": "#FF0000"},
                 ])
          )

geo.render("星巴克門店在中國的分布.html")

運行效果如下:

使用Pyecharts怎么實現數據可視化

動態軌跡圖

# -*- coding: UTF-8 -*-
"""
@File  :demo3.py
@Author :葉庭云
@CSDN  :https://yetingyun.blog.csdn.net/
"""
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType, CurrentConfig, ThemeType

CurrentConfig.ONLINE_HOST = 'D:/python/pyecharts-assets-master/assets/'
# 鏈式調用
c = (
  Geo()
  .add_schema(
    maptype="china",
    itemstyle_opts=opts.ItemStyleOpts(color="#323c48", border_color="#111"),
    label_opts=opts.LabelOpts(is_show=True)
  )
  .add(
    "",
    [("廣州", 55), ("北京", 66), ("杭州", 77), ("重慶", 88), ('成都', 100), ('海口', 80)],
    type_=ChartType.EFFECT_SCATTER,
    color="white",
  )
  .add(
    "",
    [("廣州", "上海"), ("廣州", "北京"), ("廣州", "杭州"), ("廣州", "重慶"),
     ('成都', '海口'), ('海口', '北京'), ('海口', '重慶'), ('重慶', '上海')
     ],
    type_=ChartType.LINES,
    effect_opts=opts.EffectOpts(
      symbol=SymbolType.ARROW, symbol_size=6, color="blue" # 軌跡線藍色
    ),
    linestyle_opts=opts.LineStyleOpts(curve=0.2), # 軌跡線彎曲度
  )
  .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
  .set_global_opts(title_opts=opts.TitleOpts(title="動態軌跡圖"))
  .render("geo_lines_background.html")
)

運行效果如下:

使用Pyecharts怎么實現數據可視化

3. 省市地圖

熱力圖

# -*- coding: UTF-8 -*-
"""
@File  :demo4.py
@Author :葉庭云
@CSDN  :https://yetingyun.blog.csdn.net/
"""
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker
from pyecharts.globals import GeoType, CurrentConfig

CurrentConfig.ONLINE_HOST = 'D:/python/pyecharts-assets-master/assets/'

c = (
  Geo()
  .add_schema(maptype="廣東", label_opts=opts.LabelOpts(is_show=True))
  .add(
    "熱力圖",
    [list(z) for z in zip(Faker.guangdong_city, Faker.values())],
    type_=GeoType.HEATMAP,
  )
  .set_series_opts(label_opts=opts.LabelOpts(is_show=True))
  .set_global_opts(
    visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="Geo-廣東地圖")
  )
  .render("geo_guangdong.html")
)

運行效果如下:

使用Pyecharts怎么實現數據可視化

地圖上批量添加經緯度數據

數據來源于美團網成都地區酒店信息,利用其中酒店的經緯度數據,批量添加在地圖上可視化。

# -*- coding: UTF-8 -*-
"""
@File  :demo5.py
@Author :葉庭云
@CSDN  :https://yetingyun.blog.csdn.net/
"""
import pandas as pd   
from pyecharts.charts import Geo  
from pyecharts import options as opts  
from pyecharts.globals import GeoType, CurrentConfig, ThemeType

CurrentConfig.ONLINE_HOST = 'D:/python/pyecharts-assets-master/assets/'
# 讀取Excel數據 數據來源美團網酒店信息
df = pd.read_excel("hotel.xlsx")

# 獲取 地點 經緯度信息
geo_sight_coord = {df.iloc[i]['酒店地址']: [df.iloc[i]['經度'], df.iloc[i]['緯度']] for i in range(len(df))}
data = [(df['酒店地址'][j], f"{int(df['最低價'][j])}元(最低價)") for j in range(len(df))]
# print(data)
# print(geo_sight_coord)

# 實例化Geo對象 導入成都地圖
g = Geo(init_opts=opts.InitOpts(theme=ThemeType.PURPLE_PASSION, width="1000px", height="600px"))
g.add_schema(maptype="成都")

for k, v in list(geo_sight_coord.items()):
  # 添加地址、經緯度數據
  g.add_coordinate(k, v[0], v[1])

# 生成漣漪散點圖
g.add("", data_pair=data, type_=GeoType.EFFECT_SCATTER, symbol_size=6)
g.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
g.set_global_opts(title_opts=opts.TitleOpts(title="成都-酒店地址分布"))
g.render("酒店地址分布.html")

看完上述內容,你們對使用Pyecharts怎么實現數據可視化有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

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

AI

武隆县| 阳城县| 河津市| 呼和浩特市| 江陵县| 平乐县| 垫江县| 原阳县| 蕉岭县| 安福县| 绥棱县| 高碑店市| 阿拉尔市| 镇坪县| 上虞市| 化隆| 沁源县| 资中县| 肇源县| 丘北县| 枣强县| 武穴市| 历史| 明水县| 祁东县| 巧家县| 囊谦县| 虎林市| 女性| 普兰县| 家居| 综艺| 甘谷县| 崇仁县| 永川市| 邹城市| 苗栗市| 湄潭县| 腾冲县| 泰安市| 鄂温|