You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整Plotly hexbin mapbox的单元格线宽?能否修改线条颜色?

Plotly Hexbin Mapbox 单元格线宽与线条颜色调整方案

问题描述

使用Plotly的hexbin mapbox时,能否调整单元格的线宽?查阅相关文档后未找到对应说明。若无法调整线宽,是否可以修改线条颜色?

尝试向create_hexbin_mapbox函数传入linewidth参数时触发错误,代码示例如下:

import pandas as pd
import plotly.figure_factory as ff

df = pd.DataFrame({
       'LAT': [-45,-44,-42,-41,-46,-44,-43,-45,-41,-45,-47],
       'LON': [-70,-71,-72,-72,-73,-74,-71,-70,-72,-70,-72],
       })

fig = ff.create_hexbin_mapbox(data_frame = df,
                                lat = 'LAT', 
                                lon = 'LON',
                                nx_hexagon = 5,
                                opacity = 0.5,
                                labels = {'color': 'Point Count'},
                                linewidth = 0.5,
                                mapbox_style = 'carto-positron',
                                zoom = 4
                                )
fig.show()

报错输出:

TypeError: create_hexbin_mapbox() got an unexpected keyword argument 'linewidth'

解决方案

1. 报错原因

plotly.figure_factory.create_hexbin_mapbox的官方API并未提供linewidth参数,直接传入会触发参数不匹配的错误。

2. 线条颜色与线宽的调整方法

虽然无法在函数调用时直接设置,但可以在生成图形对象后,修改hexbin图层的属性实现需求:

  • 调整线宽:修改图层的line.width属性
  • 修改线条颜色:修改图层的line.color属性

修改后的代码示例:

import pandas as pd
import plotly.figure_factory as ff

df = pd.DataFrame({
       'LAT': [-45,-44,-42,-41,-46,-44,-43,-45,-41,-45,-47],
       'LON': [-70,-71,-72,-72,-73,-74,-71,-70,-72,-70,-72],
       })

# 正常生成hexbin mapbox图形
fig = ff.create_hexbin_mapbox(data_frame = df,
                                lat = 'LAT', 
                                lon = 'LON',
                                nx_hexagon = 5,
                                opacity = 0.5,
                                labels = {'color': 'Point Count'},
                                mapbox_style = 'carto-positron',
                                zoom = 4
                                )

# 获取hexbin图层并修改线条属性
hex_layer = fig.data[0]
hex_layer.line.width = 1.0  # 设置线宽为1.0
hex_layer.line.color = '#000000'  # 设置线条颜色为黑色

fig.show()

补充说明

  • fig.data[0]对应生成的hexbin图层,create_hexbin_mapbox默认仅生成一个图层
  • line.width支持任意数值类型,line.color支持十六进制色值、颜色名称等标准颜色格式

内容的提问来源于stack exchange,提问作者jonboy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 23:12:13