python--数据可视化——折线图可视化(基础)

JSON

--JSON的定义

  JSON是一种轻量级的数据交互格式,可以按照JSON指定的格式去组织和封装数据。

  JSON本质上是一个带有特定格式的字符串。它作为一种中转的数据格式,负责不同编程语言中的数据传递和交互。

--JSON的格式

  它的格式是是pyhon中的列表或列表中嵌套的字典的格式。

--python数据和JSON数据的相互转换

# 导入json模板
import json
# 准备符合json格式要求的python数据
data=[{"name":"张","age":18},{"name":"刘","age":19}]
# 通过json.dumps的方法将python数据转化为json数据
data1=json.dumps(data,ensure_ascii=False)
print(data1)
print(type(data1))
# 通过josn.loads的方法将json数据转化为python数据
data2=json.loads(data1)
print(data2)
print(type(data2))

 结果:(ensure_ascii=False将中文转换不成中文的编码问题)

[{"name": "张", "age": 18}, {"name": "刘", "age": 19}]
<class 'str'>
[{'name': '张', 'age': 18}, {'name': '刘', 'age': 19}]
<class 'list'>
s='[{"name":"张","age":18},{"name":"刘","age":19}]'

pyecharts模块

--pyecharts模块安装

  找到命令提示符,输入pip install pyecharts,然后回车安装

  输入python,回车,输入import pyecharts,如果没问题,则安装成功

--折线图


# 导包
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
# 创建折线图
line=Line()
# 添加x轴数据
line.add_xaxis(["张","李","杨"])
# 添加y轴数据
line.add_yaxis("成绩",[80,93,82])
# 设置全局配置项
line.set_global_opts(
    # 标题
    title_opts=TitleOpts(title="成绩展示",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生成折线图
line.render()

运行后点击左侧render.html,shift+左键点击浏览器查看折线图

--地图可视化

# 导包
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
# 准备地图对象
map=Map()
# 准备数据
data=[
    ("山东省",566),
    ("河南省",641),
    ("河北省",426),
    ("台湾省",193)
]
# 添加数据
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":"#FFFF99"},
            {"min":100,"max":499,"label":"99-499人","color":"#FF9966"},
            {"min":500,"max":999,"label":"499-999人","color":"#FF6666"}
        ]
    )
)
# 绘图
map.render()

--基础柱状图

from pyecharts.charts import Bar
from pyecharts.options import LabelOpts
# 构建柱状图对象
bar = Bar()
# 添加x轴数据
bar.add_xaxis(["小红","小蓝","小黄"])
#添加y轴数据,数据标签移动到右侧
bar.add_yaxis("成绩",[99,79,85],label_opts=LabelOpts(position="right"))
# 反转xy轴
bar.reversal_axis()
#绘图
bar.render()

--基础时间线柱状图


from pyecharts.charts import Bar,Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeType
# 构建柱状图对象
bar1 = Bar()
# 添加x轴数据
bar1.add_xaxis(["小红","小蓝","小黄"])
#添加y轴数据,数据标签移动到右侧
bar1.add_yaxis("成绩",[99,79,85],label_opts=LabelOpts(position="right"))
# 反转xy轴
bar1.reversal_axis()

bar2 = Bar()
bar2.add_xaxis(["小红","小蓝","小黄"])
bar2.add_yaxis("成绩",[92,82,90],label_opts=LabelOpts(position="right"))
bar2.reversal_axis()

bar3 = Bar()
bar3.add_xaxis(["小红","小蓝","小黄"])
bar3.add_yaxis("成绩",[96,90,89],label_opts=LabelOpts(position="right"))
bar3.reversal_axis()

# 创建时间线对象
timeline=Timeline(
    {"theme":ThemeType.LIGHT}   # 主题颜色设置
)
#timeline对象添加bar柱状图
timeline.add(bar1,"第一次考试成绩")
timeline.add(bar2,"第二次考试成绩")
timeline.add(bar3,"第三次考试成绩")
#设置自动播放
timeline.add_schema(
    play_interval=1000,     # 自动播放时间间隔,单位毫秒
    is_timeline_show=True,  # 是否在自动播放的时候显示时间线
    is_auto_play=True,      # 是否自动播放
    is_loop_play=True       # 是否循环播放
)
#绘图
timeline.render()

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值