whisky- 2022-12-29 15:04 采纳率: 71.4%
浏览 82
已结题

python可视化pyechart使用map制作地图时无数据导入

#查询当前所有正常上市,交易的股票列表,导入excel中
#ts_code:TS代码、symbol:股票代码
data = pro.query('stock_basic', exchange='', fields='ts_code,symbol,name,industry,area,list_date')
data.to_csv('E:\!!!作业\python可视化\期末论文\股票.csv',encoding='utf-8',index=0)
#将索引项设置为第1行,是为了不将索引列导入到excel中去,方便我们后续的数据处理
#print(data.isnull().sum())   #检查数据是否有缺失值
#直接使用isnull()并不能很直观的反应缺失值的信息,isnull().sum()可以直接告诉我们每列缺失值的数量

#可视化制作上市股票各省市分布地图#
c = (
    Map(init_opts=opts.InitOpts(width="1000px", height="600px"))  #初始化地图大小
    .set_global_opts(      #配置全局项,可以更好的设置个性化图表                        
        #title_opts=opts.TitleOpts(title="各省上市股票分布图"),  #配置标题
        visualmap_opts=opts.VisualMapOpts(
            min_=0,
            max_=700,
            range_text = ['股票数量 颜色区间:', ''],  #分颜色区间,图形显示比较直观
            is_piecewise=True,  #定义图例为分段型,默认为连续的图例
            pos_top= "middle",  #设置上面的组件根据相应的位置居中对齐
            pos_left= "left",   #设置左边的组件根据相应的位置向左对齐
            orient="vertical",  #图例列表设置为垂直布局
            split_number=7  #将700分成7个区间
        )
    )
    .add("",data_pie,maptype="china")  #将list传入,地图类型为中国地图
    .render("Map.html")  # 渲染文件及其名称
)

img


img

  • 写回答

2条回答 默认 最新

  • cjh4312 2022-12-29 17:22
    关注

    那是因为各个省后面要加上省 或者市,获取的数据里面没有:几个自治区的我没有弄,相信你会弄了

    
    from pyecharts.charts import Map
    from pyecharts import options as opts
    import pandas as pd
    import requests
    
    headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.27'}
    url='http://api.waditu.com'
    params = {
                'api_name': 'stock_basic',
                'token': 'bbe1d68e9a152f87296960ffd981449ed98fff7cfd13b3cf2a50be79',
                'fields': 'ts_code,symbol,name,area,industry,list_date,cnspell'
            }
    dd = requests.post(url, json=params,headers=headers)
    data=pd.DataFrame(dd.json()['data']['items'])
    data.columns=['ts_code','symbol','name','area','industry','abbreviation','list_date']
    #可视化制作上市股票各省市分布地图#
    
    dd=['北京','上海','重庆','深圳']
    for i in range(len(data['area'])):
        if data.loc[i,'area'] in dd:
            data.loc[i,'area']=f"{data.loc[i,'area']}市"
        else:
            data.loc[i,'area']=f"{data.loc[i,'area']}省"
    dd=data['area'].value_counts()
    dd=dd.reset_index()
    dd.columns=['area','nums']
    data=dd[['area','nums']].values.tolist()
    
    china_province = (
        Map()
        .add('', data, 'china')
        .set_global_opts(
            title_opts=opts.TitleOpts(title='各省上市股票分布图'),
            visualmap_opts=opts.VisualMapOpts(
                min_=0,
                max_=700,
                range_text = ['股票数量 颜色区间:', ''],  #分颜色区间,图形显示比较直观
                is_piecewise=True,  #定义图例为分段型,默认为连续的图例
                pos_top= "middle",  #设置上面的组件根据相应的位置居中对齐
                pos_left= "left",   #设置左边的组件根据相应的位置向左对齐
                orient="vertical",  #图例列表设置为垂直布局
                )
        )
        .render(path='e:/Map.html')
    )
    
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月25日
  • 已采纳回答 2月17日
  • 创建了问题 12月29日