Python可视化入门有点感觉了,开始学习国货之光pyecharts,先做一个地理可视化的实践探索。有个问题被卡住了,就是修改系列标签,在每个for循环的add里加参数(color='green')(color='red')(color='blue')只会把所有的三个系列的颜色都变成最后一个for里面的修改参数blue。调试了好久都没成功…我的心情也blue了…希望有大佬可以指教。
小菜鸟的第一个地理可视化的案例分享~A公司不同品牌门店的位置展示
原始数据格式是一个excel文档,前面的部分是筛选每个品牌门店的数据分边装进不同变量(md2 md5 md6)里,原始数据中有品牌区分列。处理成的格式如下:
门店(index) | 经度 | 纬度 |
XX店 | 120.67889 | 31.1236 |
# Geo 生成XX公司各品牌门店分布
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType
import pandas as pd
# pandas 导入数据
md=pd.read_excel('路径 文件.xlsx')
md2=md[md['品牌'].str.contains('A')].iloc[:,1:4]
md2.set_index('门店',inplace=True)
md5=md[md['品牌'].str.contains('B')].iloc[:,1:4]
md5.set_index('门店',inplace=True)
md6=md[md['品牌'].str.contains('KA')].iloc[:,1:4]
md6.set_index('门店',inplace=True)
# 链式调用
c = (Geo()
.add_schema(maptype="苏州")
.set_global_opts(title_opts=opts.TitleOpts(title="苏州XX公司门店分布"))
)
# A门店
for i in range(len(md2)):
c.add_coordinate(md2.index[i],md2.values[i,0],md2.values[i,1])
c.add("A品牌", [(md2.index[i], md2.index[i])],symbol_size=10)
c.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
for i in range(len(md5)):
c.add_coordinate(md5.index[i],md5.values[i,0],md5.values[i,1])
c.add("B品牌",[(md5.index[i],'B品牌')],symbol_size=10)
c.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
for i in range(len(md6)):
c.add_coordinate(md6.index[i],md6.values[i,0],md6.values[i,1])
c.add("其他品牌", [(md6.index[i],'其他品牌')],symbol_size=10)
c.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
# c.set_series_opts(itemstyle_opts=opts.ItemStyleOpts(color='green'))
# c.render('C:\\Users\\zoey\\Desktop\\苏州门店分布.html')
c.render_notebook()]
## 每个系列变指定颜色这个始终没有解决…
最终生成的可视化效果如图: