python数据可视化案例——平行坐标系(使用pyecharts或pandas)

摘要:
平行坐标通常用于可视化高维几何和分析多变量数据。要在n维空间中显示一组点,请绘制一个由n条平行线组成的背景,这些平行线通常垂直且等距。点N维空间表示为平行于多段线和顶点的轴;顶点在第i个轴上的位置对应于点的第i个坐标。这种可视化与时间序列的可视化密切相关,只是它应用于轴与时间点不对应的数据,因此没有自然顺序。此多段线是根据属性的索引值和属性值绘制的。
平行坐标是可视化高维几何和分析多元数据的常用方法。
为了在n维空间中显示一组点,绘制由n条平行线组成的背景,通常是垂直且等距的。所述的点N 维空间被表示为折线与顶点在平行的轴线; 第i 轴上顶点的位置对应于该点的第i个坐标。
此可视化与时间序列可视化密切相关,除了它应用于轴与时间点不对应的数据,因此没有自然顺序。因此,不同的轴布置可能是有意义的。

一、平行坐标图

平行坐标图(parallel coordinates plot)是对于具有多个属性问题的一种可视化方法,下图为平行坐标图的基本样式,数据集的一行数据在平行坐标图中用一条折线表示,纵向是属性值,横向是属性类别(用索引表示),如下图,一条数据[1 3 2 4]对应图中的折线。这条折线是根据属性的索引值和属性值画出来的。

 二、平行坐标图的解读

首先我们用不同的颜色来标识不同的标签,那么关于属性与标签之间的关系,我们可以从图中获得哪些信息?

(1)折线走势“陡峭”与“低谷”只是表示在该属性上属性值的变化范围的大小,对于标签分类不具有决定意义,但是“陡峭“的属性上属性值间距较大,视觉上更容易区分出不同的标签类别

(2)标签的分类主要看相同颜色的折线是否集中,若在某个属性上相同颜色折线较为集中,不同颜色有一定的间距,则说明该属性对于预测标签类别有较大的帮助

(3)若某个属性上线条混乱,颜色混杂,则较大可能该属性对于标签类别判定没有价值
————————————————
版权声明:本文为CSDN博主「x-dusk」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wyfcode/article/details/82587440

python数据可视化代码和案列

import matplotlib.pyplot as plt
import pandas as pd
from pandas.tools.plotting import parallel_coordinates
 
data = pd.read_csv('E:/ProgramData/Anaconda3/pkgs/pandas-0.23.0-py36h830ac7b_0/Lib/site-packages/pandas/tests/data/iris.csv')
data_1 =data[['Name','SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth']]
 
parallel_coordinates(data_1,'Name')
plt.legend(loc='upper center', bbox_to_anchor=(0.5,-0.1),ncol=3,fancybox=True,shadow=True)
plt.show()

python数据可视化案例——平行坐标系(使用pyecharts或pandas)第1张

python数据可视化案例——平行坐标系(使用pyecharts或pandas)第2张

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


data = [
    [1, 91, 45, 125, 0.82, 34],
    [2, 65, 27, 78, 0.86, 45],
    [3, 83, 60, 84, 1.09, 73],
    [4, 109, 81, 121, 1.28, 68],
    [5, 106, 77, 114, 1.07, 55],
    [6, 109, 81, 121, 1.28, 68],
    [7, 106, 77, 114, 1.07, 55],
    [8, 89, 65, 78, 0.86, 51, 26],
    [9, 53, 33, 47, 0.64, 50, 17],
    [10, 80, 55, 80, 1.01, 75, 24],
    [11, 117, 81, 124, 1.03, 45],
]
c = (
    Parallel()
    .add_schema(
        [
            {"dim": 0, "name": "data"},
            {"dim": 1, "name": "AQI"},
            {"dim": 2, "name": "PM2.5"},
            {"dim": 3, "name": "PM10"},
            {"dim": 4, "name": "CO"},
            {"dim": 5, "name": "NO2"},
        ]
    )
    .add("parallel", data)
    .set_global_opts(title_opts=opts.TitleOpts(title="Parallel-基本示例"))
)
    
c.render("平行坐标系图1.html") 
    
  

python数据可视化案例——平行坐标系(使用pyecharts或pandas)第3张

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



