Plotly散点地图标记大小调整求助:基于CSV数据
解决Plotly散点地图标记尺寸无法调整的问题
问题原因
在px.scatter_mapbox中,size_max参数是用来限制基于数据列映射的标记尺寸的上限。如果没有指定size参数(即没有将标记尺寸与数据中的某一列关联),size_max不会生效,标记会保持默认的固定尺寸。
解决方案1:统一设置所有标记尺寸
如果希望所有标记使用相同的大尺寸,直接通过update_traces方法设置marker.size即可,修改后的代码如下:
import plotly.express as px import pandas as pd df = pd.read_csv('https://raw.github.khoury.northeastern.edu/acroak/5800_group_project/main/5800_dataset.csv?token=GHSAT0AAAAAAAAANVYK5KIZUPNUSFWYMFPAZCLXTFQ') fig = px.scatter_mapbox(df, lon = df['long'], lat = df['lat'], hover_name = df['Place'], zoom = 7, width = 1200, height = 900, title = 'Spooky Map') # 统一设置标记尺寸 fig.update_traces(marker={'size': 25}) fig.update_layout(mapbox_style="open-street-map") fig.update_layout(margin={"r":0, "t":50, "l":0, "b":10}) fig.show()
解决方案2:基于数据列动态调整尺寸
如果需要根据数据中的某一数值型列(比如事件数量、评分等)来动态设置标记大小,需要指定size参数绑定对应列,同时用size_max限制最大尺寸,示例如下(可替换为你数据中实际的数值列):
import plotly.express as px import pandas as pd df = pd.read_csv('https://raw.github.khoury.northeastern.edu/acroak/5800_group_project/main/5800_dataset.csv?token=GHSAT0AAAAAAAAANVYK5KIZUPNUSFWYMFPAZCLXTFQ') # 示例:新增一列用于尺寸映射(实际使用时替换为你的目标数值列) df['demo_size'] = 10 fig = px.scatter_mapbox(df, lon = df['long'], lat = df['lat'], hover_name = df['Place'], zoom = 7, width = 1200, height = 900, size = df['demo_size'], # 指定尺寸关联的列 size_max = 25, # 限制最大标记尺寸 title = 'Spooky Map') fig.update_layout(mapbox_style="open-street-map") fig.update_layout(margin={"r":0, "t":50, "l":0, "b":10}) fig.show()
内容的提问来源于stack exchange,提问作者William Moore
相关产品推荐
相关产品推荐

