学习用echarts画平行坐标系图

本文详细介绍了使用Python的Pyecharts库绘制平行坐标系图的方法,包括数据预处理、图表配置及最终渲染过程,适用于展示多维度数据集的分布特征。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习画平行坐标系图

记录学习

数据源的模样:列标题为数据的类型
处理数据:

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

#读数据
result=pd.read_csv('D:/iris.csv')
#分组,按照花的类型分组
A=result[result['iris']=='Iris-setosa']
B=result[result['iris']=='Iris-versicolor']
C=result[result['iris']=='Iris-virginica']

#Iris-setosa的数据
data1=[]
for a in range(0,len(A)):   # 计算列表A的长度,进行循环切片
    data1.append(A.values.tolist()[a][0:])
#Iris-versicolor的数据
data2=[]
for b in range(0,len(B)):
    data2.append(B.values.tolist()[b][0:])
#Iris-virginica的数据
data3=[]
for c in range(0,len(C)):
    data3.append(C.values.tolist()[c][0:])
#输出数据看数据的形式是否正确
print(data1,'\n',data2,'\n',data3)

输出的数据样式:
列表数据
画图:

c = (     Parallel()
          .add_schema(
          [
              opts.ParallelAxisOpts(dim=0, name="sepal length",is_scale=True),
              opts.ParallelAxisOpts(dim=1, name="sepal width",is_scale=True),
              opts.ParallelAxisOpts(dim=2, name="petal length",is_scale=True),
              opts.ParallelAxisOpts(dim=3, name="petal width",is_scale=True),#自动划分范围is_scale=True
              opts.ParallelAxisOpts(dim=4,  name="分类", type_="category",
                                    data=["Iris-setosa", "Iris-versicolor", "Iris-virginica"]),
              ])
          .add("setosa", data1)
          .add("versicolor", data2)
          .add("virginica", data3)
          .set_global_opts(title_opts=opts.TitleOpts(
               title="Parallel cordlnate plot, Fisher's iris data",pos_top="top",pos_right="center"),
               legend_opts=opts.LegendOpts( pos_top="bottom",pos_right="center"),)
          .render("parallel.html")
)

结果图:
结果图
参照学习代码

def add(
    # 系列名称,用于 tooltip 的显示,legend 的图例筛选。
    series_name: str, 
    # 系列数据
    data: types.Sequence[types.Union[opts.ParallelItem, dict]], 
    # 是否选中图例。
    is_selected: bool = True, 
    # 是否平滑曲线
    is_smooth: bool = False, 
    # 线条样式,参考 `series_options.LineStyleOpts`
    linestyle_opts: Union[opts.LineStyleOpts, dict] = opts.LineStyleOpts(), 
    # 提示框组件配置项,参考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None, 
    # 图元样式配置项,参考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)

如果你希望画的图更好可参照以下的链接: https://url.cn/5xgEnEg.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值