#查询当前所有正常上市,交易的股票列表,导入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") # 渲染文件及其名称
)
那是因为各个省后面要加上省 或者市,获取的数据里面没有:几个自治区的我没有弄,相信你会弄了
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')
)