您现在的位置是:网站首页> 编程资料编程资料
Python pyecharts 数据可视化模块的配置方法_python_
2023-05-25
466人已围观
简介 Python pyecharts 数据可视化模块的配置方法_python_
1. pyecharts 模块介绍
Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
pyecharts 官网:https://pyecharts.org/#/zh-cn/
pyecharts 画廊地址:https://gallery.pyecharts.org/#/README
2. pyecharts 模块安装
pip install pyecharts
3. pyecharts 配置选项
pyecharts 模块中有很多配置选项,常用到两个类别的选项:全局配置选项和系列配置选项。
3.1 全局配置选项
全局配置选项可以通过 set_global_opts 方法来进行配置,通常对图表的一些通用的基础的元素进行配置,例如标题、图例、工具箱、鼠标移动效果等等,它们与图表的类型无关。


示例代码:通过折线图对象对折线图进行全局配置
from pyecharts.charts import Line from pyecharts.options import TitleOpts, LegendOpts, ToolboxOpts, VisualMapOpts # 获取折线图对象 line = Line() # 对折线图进行全局配置 line.set_global_opts( # 设置标题、标题的位置... title_opts=TitleOpts("国家GDP展示", pos_left="center", pos_bottom="1%"), # 设置图例是展示的... legend_opts=LegendOpts(is_show=True), # 设置工具箱是展示的 toolbox_opts=ToolboxOpts(is_show=True), # 设置视觉映射是展示的 visualmap_opts=VisualMapOpts(is_show=True) ) 3.2 系列配置选项
系列配置选项是针对某个具体的参数进行配置,可以去 pyecharts 官网进行了解。

