Pyecharts之平行坐标系(Parallel)

Pyecharts之平行坐标系(Parallel)

from snapshot_selenium import snapshot as driver

from pyecharts import options as opts
from pyecharts.charts import Parallel
from pyecharts.render import make_snapshot
from pyecharts.globals import CurrentConfig,NotebookType

CurrentConfig.NOTEBOOK_TYPE=NotebookType.JUPYTER_LAB

一.基本概念

class pyecharts.charts.Parallel

class Parallel(
    # 初始化配置项,参考 `global_options.InitOpts`
    init_opts: opts.InitOpts = opts.InitOpts()
)

func pyecharts.charts.Parallel.add_schema

def add_schema(
    schema: Sequence[Union[opts.ParallelAxisOpts, dict]],
    parallel_opts: Union[opts.ParallelOpts, dict, None] = None,
)

func pyecharts.charts.Parallel.add

def add(
    # 系列名称,用于 tooltip 的显示,legend 的图例筛选。
    series_name: str,

    # 系列数据
    data: Sequence,

    # 是否选中图例。
    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,
)

二.代码示例

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

parallel_axis=[
    {"dim":0,"name":"Price"},
    {"dim":1,"name":"Net Weight"},
    {"dim":2,"name":"Amount"},
    {
        "dim":3,
        "name":"Score",
        "type":"category",
        "data":["Excellent","Good","OK","Bad"]
    }
]

data=[[12.99, 100, 82, "Good"], [9.99, 80, 77, "OK"], [20, 120, 60, "Excellent"]]

p=(
    Parallel(init_opts=opts.InitOpts(width="1000px",height="600px"))
    .add_schema(schema=parallel_axis)
    .add(
        series_name="数据",
        data=data,
        linestyle_opts=opts.LineStyleOpts(width=4,opacity=0.5)
    )
    #.render("basic_parallel.html")
)

#make_snapshot(driver,g.render("gauge.html"),"gauge.png")
p.load_javascript()
p.render_notebook()
from pyecharts import options as opts
from pyecharts.charts import 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, "轻度污染"],
]
p = (
    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("介质", data)
    .set_global_opts(title_opts=opts.TitleOpts(title="Parallel-Category"))
    #.render("parallel_category.html")
)

#make_snapshot(driver,g.render("gauge.html"),"gauge.png")
p.load_javascript()
p.render_notebook()

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python平行坐标图可以使用pandas和matplotlib库来实现。在绘制平行坐标图之前,需要导入相关的库和数据。以下是三个示例代码,可以根据需要选择其中一个来使用。 示例代码1: ``` import matplotlib.pyplot as plt import pandas as pd import seaborn as sns from pandas.plotting import parallel_coordinates data = sns.load_dataset('iris') fig, axes = plt.subplots() parallel_coordinates(data, 'species', ax=axes) fig.savefig('parallel.png') ``` 这段代码使用了pandas和seaborn库来加载鸢尾花数据集,并使用parallel_coordinates函数绘制平行坐标图。图像保存在parallel.png文件中。 示例代码2: ``` 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() ``` 这段代码使用了pandas库来读取鸢尾花数据集,并选择了需要绘制的特征列。然后使用parallel_coordinates函数绘制平行坐标图,并添加图例。 示例代码3: ``` import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv('data.csv') fig = plt.figure(figsize=(10, 5)) pd.plotting.parallel_coordinates(data, class_column='class', colormap='viridis', linewidth=2) plt.title('平行坐标图', fontsize=16) plt.xlabel('特征') plt.ylabel('特征值') plt.show() ``` 这段代码使用了pandas库来读取数据,并使用pd.plotting.parallel_coordinates函数绘制平行坐标图。还可以设置标题、x轴和y轴标签。 以上是三个示例代码,你可以根据自己的需求选择其中一个来绘制Python平行坐标图。 #### 引用[.reference_title] - *1* [python核心编程:Python实现平行坐标图绘制(plotly)方式](https://blog.csdn.net/haoxun03/article/details/104270650)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [python数据可视化案例——平行坐标系(使用pyecharts或pandas)](https://blog.csdn.net/qq_40875849/article/details/104368918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [用 Python 实现的平行坐标图](https://blog.csdn.net/update7/article/details/131356580)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值