如何显示重叠的类别?

How can I display overlapping categories?

提问人:alves 提问时间:11/14/2023 最后编辑:alves 更新时间:11/18/2023 访问量:75

问:

我有一个 Python 脚本来绘制具有以下指标的数据集:“第 99 个百分位”、“第 50 个百分位”、“平均”、“2xx”、“4xx/5xx”。“IsError”列是指示“Service_Status”的标签,指示服务的正常或异常状态。

我创建了一个成对图,以便更好地直观地理解数据集。但是,我遇到了一个问题,在许多情况下,异常行为和正常行为在图中重叠,给人的视觉印象是只存在一种情况。例如,在剧情中,当“3_True”和“3_False”具有相同的行为时,只有“3_False”是可见的,给人一种没有异常事件的错误想法。我尝试将 alpha 调整到最大,但没有成功。关于如何解决这个问题的任何建议?

脚本:

    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    import numpy as np
    
    data = pd.read_csv('../datasets/application anomalies/data.csv')
    
    data = data.drop('Time', axis=1)
    
    data['Service_Status'] = data['Service'].astype(str) + '_' + data['IsError'].astype(str)
    
    markers = {'0_False': 'D', '1_False': 'D', '2_False': 'D', '3_True': 'X', '4_False': 'D', '5_False': 'D', '6_False': 'D', '3_False': 'D', '0_True': 'X', '4_True': 'X', '1_True': 'X','5_True':'X','6_True':'X'}
    
    custom_palette = sns.color_palette("Set1", len(data['Service_Status'].unique()))
    
    scatter_kws = {'s': 100, 'alpha': 0.2, 'style': data['Service_Status'],  'markers': markers}
    
    sns.pairplot(data, hue='Service_Status', vars=["99th percentile", "50th percentile", "Mean", "2xx", "4xx/5xx"], diag_kind="kde", plot_kws=scatter_kws, corner=False)
    
    plt.show()

enter image description here

数据集示例:

https://github.com/jnobre/data-sample/blob/main/data-sample.csv

蟒蛇 猫 Seaborn Pairplot

评论

0赞 Trenton McKinney 11/18/2023
我怀疑有一种好方法可以在同一图中呈现真假数据并使类别可识别。我建议将 True 和 False 分开并分别绘制它们。 和t = data[data.IsError.eq(True)]f = data[data.IsError.eq(False)]

答: 暂无答案