4. 基础折线图的构建
4.1 基本使用流程
1.导包,导入 Line 功能构建折线图对象
from pyecharts.charts import Line from pyecharts.options import TitleOpts, LegendOpts, ToolboxOpts, VisualMapOpts
2.获取折线图对象
line = Line()
3.添加 x、y 轴数据(添加系列配置)
line.add_xaxis(["中国", "美国", "英国"]) line.add_yaxis("GDP", [30, 20, 10]) 4.添加全局配置
line.set_global_opts( # 设置标题、标题的位置... title_opts=TitleOpts("国家GDP展示", pos_left="center", pos_bottom="1%"), # 设置图例是展示的... legend_opts=LegendOpts(is_show=True), # 设置工具箱是展示的 toolbox_opts=ToolboxOpts(is_show=True), # 设置视觉映射是展示的 visualmap_opts=VisualMapOpts(is_show=True) ) 5.生成图表(通过 render 方法将代码生成图像)
line.render()

4.2 实现2020年美印日确诊人数对比折线图
import json from pyecharts.charts import Line # 获取不同国家疫情时间 from pyecharts.options import TitleOpts, LabelOpts def getdata(file): # 处理数据 try: f = open(file, 'r', encoding='utf8') except FileNotFoundError as e: print(f"文件不存在,具体错误为:{e}") else: data = f.read() # JSON 转 Python 字典 dict = json.loads(data) # 获取 trend trend_data = dict['data'][0]['trend'] # 获取日期数据,用于 x 轴(只拿2020年的数据) x_data = trend_data['updateDate'][:314] # 获取确认数据,用于 y 轴 y_data = trend_data['list'][0]['data'][:314] # 返回结果 return x_data, y_data finally: f.close() # 获取美国数据 us_x_data, us_y_data = getdata("E:\\折线图数据\\美国.txt") # 获取印度数据 in_x_data, in_y_data = getdata("E:\\折线图数据\\印度.txt") # 获取日本数据 jp_x_data, jp_y_data = getdata("E:\\折线图数据\\日本.txt") # 生成图表 line = Line() # 添加 x 轴数据(日期,公用数据,不同国家都一样) line.add_xaxis(us_x_data) # 添加 y 轴数据(设置 y 轴的系列配置,将标签不显示) line.add_yaxis("美国确诊人数", us_y_data, label_opts=LabelOpts(is_show=False)) # 添加美国数据 line.add_yaxis("印度确诊人数", in_y_data, label_opts=LabelOpts(is_show=False)) # 添加印度数据 line.add_yaxis("日本确诊人数", jp_y_data, label_opts=LabelOpts(is_show=False)) # 添加日本数据 # 配置全局选项 line.set_global_opts( # 设置标题 title_opts=TitleOpts("2020年美日印三国确诊人数对比折线图", pos_left="center", pos_bottom="1%"), ) # 生成图表 line.render() 
5. 基础地图构建
5.1 基本使用流程
1.导包,导入 Map 功能获取地图对象
from pyecharts.charts import Map from pyecharts.options import VisualMapOpts
2.获取地图对象
map = Map()
3.准备好数据
data = [ ("北京", 99), ("上海", 199), ("广州", 299), ("湖南", 199), ("安徽", 99), ("湖北", 399), ] 4.添加数据到地图对象中
# 地图名称、传入的数据、地图类型(默认是中国地图) map,add("地图", data, "china") 5.添加全局配置
map.set_global_opts( # 设置视觉映射配置 visualmap_opts=VisualMapOpts( # 打开视觉映射(可能不精准,因此可以开启手动校准) is_show=True, # 开启手动校准范围 is_piecewise=True, # 设置要校准参数的具体范围 pieces=[ {"min": 1, "max": 9, "label": "1~9人", "color": "#CCFFFF"}, {"min": 10, "max": 99, "label": "10~99人", "color": "#FFFF99"}, {"min": 100, "max": 199, "label": "100~199人", "color": "#FF9966"}, {"min": 200, "max": 299, "label": "200~299人", "color": "#FF6666"}, {"min": 300, "label": "300人以上", "color": "#CC3333"}, ] ) ) 6.生成地图
map.render()

5.2 实现国内疫情地图
import json from pyecharts.charts import Map from pyecharts.options import VisualMapOpts, TitleOpts, LegendOpts # 读取数据 f = open("E:\\地图数据\\疫情.txt", 'r', encoding='utf8') str_json = f.read() # 关闭文件 f.close() # JSON 转 python 字典 data_dict = json.loads(str_json) # 取到各省数据 province_data_list = data_dict['areaTree'][0]['children'] # 组装每个省份和确诊人数为元组,并封装到列表内 data_list = [] for province_data in province_data_list: province_name = province_data['name'] province_total_confirm = province_data['total']['confirm'] data_list.append((province_name, province_total_confirm)) # 创建地图对象 map = Map() # 添加数据 map.add("各省确诊总人数", data_list, "china") # 设置全局配置,定制分段的视觉映射 map.set_global_opts( title_opts=TitleOpts('全国疫情地图', pos_left='center', pos_bottom='1%'), legend_opts=LegendOpts(is_show=True), visualmap_opts=VisualMapOpts( is_show=True, is_piecewise=True, pieces=[ {"min": 1, "max": 9, "label": "1~9人", "color": "#CCFFFF"}, {"min": 10, "max": 99, "label": "10~99人", "color": "#FFFF99"}, {"min": 100, "max": 499, "label": "100~499人", "color": "#FF9966"}, {"min": 500, "max": 999, "label": "500~999人", "color": "#FF6666"}, {"min": 1000, "max": 9999, "label": "1000~9999人", "color": "#CC3333"}, {"min": 10000, "label": "10000人以上", "color": "#990033"} ] ) ) # 绘图 map.render() 
5.3 实现省级疫情地图
import json from pyecharts.charts import Map from pyecharts.options import VisualMapOpts, TitleOpts, LegendOpts # 读取数据 f = open("E:\\地图数据\\疫情.txt", 'r', encoding='utf8') str_json = f.read() # 关闭文件 f.close() # JSON 转 python 字典 data_dict = json.loads(str_json) # 取到河南省数据 city_data_list = data_dict['areaTree'][0]['children'][3]['children'] # 组装每个市和确诊人数为元组,并封装到列表内 data_list = [] for city_data in city_data_list: city_name = city_data['name'] + "市" city_total_confirm = city_data['total']['confirm'] data_list.append((city_name, city_total_confirm)) # 创建地图对象 map = Map() # 添加数据 map.add("各市确诊总人数", data_list, "河南") # 设置全局配置,定制分段的视觉映射 map.set_global_opts( title_opts=TitleOpts('河南省疫情地图', pos_left='center', pos_bottom='1%'), legend_opts=LegendOpts(is_show=True), visualmap_opts=VisualMapOpts( is_show=True, is_piecewise=True, pieces=[ {"min": 1, "max": 9, "label": "1~9人", "color": "#CCFFFF"}, {"min": 10, "max": 99, "label": "10~99人", "color": "#FFFF99"}, {"min": 100, "max": 499, "label": "100~499人", "color": "#FF9966"}, {"min": 500, "max": 999, "label": "500~999人", "color": "#FF6666"}, {"min": 1000, "max": 9999, "label": "1000~9999人", "color": "#CC3333"}, {"min": 10000, "label": "10000人以上", "color": "#990033"} ] ) ) # 绘图 map.render() 
6. 基础柱状图构建
6.1 基本使用流程
1.导包,导入 Bar 功能获取地图对象
from pyecharts.charts import Bar from pyecharts.options import *
2.获取地图对象
bar = Bar()
3.添加 x 和 y 轴数据
# 添加 x 轴数据 bar.add_xaxis(["
相关内容
- 12个Pandas/NumPy中的加速函数使用总结_python_
- django中的auth模块与admin后台管理方法_python_
- Python+OpenCV实现信用卡数字识别的方法详解_python_
- Python+Opencv实现图像模板匹配详解_python_
- Python数据库sqlite3图文实例详解_python_
- Python运算符教程之逻辑门详解_python_
- Python解析toml配置文件的方法分享_python_
- Python实现解析yaml配置文件的示例详解_python_
- LyScript实现Hook隐藏调试器的方法详解_python_
- python进行数据合并concat/merge_python_
点击排行
本栏推荐
