Python数据可视化
Python数据 可视化
了解JSON
JSON
:是一种轻量级的数据交互格式, 采用完全独立于编程语言的文本格式来存储和表示数据(就是字符串)。Python语言使用JSON有很大优势,因为:JSON无非就是一个单独的字典或一个内部元素都是字典的列表。所以JSON可以直接和Python的字典或列表进行无缝转换。
JSON格式数据转化
:
- 通过
json.dumps(data)
方法把python数据转化为了JSON数据,如果有中文可以带上:ensure_ascii=False
参数来确保中文正常转换 - 通过
json.loads(data)
方法把JSON数据转化为了python列表或字典
import json
# 准备列表,列表每个元素都是字典,将其转换为Json
data = [{"name": "麦克", "age": 35}, {"name": "富兰克林", "age": 25}, {"name": "崔佛", "age": 40}]
json_str = json.dumps(data, ensure_ascii=False)
print(type(json_str))
print(json_str)
# 准备字典,将字典转为Json
d = {"name": "麦克", "age": 35}
json_str = json.dumps(d, ensure_ascii=False)
print(type(json_str))
print(json_str)
# 将Json字符串转为Python数据类型
s = '[{"name": "麦克", "age": 35}, {"name": "富兰克林", "age": 25}, {"name": "崔佛", "age": 40}]'
l = json.loads(s)
print(type(l))
print(l)
pyecharts模块
安装:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts
pyecharts
折线图基础使用
代码中只使用了全局配置项的一点设置,还有别的设置参数https://pyecharts.org/#/zh-cn/global_options
根据该文档查找
# 导包
from pyecharts.charts import Line
from pyecharts.options import TitleOpts, LegendOpts, ToolboxOpts, VisualMapOpts
# 创建一个折线图对象
line = Line()
# 给折线图对象添加x轴数据
line.add_xaxis(["中国", "美国", "英国"])
# 给折线图对象添加y轴数据
line.add_yaxis("GDP", [30, 20, 10])
# 设置全局配置 set_global_opts
line.set_global_opts(
title_opts=TitleOpts(title="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)
)
# 通过render方法,将代码生成图像,文件名称叫:render.html
line.render()
地图基础使用
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
# 准备地图对象
map = Map()
# 准备数据
data = [
("北京市", 99),
("上海市", 199),
("广东省", 299),
("江西省", 399),
("浙江省", 499),
]
# 添加数据
map.add("测试地图", data, "china")
# 设置全局选项
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": "#FF6666"},
{"min": 100, "max": 500, "label": "100-500", "color": "#990033"}
]
)
)
# 绘图
map.render()
柱状图基本使用
reversal_axis()
:让x和y轴切换位置
add_yaxis(..., label_opts=LabelOpts(position="right"))
:让柱状图中的数据显示在最右侧
from pyecharts.charts import Bar
from pyecharts.options import LabelOpts
# 使用Bar字符串构建基本柱状图
bar = Bar()
# 添加x轴数据
bar.add_xaxis(["中国", "美国", "英国"])
# 添加y轴数据
bar.add_yaxis("GDP", [30, 20, 10], label_opts=LabelOpts(
position="right"
))
# 反转x和y轴
bar.reversal_axis()
# 绘图
bar.render("柱状图.html")