首页 > 解决方案 > matplotlib scatterplot 在分类列上获取标记

问题描述

我正在尝试使用 matplotlib 绘制散点图:我正在使用下面的代码来绘制多个特征

    columns = df_filtered.columns
    font = {'family' : 'normal',
            'weight' : 'bold',
            'size'   : 8}
    color_map={0:'b',1:'r',2:'g',3:'c',4:'y',5:'m',6:'k',7:'grey',8:'tan',9:'orange',10:'seagreen',11:'royalblue',12:'darkgrey',13:'teal'}
    label_color=[color_map[l] for l in df_filtered['test_label']]

    marker_map = {12:'o',15:'*'}
    label_marker = [marker_map[i] for i in df_filtered['DOE-id']]
    for column in columns:
        print(column)
        plt.figure(figsize=(15,7))
        plt.scatter(df_filtered['Time'],df_filtered[column],c=label_color,marker=label_marker)
        plt.tight_layout()
        plt.ylabel(column,fontsize=20)
        plt.title(column,fontsize=8)
        plt.rc('font', **font)
        plt.savefig(str(column)+'.png',bbox_inches="tight")
        plt.show()

但我得到了错误: -

    ValueError: Unrecognized marker style ['*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', 'o', 'o', 'o', 'o', 'o', 'o', '*', 'o', 'o', 'o',, ...... etc..

我想使用“test_label”列为散点着色,并使用“DOE-id”列为散点获取不同的形状。我认为我用来标记散点的方法是错误的。

关于如何得到这个的任何想法?

标签: pythonpandasmatplotlib

解决方案


推荐阅读