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

Plotly Choropleth地图未显示颜色问题求助

解决Choropleth地图仅显示轮廓无颜色的问题

我来帮你排查这个问题,地图只显示地球轮廓没颜色,大概率是以下几个原因导致的,咱们一步步解决:

  • 必须指定locationmode参数
    Plotly的Choropleth需要明确知道你传入的locations是什么格式的代码,默认值可能和你的数据不匹配。比如你用的是ISO-3字母国家代码(如USA、DEU),就需要加上locationmode='ISO-3';如果是国家全称(如'China'、'United States'),就用locationmode='country names'。这是最常见的问题,你的代码里刚好缺了这个关键参数!

  • 检查locations和z列的数据有效性

    • 先确认df3['Code']里的代码格式和你指定的locationmode完全匹配,比如不要混着用ISO-2和ISO-3代码,也不要有拼写错误(比如把'UK'写成'United Kingdom'如果用国家名称模式的话)。
    • 再检查df3['Power Consumption KWH']是否是数值型数据,有没有大量空值或非数值内容。如果这列数据无效,地图也无法渲染颜色,可以用df3['Power Consumption KWH'].isnull().sum()查看空值数量,用df3['Power Consumption KWH'].dtype确认数据类型。
  • 添加颜色配置辅助调试(可选)
    有时候数据范围特殊导致颜色不明显,你可以手动指定颜色刻度和颜色条,让效果更直观。

修正后的完整代码示例

import plotly.graph_objects as go
from plotly.offline import iplot

# 根据你的实际代码格式修改locationmode
data2 = dict(
    type='choropleth',
    locations=df3['Code'],
    z=df3['Power Consumption KWH'],
    locationmode='ISO-3',  # 替换成你实际的代码类型:'ISO-3'/'country names'/'USA-states'
    colorbar=dict(title='Power Consumption (KWH)'),  # 显示颜色条标题
    colorscale='Viridis'  # 选用辨识度高的颜色刻度
)

layout2 = dict(
    title='2014 Global Power Consumption',
    geo=dict(
        showframe=False,
        projection={'type': 'natural earth'}
    )
)

choromap2 = go.Figure(data=[data2], layout=layout2)
iplot(choromap2)

如果还是不行,你可以先打印df3[['Code', 'Power Consumption KWH']].head()看看前几行数据是否符合预期,这样更容易定位问题~

内容的提问来源于stack exchange,提问作者Vũ Giang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 15:58:10