努力学习第n天 2024-08-20 16:52 采纳率: 0%
浏览 7

为什么pyecharts中的地图不会显示

为什么pyecharts中的地图不会显示

img

from pyecharts import options as opts
from pyecharts.charts import Bar, Map
from streamlit_echarts import st_pyecharts
import echarts
import streamlit as st

# 设置离线模式
from pyecharts.globals import CurrentConfig

CurrentConfig.ONLINE_HOST = lambda: "https://cdn.jsdelivr.net/npm/echarts@latest/dist/"


def options_zzt(data):
    # 获取地区列和进度列的数据
    regions = data['地区'].tolist()
    progresses = data['进度'].tolist()
    a = (
        Bar()
        .add_xaxis(regions)
        .add_yaxis("进度", progresses)
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title="地区进度展示", subtitle="各地区进度情况"
            ),
            toolbox_opts=opts.ToolboxOpts(),
        )
    )
    st_pyecharts(a)


def options_map():
    # 使用统计结果生成地图数据
    test_data = [("广东", 100), ("江苏", 80), ("浙江", 70), ("山东", 90), ("河南", 85)]
    b = (
        Map()
      .add("数量", test_data, "China")
      .set_global_opts(
            title_opts=opts.TitleOpts(
                title="地区数量展示(中国地图)", subtitle="各地区数量情况"
            ),
            visualmap_opts=opts.VisualMapOpts(min_=0, max_=100),
        )
    )
    st_pyecharts(b)

with st.container():
    st.write("任务栏")
    conn = st.connection('sjk', type='sql')
    data = conn.query('select * from xm_shuju')
    data = data.rename(columns={'dq': '地区', 'zt': '状态', 'jd': '进度'})
    data.loc[data['状态'] == 1, '状态'] = True
    data.loc[data['状态'] == 0, '状态'] = False
    edited_df = st.data_editor(data, hide_index=True)

echarts.options_zzt(data)
echarts.options_map()
  • 写回答

1条回答 默认 最新

  • 清水白石008 2024-08-20 17:40
    关注
    🕒下午好,题主!目前:🟢[在线]
    📢参考GPT-4o mini 模型、由清水白石008整理提供!
    📣今日金句:“生活就像骑自行车。要保持平衡,就得不断前进。” — 阿尔伯特·爱因斯坦
    

    在使用 pyecharts 绘制地图时,如果地图没有显示,可能是由以下几个原因引起的。我们可以逐一检查并解决这些问题。

    1. 确保数据格式正确

    确保你传递给 Map 的数据格式是正确的。test_data 应该是一个包含地区名称和对应数值的元组列表。你在代码中使用的格式是正确的,但请确保地区名称与 pyecharts 支持的地区名称一致。

    2. 检查地图类型

    Mapadd 方法中,确保你使用的地图类型是正确的。在你的代码中,你使用的是 "China",这应该是正确的,但请确保 pyecharts 版本支持这个地图。

    3. 确保 ECharts 资源加载正常

    你设置了 CurrentConfig.ONLINE_HOST,确保这个 CDN 地址能够正常访问。你可以在浏览器中打开这个链接,检查是否能够加载 ECharts 的资源。

    4. Streamlit 兼容性

    确保 streamlit_echartspyecharts 的版本兼容。你可以尝试更新这两个库到最新版本:

    pip install --upgrade pyecharts streamlit-echarts
    

    5. 检查 Streamlit 运行环境

    确保你在 Streamlit 中运行代码时,使用的是正确的 Python 环境,并且没有其他错误影响到地图的显示。你可以在终端中运行 Streamlit 应用,查看是否有错误信息。

    6. 示例代码

    以下是一个简化的示例,确保地图能够正常显示:

    import streamlit as st
    from pyecharts import options as opts
    from pyecharts.charts import Map
    from streamlit_echarts import st_pyecharts
    
    # 设置离线模式
    from pyecharts.globals import CurrentConfig
    CurrentConfig.ONLINE_HOST = lambda: "https://cdn.jsdelivr.net/npm/echarts@latest/dist/"
    
    def options_map():
        # 使用统计结果生成地图数据
        test_data = [("广东", 100), ("江苏", 80), ("浙江", 70), ("山东", 90), ("河南", 85)]
        b = (
            Map()
            .add("数量", test_data, "china")  # 注意这里的 "china" 应该是小写
            .set_global_opts(
                title_opts=opts.TitleOpts(
                    title="地区数量展示(中国地图)", subtitle="各地区数量情况"
                ),
                visualmap_opts=opts.VisualMapOpts(min_=0, max_=100),
            )
        )
        st_pyecharts(b)
    
    # Streamlit 应用
    st.title("Pyecharts 地图示例")
    options_map()
    

    7. 运行 Streamlit

    确保你在终端中运行 Streamlit 应用:

    streamlit run your_script.py
    

    8. 检查浏览器控制台

    如果地图仍然不显示,打开浏览器的开发者工具(通常按 F12),查看控制台是否有任何错误信息,这可能会提供更多的线索。

    总结

    通过以上步骤,你应该能够找到地图不显示的原因并解决它。如果问题仍然存在,请提供更多的错误信息或上下文,以便进一步分析。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月20日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?