Geo:地理坐標(biāo)系
class pyecharts.charts.Geo
class Geo(
# 初始化配置項(xiàng),參考 `global_options.InitOpts`
init_opts: opts.InitOpts = opts.InitOpts()
# 是否忽略不存在的坐標(biāo),默認(rèn)值為 False,即不忽略
is_ignore_nonexistent_coord: bool = False
)
func pyecharts.charts.Geo.add_schema
def add_schema(
# 地圖類型,具體參考 pyecharts.datasets.map_filenames.json 文件
maptype: str = "china",
# 是否開啟鼠標(biāo)縮放和平移漫游。
is_roam: bool = True,
# 當(dāng)前視角的縮放比例。默認(rèn)為 1
zoom: Optional[Numeric] = None,
# 當(dāng)前視角的中心點(diǎn),用經(jīng)緯度表示。例如:center: [115.97, 29.71]
center: Optional[Sequence] = None,
# 參數(shù)用于 scale 地圖的長(zhǎng)寬比。
aspect_scale: types.Numeric = 0.75,
# 二維數(shù)組,定義定位的左上角以及右下角分別所對(duì)應(yīng)的經(jīng)緯度。
bounding_coords: types.Optional[types.Sequence[types.Numeric]] = None,
# 最小的縮放值。
min_scale_limit: types.Optional[types.Numeric] = None,
# 最大的縮放值。
max_scale_limit: types.Optional[types.Numeric] = None,
# 默認(rèn)是 'name',針對(duì) GeoJSON 要素的自定義屬性名稱,作為主鍵用于關(guān)聯(lián)數(shù)據(jù)點(diǎn)和 GeoJSON 地理要素。
name_property: str = "name",
# 選中模式,表示是否支持多個(gè)選中,默認(rèn)關(guān)閉,支持布爾值和字符串。
# 字符串取值可選'single'表示單選,或者'multiple'表示多選。
selected_mode: types.Union[bool, str] = False,
# pyecharts 暫時(shí)沒(méi)有提供 left/top/right/bottom 的配置
# layoutCenter 和 layoutSize 提供了除了 left/right/top/bottom/width/height 之外的布局手段。
# 在使用 left/right/top/bottom/width/height 的時(shí)候
# 可能很難在保持地圖高寬比的情況下把地圖放在某個(gè)盒形區(qū)域的正中間,并且保證不超出盒形的范圍。
# 此時(shí)可以通過(guò) layoutCenter 屬性定義地圖中心在屏幕中的位置,layoutSize 定義地圖的大小。
# 如下示例
# layoutCenter: ['30%', '30%'],
# // 如果寬高比大于 1 則寬度為 100,如果小于 1 則高度為 100,保證了不超過(guò) 100x100 的區(qū)域
# layoutSize: 100
layout_center: types.Optional[types.Sequence[str]] = None,
# 地圖的大小,見 layoutCenter。支持相對(duì)于屏幕寬高的百分比或者絕對(duì)的像素大小。
layout_size: types.Union[str, types.Numeric] = None,
# # 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
label_opts: Union[opts.LabelOpts, dict, None] = None,
# 地圖區(qū)域的多邊形 圖形樣式。
itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] =None,
# 高亮狀態(tài)下的多邊形樣式
emphasis_itemstyle_opts: Union[opts.ItemStyleOpts, dict,None] = None,
# 高亮狀態(tài)下的標(biāo)簽樣式。
emphasis_label_opts: Union[opts.LabelOpts, dict, None] =None,
):
func pyecharts.charts.Geo.add
def add(
# 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
series_name: str,
# 數(shù)據(jù)項(xiàng) (坐標(biāo)點(diǎn)名稱,坐標(biāo)點(diǎn)值)
data_pair: Sequence,
# Geo 圖類型,有 scatter, effectScatter, heatmap, lines 4 種,建議使用
# from pyecharts.globals import GeoType
# GeoType.GeoType.EFFECT_SCATTER,GeoType.HEATMAP,GeoType.LINES
type_: str = "scatter",
# 是否選中圖例
is_selected: bool = True,
# 標(biāo)記圖形形狀
symbol: Optional[str] = None,
# 標(biāo)記的大小
symbol_size: Numeric = 12,
# 每個(gè)點(diǎn)的大小,在地理坐標(biāo)系(coordinateSystem: 'geo')上有效。
blur_size: types.Numeric = 20,
# 每個(gè)點(diǎn)模糊的大小,在地理坐標(biāo)系(coordinateSystem: 'geo')上有效。
point_size: types.Numeric = 20,
# 系列 label 顏色
color: Optional[str] = None,
# 是否是多段線,在畫 lines 圖情況下
is_polyline: bool = False,
# 是否啟用大規(guī)模線圖的優(yōu)化,在數(shù)據(jù)圖形特別多的時(shí)候(>=5k)可以開啟
is_large: bool = False,
# 特效尾跡的長(zhǎng)度。取從 0 到 1 的值,數(shù)值越大尾跡越長(zhǎng)。默認(rèn)值 0.2
trail_length: Numeric = 0.2,
# 開啟繪制優(yōu)化的閾值。
large_threshold: Numeric = 2000,
# 配置該系列每一幀渲染的圖形數(shù)
progressive: types.Numeric = 400,
# 啟用漸進(jìn)式渲染的圖形數(shù)量閾值,在單個(gè)系列的圖形數(shù)量超過(guò)該閾值時(shí)啟用漸進(jìn)式渲染。
progressive_threshold: types.Numeric = 3000,
# 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),
# 漣漪特效配置項(xiàng),參考 `series_options.EffectOpts`
effect_opts: Union[opts.EffectOpts, dict] = opts.EffectOpts(),
# 線樣式配置項(xiàng),參考 `series_options.LineStyleOpts`
linestyle_opts: Union[opts.LineStyleOpts, dict] = opts.LineStyleOpts(),
# 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,
# 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
# 這個(gè)配置相對(duì)非常復(fù)雜(參照地址: https://www.echartsjs.com/zh/option.html#series-custom.renderItem)
render_item: types.JsCode = None,
# 這個(gè)配置相對(duì)非常復(fù)雜(參照地址: https://www.echartsjs.com/zh/option.html#series-custom.encode)
encode: types.Union[types.JsCode, dict] = None,
)
func pyecharts.charts.Geo.add_coordinate
新增一個(gè)坐標(biāo)點(diǎn)
def add_coordinate(
# 坐標(biāo)地點(diǎn)名稱
name: str,
# 經(jīng)度
longitude: Numeric,
# 緯度
latitude: Numeric,
)
func pyecharts.charts.Geo.add_coordinate_json
以 JOSN 文件格式新增多個(gè)坐標(biāo)點(diǎn)
def add_coordinate_json(
# json 文件格式的坐標(biāo)數(shù)據(jù)
# 格式如下
# {
# "阿城": [126.58, 45.32],
# "阿克蘇": [80.19, 41.09]
# }
],
json_file: str
)
func pyecharts.charts.Geo.get_coordinate
查詢指定地點(diǎn)的坐標(biāo)
def get_coordinate(
# 地點(diǎn)名稱
name: str
) -> Sequence
Geo 圖的坐標(biāo)引用自 pyecharts.datasets.COORDINATES,COORDINATES 是一個(gè)支持模糊匹配的字典類??稍O(shè)置匹配的閾值。
from pyecharts.datasets import COORDINATES
# cutoff 為匹配閾值,閾值越高相似性越高,1 為完全相同。默認(rèn)為 0.6
COORDINATES.cutoff = 0.75
class pyecharts.charts.Map
class Map(
# 初始化配置項(xiàng),參考 `global_options.InitOpts`
init_opts: opts.InitOpts = opts.InitOpts()
)
func pyecharts.charts.Map.add
def add(
# 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
series_name: str,
# 數(shù)據(jù)項(xiàng) (坐標(biāo)點(diǎn)名稱,坐標(biāo)點(diǎn)值)
data_pair: types.Sequence[types.Union[types.Sequence, opts.MapItem, dict]],
# 地圖類型,具體參考 pyecharts.datasets.map_filenames.json 文件
maptype: str = "china",
# 是否選中圖例
is_selected: bool = True,
# 是否開啟鼠標(biāo)縮放和平移漫游。
is_roam: bool = True,
# 當(dāng)前視角的中心點(diǎn),用經(jīng)緯度表示
center: Optional[Sequence] = None,
# 參數(shù)用于 scale 地圖的長(zhǎng)寬比。
aspect_scale: types.Numeric = 0.75,
# 二維數(shù)組,定義定位的左上角以及右下角分別所對(duì)應(yīng)的經(jīng)緯度。
bounding_coords: types.Optional[types.Sequence[types.Numeric]] = None,
# 最小的縮放值。
min_scale_limit: types.Optional[types.Numeric] = None,
# 最大的縮放值。
max_scale_limit: types.Optional[types.Numeric] = None,
# 默認(rèn)是 'name',針對(duì) GeoJSON 要素的自定義屬性名稱,作為主鍵用于關(guān)聯(lián)數(shù)據(jù)點(diǎn)和 GeoJSON 地理要素。
name_property: str = "name",
# 選中模式,表示是否支持多個(gè)選中,默認(rèn)關(guān)閉,支持布爾值和字符串。
# 字符串取值可選'single'表示單選,或者'multiple'表示多選。
selected_mode: types.Union[bool, str] = False,
# 當(dāng)前視角的縮放比例。
zoom: Optional[Numeric] = 1,
# 自定義地區(qū)的名稱映射
name_map: Optional[dict] = None,
# 標(biāo)記圖形形狀
symbol: Optional[str] = None,
# 多個(gè)擁有相同地圖類型的系列會(huì)使用同一個(gè)地圖展現(xiàn)。
# 如果多個(gè)系列都在同一個(gè)區(qū)域有值,ECharts 會(huì)對(duì)這些值統(tǒng)計(jì)得到一個(gè)數(shù)據(jù)。
# 這個(gè)配置項(xiàng)就是用于配置統(tǒng)計(jì)的方式,目前有:
# 'sum' 取和。
# 'average' 取平均值。
# 'max' 取最大值。
# 'min' 取最小值。
map_value_calculation: str = "sum",
# 是否顯示標(biāo)記圖形
is_map_symbol_show: bool = True,
# pyecharts 暫時(shí)沒(méi)有提供 left/top/right/bottom 的配置
# layoutCenter 和 layoutSize 提供了除了 left/right/top/bottom/width/height 之外的布局手段。
# 在使用 left/right/top/bottom/width/height 的時(shí)候
# 可能很難在保持地圖高寬比的情況下把地圖放在某個(gè)盒形區(qū)域的正中間,并且保證不超出盒形的范圍。
# 此時(shí)可以通過(guò) layoutCenter 屬性定義地圖中心在屏幕中的位置,layoutSize 定義地圖的大小。
# 如下示例
# layoutCenter: ['30%', '30%'],
# // 如果寬高比大于 1 則寬度為 100,如果小于 1 則高度為 100,保證了不超過(guò) 100x100 的區(qū)域
# layoutSize: 100
layout_center: types.Optional[types.Sequence[str]] = None,
# 地圖的大小,見 layoutCenter。支持相對(duì)于屏幕寬高的百分比或者絕對(duì)的像素大小。
layout_size: types.Union[str, types.Numeric] = None,
# 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),
# 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,
# 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
# 高亮標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
emphasis_label_opts: Union[opts.LabelOpts, dict, None] = None,
# 高亮圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
emphasis_itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)
class MapItem(
# 數(shù)據(jù)所對(duì)應(yīng)的地圖區(qū)域的名稱,例如 '廣東','浙江'。
name: Optional[str] = None,
# 該區(qū)域的數(shù)據(jù)值。
value: Optional[Numeric] = None,
# 該區(qū)域是否選中。
is_selected: bool = False,
# 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
label_opts: Union[LabelOpts, dict, None] = None,
# 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,
# 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
tooltip_opts: Union[TooltipOpts, dict, None] = None,
)
百度地圖需要申請(qǐng)開發(fā)者 AK,官網(wǎng)申請(qǐng)。
class pyecharts.charts.BMap
class BMap(
# 初始化配置項(xiàng),參考 `global_options.InitOpts`
init_opts: opts.InitOpts = opts.InitOpts()
# 是否忽略不存在的坐標(biāo),默認(rèn)值為 False,即不忽略
is_ignore_nonexistent_coord: bool = False
)
func pyecharts.charts.BMap.add_schema
def add_schema(
# 百度地圖開發(fā)應(yīng)用 appkey,請(qǐng)使用到百度地圖的開發(fā)者自行到百度地圖開發(fā)者中心
# 注冊(cè)百度 ak。
baidu_ak: str,
# 當(dāng)前視角的中心點(diǎn),用經(jīng)緯度表示
center: Optional[Sequence] = None,
# 當(dāng)前視角的縮放比例。
zoom: Optional[Numeric] = None,
# 是否開啟鼠標(biāo)縮放和平移漫游。
is_roam: bool = True,
# 地圖樣式配置項(xiàng)
map_style: Optional[dict] = None,
)
func pyecharts.charts.BMap.add
def add(
# 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
series_name: str,
# 數(shù)據(jù)項(xiàng) (坐標(biāo)點(diǎn)名稱,坐標(biāo)點(diǎn)值)
data_pair: Sequence,
# Geo 圖類型,有 scatter, effectScatter, heatmap, lines 4 種,建議使用
# from pyecharts.globals import GeoType
# GeoType.GeoType.EFFECT_SCATTER,GeoType.HEATMAP,GeoType.LINES
type_: str = "scatter",
# 是否選中圖例
is_selected: bool = True,
# 標(biāo)記圖形形狀
symbol: Optional[str] = None,
# 標(biāo)記的大小
symbol_size: Numeric = 12,
# 系列 label 顏色
color: Optional[str] = None,
# 是否是多段線,在畫 lines 圖情況下
is_polyline: bool = False,
# 是否啟用大規(guī)模線圖的優(yōu)化,在數(shù)據(jù)圖形特別多的時(shí)候(>=5k)可以開啟
is_large: bool = False,
# 開啟繪制優(yōu)化的閾值。
large_threshold: Numeric = 2000,
# 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),
# 漣漪特效配置項(xiàng),參考 `series_options.EffectOpts`
effect_opts: Union[opts.EffectOpts, dict] = opts.EffectOpts(),
# 線樣式配置項(xiàng),參考 `series_options.LineStyleOpts`
linestyle_opts: Union[opts.LineStyleOpts, dict] = opts.LineStyleOpts(),
# 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,
# 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)
func pyecharts.charts.BMap.add_control_panel
def add_control_panel(
# 地圖的平移縮放控件
navigation_control_opts: Union[opts.BMapNavigationControlOpts, dict, None] = None,
# 縮略地圖控件
overview_map_opts: Union[opts.BMapOverviewMapControlOpts, dict, None] = None,
# 比例尺控件
scale_control_opts: Union[opts.BMapScaleControlOpts, dict, None] = None,
# 切換地圖類型的控件
maptype_control_opts: Union[opts.BMapTypeControlOpts, dict, None] = None,
# 版權(quán)控件,您可以在地圖上添加自己的版權(quán)信息。
# 每一個(gè)版權(quán)信息需要包含如下內(nèi)容:版權(quán)的唯一標(biāo)識(shí)、版權(quán)內(nèi)容和其適用的區(qū)域范圍。
copyright_control_opts: Union[opts.BMapCopyrightTypeOpts, dict, None] = None,
# 地圖定位的控件,使用 HTML5 瀏覽器定位功能
geo_location_control_opts: Union[opts.BMapGeoLocationControlOpts, dict, None] = None,
)
class pyecharts.options.BMapNavigationControlOpts
class BMapNavigationControlOpts(
# 控件的停靠位置
# ANCHOR_TOP_LEFT,控件將定位到地圖的左上角,值為 0
# ANCHOR_TOP_RIGHT,控件將定位到地圖的右上角,值為 1
# ANCHOR_BOTTOM_LEFT,控件將定位到地圖的左下角,值為 2
# ANCHOR_BOTTOM_RIGHT,控件將定位到地圖的右下角,值為 3
position: Numeric = BMapType.ANCHOR_TOP_LEFT,
# 控件的水平偏移值
offset_width: Numeric = 10,
# 控件的豎直偏移值
offset_height: Numeric = 10,
# 平移縮放控件的類型
# NAVIGATION_CONTROL_LARGE,標(biāo)準(zhǔn)的平移縮放控件(包括平移、縮放按鈕和滑塊,值為 0
# NAVIGATION_CONTROL_SMALL,僅包含平移和縮放按鈕,值為 1
# NAVIGATION_CONTROL_PAN,僅包含平移按鈕,值為 2
# NAVIGATION_CONTROL_ZOOM,僅包含縮放按鈕,值為 3
type_: Numeric = BMapType.NAVIGATION_CONTROL_LARGE,
# 是否顯示級(jí)別提示信息
is_show_zoom_info: bool = False,
# 控件是否集成定位功能
is_enable_geo_location: bool = False,
)
class pyecharts.options.BMapOverviewMapControlOpts
class BMapOverviewMapControlOpts(
# 控件的??课恢? # ANCHOR_TOP_LEFT,控件將定位到地圖的左上角,值為 0
# ANCHOR_TOP_RIGHT,控件將定位到地圖的右上角,值為 1
# ANCHOR_BOTTOM_LEFT,控件將定位到地圖的左下角,值為 2
# ANCHOR_BOTTOM_RIGHT,控件將定位到地圖的右下角,值為 3
position: Numeric = BMapType.ANCHOR_BOTTOM_RIGHT,
# 控件的水平偏移值
offset_width: Numeric = 10,
# 控件的豎直偏移值
offset_height: Numeric = 50,
# 縮略地圖添加到地圖后的開合狀態(tài),默認(rèn)為 False 關(guān)閉
is_open: bool = False,
)
class pyecharts.options.BMapScaleControlOpts
class BMapScaleControlOpts(
# 控件的??课恢? # ANCHOR_TOP_LEFT,控件將定位到地圖的左上角,值為 0
# ANCHOR_TOP_RIGHT,控件將定位到地圖的右上角,值為 1
# ANCHOR_BOTTOM_LEFT,控件將定位到地圖的左下角,值為 2
# ANCHOR_BOTTOM_RIGHT,控件將定位到地圖的右下角,值為 3
position: Numeric = BMapType.ANCHOR_BOTTOM_RIGHT,
# 控件的水平偏移值
offset_width: Numeric = 10,
# 控件的豎直偏移值
offset_height: Numeric = 50,
)
class pyecharts.options.BMapTypeControl
class BMapTypeControl(
# 控件的??课恢? # ANCHOR_TOP_LEFT,控件將定位到地圖的左上角,值為 0
# ANCHOR_TOP_RIGHT,控件將定位到地圖的右上角,值為 1
# ANCHOR_BOTTOM_LEFT,控件將定位到地圖的左下角,值為 2
# ANCHOR_BOTTOM_RIGHT,控件將定位到地圖的右下角,值為 3
position: Numeric = BMapType.ANCHOR_TOP_RIGHT,
# 地圖類型屬性
# MAPTYPE_CONTROL_HORIZONTAL,按鈕水平方式展示,默認(rèn)采用此類型展示。值為 0
# MAPTYPE_CONTROL_DROPDOWN,按鈕呈下拉列表方式展示,值為 1
# MAPTYPE_CONTROL_MAP,以圖片方式展示類型控件,設(shè)置該類型后無(wú)法指定 maptypes 屬性,值為 2
type_: Numeric = BMapType.MAPTYPE_CONTROL_HORIZONTAL,
)
class pyecharts.options.BMapCopyrightType
class BMapCopyrightType(
# 控件的停靠位置
# ANCHOR_TOP_LEFT,控件將定位到地圖的左上角,值為 0
# ANCHOR_TOP_RIGHT,控件將定位到地圖的右上角,值為 1
# ANCHOR_BOTTOM_LEFT,控件將定位到地圖的左下角,值為 2
# ANCHOR_BOTTOM_RIGHT,控件將定位到地圖的右下角,值為 3
position: Numeric = BMapType.ANCHOR_BOTTOM_RIGHT,
# 控件的水平偏移值
offset_width: Numeric = 10,
# 控件的豎直偏移值
offset_height: Numeric = 50,
# Copyright 的文本內(nèi)容, 可以放入 HTML 標(biāo)簽
copyright_: str = "",
)
class pyecharts.options.BMapGeoLocationControlOpts
class BMapGeoLocationControlOpts(
# 控件的??课恢? # ANCHOR_TOP_LEFT,控件將定位到地圖的左上角,值為 0
# ANCHOR_TOP_RIGHT,控件將定位到地圖的右上角,值為 1
# ANCHOR_BOTTOM_LEFT,控件將定位到地圖的左下角,值為 2
# ANCHOR_BOTTOM_RIGHT,控件將定位到地圖的右下角,值為 3
position: Numeric = BMapType.ANCHOR_BOTTOM_RIGHT,
# 控件的水平偏移值
offset_width: Numeric = 10,
# 控件的豎直偏移值
offset_height: Numeric = 50,
# 是否顯示定位信息面板。默認(rèn)顯示定位信息面板
is_show_address_bar: bool = True,
# 添加控件時(shí)是否進(jìn)行定位。默認(rèn)添加控件時(shí)不進(jìn)行定位
is_enable_auto_location: bool = False,
)
更多建議: