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")

posted @ 2023-09-15 15:50  橙香五花肉  阅读(45)  评论(0编辑  收藏  举报