数据可视化——用python绘制简单的折线图

文章目录

  • 前言
  • JSON
  • [使用 pyecharts 模块绘制折线图](#使用 pyecharts 模块绘制折线图)
    • [下载 pyecharts 模块](#下载 pyecharts 模块)
    • [使用 pyecharts 模块绘制简单的折线图](#使用 pyecharts 模块绘制简单的折线图)
    • 添加配置选项

前言

前面我们已经学习了python的基础语法和面向对象,那么接下来我们将学习python编程语言的过人之处------数据的可视化之折线图。

JSON

说到数据可视化,我们需要先知道什么是JSON。

  • json是一种轻量级的数据交互格式,可以按照json指定的格式去组织和封装数据
  • json本质上是一个带有特定格式的字符串

JSON的主要功能是:

  1. 数据序列化和传输:JSON可以将复杂的数据结构(如对象和数组)转换为字符串形式,以便在网络上进行传输。它跨平台兼容,可以在不同的编程语言中解析和生成。

  2. 人类可读的数据格式:JSON采用了简洁的文本格式,易于阅读和理解。它使用键/值对表示数据,并使用大括号({})表示对象,方括号(\[\])表示数组。

  3. 对象表示:JSON支持对象表示,可以通过键/值对形式表示复杂的数据结构。键是字符串,值可以是字符串、数字、布尔值、对象、数组或null。

  4. 数组表示:JSON支持数组表示,可以在方括号中包含多个值,用逗号分隔。数组可以嵌套,允许存储多层次的数据结构。

  5. 数据交换和存储:JSON广泛用于数据交换和存储。它是许多API和服务的常用数据格式,可以方便地将数据从一个应用程序传输到另一个应用程序。

  6. 跨语言支持:JSON可以在不同的编程语言中解析和生成,因此在不同的平台上可以轻松地共享和处理数据。

因为JSON数据类型使用大括号{ }表示对象,方括号[ ]表示数组,而这样的形式在python中与字典和列表的表现方式相同,所以这就很方便。

python 数据与 JSON数据的转换

要进行 python 数据与 JSON 数据的转换,我们需要用到 python 的 json 模块中的 dumps 方法和 loads 方法。

  • json.dumps(data) 将 python 数据转换为 JSON 数据
  • json.loads(data) 将 JSON 数据转换为 python 数据
python 复制代码
import json

data = [{'name':'张三','age':18},{'name':'李四','age':20}]
json_str = json.dumps(data)
print(type(json_str))
result = json.loads(json_str)
print(type(result))

因为 JSON 是一种带有特定格式的字符串,所以他的类型是 str 类型。

使用 pyecharts 模块绘制折线图

下载 pyecharts 模块

我们需要先下载 pyecharts 模块。

cmd 中使用 pip install pyecharts 命令下载 pyecharts 模块。

并且 pyecharts 还提供了官网 https://pyecharts.org/#/en-us/ 我么可以在官网中了解相关知识。

在 pyecharts-gallery 网站中,我们可以看到许多绘制的数据可视化图形并且附有参考代码。https://gallery.pyecharts.org/#/README_EN

使用 pyecharts 模块绘制简单的折线图

我们需要用到 pyecharts 包下的 charts 模块下的 Line 方法。

python 复制代码
from pyecharts.charts import Line

# 得到折线图对象
line = Line()

# 添加横坐标数据
line.add_xaxis(["中国","美国","日本"])

# 添加纵坐标数据
line.add_yaxis("GDP",[30,20,10])

# 生成图标
line.render()

但我们运行代码之后,会生成一个 render.html 文件。

添加配置选项

这样虽然绘制出了折线图,但是我们可以看到图形比较单调,所以我们可以一些配置选项。

pyecharts 常用的两个配置选项:

  • 全局配置选项
  • 系列配置选项

那么我们这篇文章主要添加全局配置选项。

使用 set_global_opts 来进行全局配置。我们可以在官网中看有哪些可以配置的全局选项。

我们常使用的全局选项有这些。

这些配置方法都在 pyecharts.options 模块中,我们需要导入相应模块下的方法。

python 复制代码
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts

我们也可以使用 CTRL + P 来查看参数列表

python 复制代码
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts

# 得到折线图对象
line = Line()

# 添加横坐标数据
line.add_xaxis(["中国","美国","日本"])

# 添加纵坐标数据
line.add_yaxis("GDP",[30,20,10])

# 添加全局配置选项
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))  # 配置视觉映射

# 生成图标
line.render()
相关推荐
研☆香2 分钟前
js中使用的正则表达式
开发语言·javascript·正则表达式
szarron2 分钟前
国产手持式频谱分析仪选型攻略:TFN RC系列 vs HTOOL SA8T频谱分析仪 专业参数对比(军工/路测/调试全覆盖)
开发语言·前端·状态模式
我是唐青枫3 分钟前
C#.NET StructureMap 从依赖注入到项目实战
开发语言·c#·.net
Beyond_System|系统之外6 分钟前
一个网页如何同时适配投影仪、1366×768 和 1920×1080?我重新理解了“自适应布局”
开发语言·css·html
孤狼warrior21 分钟前
SCTR 五次失败的安全 BN 路由器
人工智能·python·深度学习·算法·安全·yolo
Wang's Blog21 分钟前
Java框架快速入门: Spring Security+OAuth2之定制登录页
java·开发语言·spring
imgsq22 分钟前
MapLibre GL JS v6 正式发布:v5 之后八个月的第一个大版本(编译)
开发语言·javascript·ecmascript
统计学小王子22 分钟前
数学建模国赛倒计时 2 天 ——《缺失值处理一(R语言)》
开发语言·数学建模·r语言
天赐范式26 分钟前
天赐范式第159天:让广播走出本机——HTTP通道发出第一声
python·broadcast·urllib·http.server·天赐范式·动态运行时·http通道
嘻哈baby31 分钟前
大量消息在 MQ 里长时间积压,该如何解决?
开发语言