Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 你能突出seaborn分类散点图中的具体观察结果吗?_Python_Plot_Seaborn_Categorical Data_Scatter - Fatal编程技术网

Python 你能突出seaborn分类散点图中的具体观察结果吗?

Python 你能突出seaborn分类散点图中的具体观察结果吗?,python,plot,seaborn,categorical-data,scatter,Python,Plot,Seaborn,Categorical Data,Scatter,我有8个分类,我已经用sns.catplot绘制了分类散点图。是否有方法突出显示每个类别中的特定观测值,以比较相对于其他观测值的位置?您可以使用文本注释,使用ax上的注释方法(matplotlib.axes.axes)seaborn.catplot返回的FaceGrid对象的属性。例如,下面的代码对正常样本上大于.5的观测值进行注释: import pandas as pd import numpy as np import seaborn as sns df = pd.DataFrame(

我有8个分类,我已经用sns.catplot绘制了分类散点图。是否有方法突出显示每个类别中的特定观测值,以比较相对于其他观测值的位置?

您可以使用文本注释,使用ax上的
注释
方法(
matplotlib.axes.axes
seaborn.catplot
返回的
FaceGrid
对象的属性。例如,下面的代码对正常样本上大于.5的观测值进行注释:

import pandas as pd
import numpy as np
import seaborn as sns 

df = pd.DataFrame(data={'x': range(10), 'y':np.random.normal(0,1,size=10)})
df['odd'] = df.x.apply(lambda x: x % 2)

g = sns.catplot(data=df, x='x', y='y', hue='odd')

df[df.y > .5].apply(lambda p: g.ax.annotate(f'({p.x}, {round(p.y, 2)})', (p.x, p.y)), axis=1)


您可以看到有关
注释
方法的更多详细信息。

我认为这是一个很好的答案,但由于我有太多的观察,观察颜色无法识别。有办法解决吗?谢谢你的回复。我想在横轴上显示类别,我认为sns.catplot是一个更好的选择。你知道我如何在这种环境下进行观察吗。我在某个地方读到,创建一个布尔值,然后在“色调”中使用它是一个不错的选择,但我有一个大数据集,每个类别中的一个观察值不能通过它们的颜色来识别。这些观察值是分散在两个维度上还是仅一个维度上?如果只有一个,也可以使用小提琴图: