我正在尝试这样做:
import seaborn as sns
import matplotlib.pyplot as plt
# edit me
fig, ax = plt.subplots(figsize=(9, 6))
tips = sns.load_dataset("tips")
#sns.stripplot(data=tips, x = ['f1','f2'], y=[combined_df.r1_feature1,combined_df.r2_feature1], hue="size", palette="deep")
# wide form with x,y missing
params_anno = dict(jitter=0.25, size=5, palette="flare",
dodge=True)
if(value of df1 = value of df2):
params_anno["linewidth"].append(2)
params_anno["edgecolor"].append("green")
ax = sns.stripplot(data=combined_df.drop(
"cycle_number", axis=1), **params_anno)
ax.set_ylim([0, 25])
ax.set_xlabel(xlabel="Different reads")
ax.set_ylabel(ylabel="values")
if条件应该确定sns.stripplot
上的某些点(也就是数据点)是否应该用边缘颜色突出显示。然而,上面的这种方法会失败,因为在满足第一个True
示例后,后面的所有内容都会被注解。
我应该怎么做呢?我不知道sns.stripplot(data=combined_df)
在处理每个数据点时有多敏捷。ax.annotate
可以做到这一点吗?
我尝试过使用sns.stripplot
,但困难在于孤立地访问每个数据点,因此如果它满足if条件,则可以以不同的方式进行标记。
1条答案
按热度按时间rsl1atfo1#
选项一
axes
。选项二
pandas.DataFrame.assign
根据条件创建一个新列'condition'
,并将其用于hue=
。dodge=False