1、环境准备
我python环境是2.7的,要使用的pycharts版本是pyecharts 0.1.9.4。具体使用手册可以参考:https://05x-docs.pyecharts.org/#/zh-cn/customize_map
如果是python3的参考:https://pyecharts.org/#/zh-cn/intro
pip install pyecharts==0.1.9.4
再安装具体的地图包,依次全球地图、中国省级地图、中国市级地图、中国区县级地图
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
地图代码演示
# -- coding:utf-8 --
from pyecharts import Geo
keys = ['上海', '北京', '合肥', '哈尔滨', '广州', '成都', '无锡', '杭州', '武汉', '深圳', '西安', '郑州', '重庆', '长沙', '贵阳', '乌鲁木齐']
values = [4.07, 1.85, 4.38, 2.21, 3.53, 4.37, 1.38, 4.29, 4.1, 1.31, 3.92, 4.47, 2.40, 3.60, 1.2, 3.7]
geo = Geo("全国主要城市空气质量热力图", "data from pm2.5", title_color="#fff",title_pos="left", width=1200, height=600,background_color='#404a59')
geo.add("空气质量热力图", keys, values, visual_range=[0, 5],type='effectScatter',visual_text_color="#fff", symbol_size=15,is_visualmap=True,is_roam=True) # type有scatter, effectScatter, heatmap三种模式可选,可根据自己的需求选择对应的图表模式
geo.render(path="map.html")
柱状图代码演示
# -- coding:utf-8 --
from __future__ import unicode_literals
#from pyecharts.charts.bar import Bar
from pyecharts import Bar #数据可视化模块,引入柱状图,python2.7要使用v0.5以下
import xlrd # xlrd库:读取表格 xlwt库:写入表格
import json
data=xlrd.open_workbook("test.xls") #open 表格
table=data.sheets()[0] #指定打开哪一个sheet,[0}是第一个
#print data 只会打印内存数据
#print table.nrows #获取有多少行
#print table.ncols #获取有多少列
#print table.row_values(0) #获取第一行的值
#print table.col_values(0) #获取第一列的值
names=[] #指定对象为列表
ages=[] #指定对象为列表
yjx=[]
for i in range(1,table.nrows): #含头不含尾,第2行到第15行
#print table.row_values(i)
name=table.row_values(i)[0] #姓名的变量取行里面的第一个列表元素
names.append(name) #将取到的姓名加入names变量列表
age=table.row_values(i)[1]
ages.append(age) #将取到的年龄加入ages变量的列表
yj=table.row_values(i)[2]
yjx.append(yj)
print json.dumps(names).decode("unicode-escape")
print json.dumps(ages).decode("unicode-escape")
print json.dumps(yjx).decode("unicode-escape")
#柱状图
bar=Bar("某公司销售情况") #实例化,引入柱状图,title
#bar.add_x_axis(names) # x轴-仅用于pychartsv1.0版本
#bar.add_y_yaxis("营业额",ages) #两个参数,给y轴一个显示的字符串-仅用于pychartsv1.0版本
bar.add('销量',names,ages,mark_line=["average"], mark_point=["max", "min"])
#title,x轴,y轴,mark_line=["average"], mark_point=["max", "min"]为平均线及最小值,可以不加
bar.add('业绩线',names,yjx,mark_line=["average"], mark_point=["max", "min"])
#添加第二个柱状图
bar.render("业绩统计2.html") #生成html文件