data = [
    [1, 91, 45, 125, 0.82, 34, 23, ""],
    [2, 65, 27, 78, 0.86, 45, 29, ""],
    [3, 83, 60, 84, 1.09, 73, 27, ""],
    [4, 109, 81, 121, 1.28, 68, 51, "轻度污染"],
    [5, 106, 77, 114, 1.07, 55, 51, "轻度污染"],
    [6, 109, 81, 121, 1.28, 68, 51, "轻度污染"],
    [7, 106, 77, 114, 1.07, 55, 51, "轻度污染"],
    [8, 89, 65, 78, 0.86, 51, 26, ""],
    [9, 53, 33, 47, 0.64, 50, 17, ""],
    [10, 80, 55, 80, 1.01, 75, 24, ""],
    [11, 117, 81, 124, 1.03, 45, 24, "轻度污染"],
    [12, 99, 71, 142, 1.1, 62, 42, ""],
    [13, 95, 69, 130, 1.28, 74, 50, ""],
    [14, 116, 87, 131, 1.47, 84, 40, "轻度污染"],
]
c = (
    Parallel()
    .add_schema(
        [
            opts.ParallelAxisOpts(dim=0, name="data"),
            opts.ParallelAxisOpts(dim=1, name="AQI"),
            opts.ParallelAxisOpts(dim=2, name="PM2.5"),
            opts.ParallelAxisOpts(dim=3, name="PM10"),
            opts.ParallelAxisOpts(dim=4, name="CO"),
            opts.ParallelAxisOpts(dim=5, name="NO2"),
            opts.ParallelAxisOpts(dim=6, name="CO2"),
            opts.ParallelAxisOpts(
                dim=7,
                name="等级",
                type_="category",
                data=["", "", "轻度污染", "中度污染", "重度污染", "严重污染"],
            ),
        ]
    )
    .add("parallel", data)
    .set_global_opts(title_opts=opts.TitleOpts(title="Parallel-Category"))
)
        
c.render("平行坐标系图2.html") 
    

python数据可视化案例——平行坐标系(使用pyecharts或pandas)第4张

 pyecharts画图更多请查看官方文档:

http://pyecharts.org/#/zh-cn/basic_charts?id=parallel%EF%BC%9A%E5%B9%B3%E8%A1%8C%E5%9D%90%E6%A0%87%E7%B3%BB

免责声明:文章转载自《python数据可视化案例——平行坐标系(使用pyecharts或pandas)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C++ 的erase和remove remove_if删除元素Web内容管理系统 Magnolia 介绍-挖掘优良的架构(1)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jQuery实现仿Excel表格编辑功能 Handsontable

前言: Handsontable是一个相当给力的 jQuery插件,它实现了 HTML 页面中的表格编辑功能,并且是仿 Excel 的编辑效果。 在 Excel 中可进行的操作,你几乎都可以在网页中做到,如拖动复制、Ctrl+C 、Ctrl+V 等等。 另外在浏览器支持方面,它支持以下的浏览器 IE7+, FF, Chrome, Safari, Opera...

Pandas系列教程(3)Pandas数据查询

Pandas数据查询pandas 查询数据的几种方法 df.loc方法,根据行,列的标签值查询 df.iloc方法,根据行,列的数字位置查询 df.where方法 df.query方法 .loc即可以查询,又能覆盖雪茹,强烈推荐 pandas 使用df.loc查询数据的方法 使用单个label值查询数据 使用值列表批量查询 使用数值区间进行范围查询...

vue实现文件下载功能

对接口进行请求: //导出excel表到桌面 getData.exportexcel = (data)=>{ return http({ method: 'post', url: baseUrl + '/exportexcel/', data: { firstName: 'Fred', l...

mysql中的data下的数据文件(.FRM、.MYD、.MYI)恢复为数据

记一次mysql中的data文件操作经历 想拿到一个项目的最新的数据,做功能升级使用,备份一份数据同时也作为本地测试数据,文件有些大,我直接通过远程的phpmyadmin程序导出,不能愉快的玩耍,直接联系了IDC的同事帮忙导一份sql文件出来一下,结果那哥们没得直接扔给了我data文件,这让我如何是好,这个问题我没遇见过啊。处于面子问题,又不好意思再让他重...

NBI可视化集成clickhouse,实现百亿级数据分析能力

什么是ClickHouse ClickHouse是一款MPP架构的列式存储数据库,并允许使用SQL查询实时生成分析报告,也是一个新的开源列式数据库。 随着业务的迅猛增长,Yandex.Metrica目前已经成为世界第三大Web流量分析平台,每天处理超过200亿个跟踪事件。能够拥有如此惊人的体量,在它背后提供支撑的ClickHouse功不可没。ClickH...

数据挖掘:理论与算法(导论)

清华大学研究生公开课 数据挖掘是数据科学,是多领域交叉学科:数据挖掘 = 机器学习 + 人工智能 + 模式识别 + 统计学 数据挖掘的广泛应用: Business Intelligence Data Analytics Big Data Decision Support Customer Relationship Management "Educatio...