我有一个令人难以置信的散点图,其中包含针对不同版本的不同发布指标。我想为每组设置一条固定的线,以查看它们之间的性能比较。我试图像这样使用seaborn.lmplot:
seaborn.lmplot(x="release", y=metric, palette="PRGn", hue=hue, data=data, order=0)
不幸的是,参数order的最小值似乎为1,因此它适合1阶的行(y = ax + b),而不适合0阶的行(y = c)。有没有简单的方法可以使用seaborn拟合一条恒定线?
答案 0 :(得分:1)
您可以获取N*n_x*n_x
所绘制的轴,然后使用axhline
绘制一条水平线。使用lmplot
获取seaborn将使用的颜色列表,然后在sns.color_palette()
调用中使用相同的颜色:
axhline
根据评论,最终的解决方案是使上面的示例适应以下情况:
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
g = sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips, markers=["o", "x"])
current_palette = sns.color_palette() # get colors that seaborn uses
ax = g.axes[0][0]
# draw horizontal lines making sure they are the same color as seaborn uses
for i in range(len(ax.lines)):
ax.axhline(i + 3, c=current_palette[i])
plt.show()