color/marker 按索引 seaborn 散点图
color/marker by index seaborn scatterplot
是否可以构建一个具有特定标记和索引着色的散点图(此处作为索引给出,或者可以是用于转置的列),其中的列给出不同 类。即 - 在组内保持组间颜色一致。
import pandas as pd
df = pd.DataFrame({'Class_1': [0.98, 0.93, 0.95], 'Class_2': [0.48, 0.43, 0.45], 'Class_3': [0.78, 0.73, 0.75]}, index = ['precision', 'recall', 'fscore'])
display(df)
import seaborn as sns
import matplotlib.pyplot as plt
sns.stripplot(data = data)
plt.show()
这会产生以下结果:
但是,我想了解按索引着色的方法,如下所示:
将您的数据框从枢轴 table 重组为经典 table 数据框并使用 stripplot
的 hue
参数,如下所示:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame({'Class_1': [0.98, 0.93, 0.95], 'Class_2': [0.48, 0.43, 0.45], 'Class_3': [0.78, 0.73, 0.75]}, index = ['precision', 'recall', 'fscore'])
# convert dataframe
df2=df.stack()
df2 = df2.reset_index()
df2.columns = ['Index','Classes','Values']
print(df2)
sns.stripplot(data=df2,x='Classes',y='Values',hue='Index', palette="Set2")
plt.show()
df2:
Index Classes Values
0 precision Class_1 0.98
1 precision Class_2 0.48
2 precision Class_3 0.78
3 recall Class_1 0.93
4 recall Class_2 0.43
5 recall Class_3 0.73
6 fscore Class_1 0.95
7 fscore Class_2 0.45
8 fscore Class_3 0.75
是否可以构建一个具有特定标记和索引着色的散点图(此处作为索引给出,或者可以是用于转置的列),其中的列给出不同 类。即 - 在组内保持组间颜色一致。
import pandas as pd
df = pd.DataFrame({'Class_1': [0.98, 0.93, 0.95], 'Class_2': [0.48, 0.43, 0.45], 'Class_3': [0.78, 0.73, 0.75]}, index = ['precision', 'recall', 'fscore'])
display(df)
import seaborn as sns
import matplotlib.pyplot as plt
sns.stripplot(data = data)
plt.show()
这会产生以下结果:
但是,我想了解按索引着色的方法,如下所示:
将您的数据框从枢轴 table 重组为经典 table 数据框并使用 stripplot
的 hue
参数,如下所示:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame({'Class_1': [0.98, 0.93, 0.95], 'Class_2': [0.48, 0.43, 0.45], 'Class_3': [0.78, 0.73, 0.75]}, index = ['precision', 'recall', 'fscore'])
# convert dataframe
df2=df.stack()
df2 = df2.reset_index()
df2.columns = ['Index','Classes','Values']
print(df2)
sns.stripplot(data=df2,x='Classes',y='Values',hue='Index', palette="Set2")
plt.show()
df2:
Index Classes Values
0 precision Class_1 0.98
1 precision Class_2 0.48
2 precision Class_3 0.78
3 recall Class_1 0.93
4 recall Class_2 0.43
5 recall Class_3 0.73
6 fscore Class_1 0.95
7 fscore Class_2 0.45
8 fscore Class_3 0.75