Pyecharts库实现平行坐标图的绘制(iris数据集)

Pyecharts库实现平行坐标图的绘制(iris数据集)

一、安装pyecharts库

首先需要安装pyecharts库,网上的教程有很多,但很多版本号并不好用,最终我是用了1.7.1这个版本。

安装pyecharts参考这篇文章,点这里

二、导入数据集
import pandas as pd
from sklearn import datasets

flower_data = datasets.load_iris()  # 导入鸢尾花数据集

# 将特征和标签合并为一个表格
data_1 = pd.concat([pd.DataFrame(flower_data.data), pd.DataFrame(flower_data.target, columns=[4])], axis=1)

data_2 = data_1.values.tolist()  # 提取表格的数据部分并转换成列表类型

# 将标签0,1,2替换为"setosa","versicolor","virginica"
for x in data_2:
    if x[4] == 0:
        x[4] = "setosa"
    elif x[4] == 1:
        x[4] = "versicolor"
    elif x[4] == 2:
        x[4] = "virginica"
三、绘制平行坐标图

使用pyecharts库绘制平行坐标图参考官方文档

pyecharts官方文档

如果想要显示不同数据线条的颜色,分别多次调用add函数分批导入数据就可以了。

from pyecharts import options as opts
from pyecharts.charts import Parallel

c = (
    Parallel()
        .add_schema(
        [
            opts.ParallelAxisOpts(dim=0, name='花萼长度'),
            opts.ParallelAxisOpts(dim=1, name="花萼宽度"),
            opts.ParallelAxisOpts(dim=2, name="花瓣长度"),
            opts.ParallelAxisOpts(dim=3, name="花瓣宽度"),
            opts.ParallelAxisOpts(
                dim=4,
                name="类别",
                type_="category",
                data=["setosa", "versicolor", "virginica"],
            ),
        ]
    )
        .add("setosa", [x for x in data_2 if x[4] == "setosa"])
        .add("versicolor", [x for x in data_2 if x[4] == "versicolor"])
        .add("virginica", [x for x in data_2 if x[4] == "virginica"])  # 将不同类别的数据分三次导入,可显示不同颜色并生成label
    
        .set_global_opts(title_opts=opts.TitleOpts(title="鸢尾花数据集"))  # 图片label
        .render("iris_parallel_graph.html")
)

保存的html文件在py文件同一路径下可以找到。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值