在 pyecharts
中设置 Map
图表的宽高,需要通过 InitOpts
初始化参数实现。以下是具体方法:
🎯 完整代码示例
from pyecharts import options as opts
from pyecharts.charts import Map
# 创建地图时设置宽高
map_chart = (
Map(init_opts=opts.InitOpts(width="1200px", height="600px")) # ⭐ 核心配置
.add("数据名称",
[("北京", 100), ("上海", 200), ("广州", 300)],
maptype="china")
.set_global_opts(
title_opts=opts.TitleOpts(title="中国地图"),
visualmap_opts=opts.VisualMapOpts(max_=300)
)
)
map_chart.render("china_map.html") # 生成HTML文件
运行效果:
🔑 关键参数说明
参数 | 类型/示例 | 作用 |
---|---|---|
width | str/int 宽度 | (支持像素或百分比) |
"1200px" | 固定宽度 | |
"80%" | 相对父容器宽度 | |
height | str/int 高度 | (建议使用像素单位) |
600 | 等效于 "600px" | |
bg_color | str 背景色(可选) | "#FFFFFF" |
💡 注意事项
1. 响应式布局:
使用百分比单位(如 width=“100%”)可实现自适应容器宽度,但需确保父容器有明确尺寸
2.最小高度限制:
地图高度建议 ≥ 400px,避免地域名称重叠
3.高清显示:
大屏场景推荐尺寸组合:
init_opts=opts.InitOpts(width="2560px", height="1440px", bg_color="#000000")
4.多地图对比:
若需要并列显示多个地图,可通过 Grid
布局控制:
from pyecharts.charts import Grid
grid = Grid(init_opts=opts.InitOpts(width="2400px"))
grid.add(map1, grid_opts=opts.GridOpts(pos_left="5%", width="45%"))
grid.add(map2, grid_opts=opts.GridOpts(pos_right="5%", width="45%"))
🌰 动态调整技巧
通过 JavaScript 回调实现运行时尺寸修改
map_chart.add_js_funcs(
"""
function (chart) {
chart.resize({width: window.innerWidth, height: window.innerHeight});
}
"""
)