从零开始学python---pyecharts可视化图表

一、json:

json数据格式:带有特定格式的字符串,负责不同语言的数据传递和交互。
不同语言的中转站

json数据格式:
1. {"name":"wjm","age":18} 可以看出这个是一个字典
2.[{"name":"w","age":18},{"name":"j","age":18},{"name":"m","age":18}],同时也可以是一个列表,列表中的元素是字典

那么数据的相互转换为 (涉及到dumps和loads函数)
note;只有字典和列表转化为json

import json

#这个是符合json格式的python数据
data = [{"name":"w","age":18},{"name":"j","age":18},{"name":"m","age":18}]

#通过这个函数将python数据转换为json数据
data = json.dumps(data)
print(type(data))
print(data)

#通过这个函数把json数据转化为python数据
data = json.loads(data)
print(type(data))


'''
结果为
<class 'str'>
[{"name": "w", "age": 18}, {"name": "j", "age": 18}, {"name": "m", "age": 18}]
<class 'list'>
'''

二、pyecharts模块介绍

由百度开源:官方网站:pyecharts - A Python Echarts Plotting Library built with love.

同时其也提供画廊,相当于给出一个展厅 
网址为:Document
这里给出各种可视化示例

 安装pyecharts:这个东西使用 win + R,输入cmd命令,然后进入环境
再使用pip install pyecharts。

三、pyecharts基础操作:

构建一个基础的折线图:

from pyecharts.charts import Line

line = Line()
#添加x轴数据
line.add_xaxis(["wjm","wmx","zjy"])
#添加y轴数据
line.add_yaxis("颜值",[100,2,50])
#生成图
line.render()

然后会在python中生成一个render.html文件,将这个文件在阅览器中打开

下面是打开后的效果图 

接下来介绍全局配置选项,通过set_global_opts方法进行配置
这个全局配置项针对标题,图例和工具箱进行配置
接下来进行简单的演示

from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
line = Line()
#添加x轴数据
line.add_xaxis(["wjm","wmx","zjy"])
#添加y轴数据
line.add_yaxis("颜值",[100,2,50])
#设置全局配置项
line.set_global_opts(
    #改变标题,确定位置,pos_left是指靠近左边有多远,center是居中显示
    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)
    #剩余的全局配置项都可以在官网上找
)




#生成图
line.render()

这个工具栏可以尝试使用,也是很有趣的 

三、json模块的数据处理 

我们的数据文件通常是一个文件
我们首先使用open函数对数据进行处理
然后通过read方法读取全部内容
然后将json数据转化为python数据
然后就可以绘制图像了
不要忘记在程序结束的时候close文件

note:
1.替换内容:使用replace函数
2.去掉结尾,可以使用data = data[:-2] #去掉结尾的两个字符,data是取出来的数据
然后就是取出某一部分数据
比如你的文件是个列表中嵌套字典,那么我们可以通过kkk = data["key名称"] 取出对应字典

四、对于地图的绘制

from pyecharts.charts import Map
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,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()

 至于颜色去哪里找,我们可以使用在线懒人工具来帮助我们
网址:懒人工具-json在线解析-在线JSON格式化工具-json校验-程序员必备 (kuquidc.com)
里面有一个RGB颜色查询表供我们使用

 五、基础动态柱状图

from pyecharts.charts import Bar
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
#柱状图对象
bar = Bar()
#添加x轴数据
bar.add_xaxis(["wjm","wmx","zjy"])
#添加y轴数据
bar.add_yaxis("颜值",[100,2,50])
#绘图
bar.render("颜值对比图.html")


#绘图
bar.render()

from pyecharts.charts import Bar
from pyecharts.options import LabelOpts,TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
#柱状图对象
bar = Bar()
#添加x轴数据
bar.add_xaxis(["wjm","wmx","zjy"])
#添加y轴数据
bar.add_yaxis("颜值",[100,2,50],label_opts=LabelOpts(position="right"))
#绘图
bar.render("颜值对比图.html")
#反转xy轴
bar.reversal_axis()
#把数值标签放到右侧 放到y轴那label_opts=LabelOpts(position="right")
#绘图
bar.render()

 根据时间线绘制图表Timeline()
每一个时间点存在一个柱状图,这样就会播放
 

from pyecharts.charts import Bar,Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeType
#柱状图对象
bar1 = Bar()
#添加x轴数据
bar1.add_xaxis(["wjm","wmx","zjy"])
#添加y轴数据
bar1.add_yaxis("颜值",[100,2,50],label_opts=LabelOpts(position="right"))

bar1.reversal_axis()

bar2 = Bar()
#添加x轴数据
bar2.add_xaxis(["wjm","wmx","zjy"])
#添加y轴数据
bar2.add_yaxis("颜值",[100,50,2],label_opts=LabelOpts(position="right"))

bar2.reversal_axis()


#创建时间对象,设置主题为蓝
timeline = Timeline(
    {"theme":ThemeType.LIGHT}
)
#在时间线内添加柱状图对象
timeline.add(bar1,"2024年颜值")
timeline.add(bar2,"2004年颜值")
#自动播放设置
timeline.add_schema(
    play_interval=1000,#时间单位,毫秒
    is_timeline_show=True,#是否显示时间线
    is_auto_play=True,#是否自动播放
    is_loop_play=True#是否循环播放
)
#绘图
timeline.render()

这个效果大家可以允许尝试。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值