You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为JointGrid中的每个kdeplot设置线型

给Seaborn JointGrid中的KDE图设置自定义线型

嘿,这事儿其实超简单!你只需要在调用sns.kdeplot()的时候,加上linestyle参数就能给每个KDE图指定不同线型啦。我结合你的代码修改出了完整的可运行示例,还帮你修正了一个小细节:

import matplotlib.pyplot as plt
import seaborn as sns

# 加载鸢尾花数据集
iris = sns.load_dataset("iris")
setosa = iris.loc[iris.species == "setosa"]
virginica = iris.loc[iris.species == "virginica"]

# 创建JointGrid对象
g = sns.JointGrid(x="sepal_width", y="petal_length", data=iris)

# 给setosa的KDE图设置虚线
sns.kdeplot(
    x=setosa.sepal_width, y=setosa.petal_length,  # 修正了y轴参数,和JointGrid的y轴保持一致
    cmap="Reds", shade=False, shade_lowest=False,
    linestyle="--",  # 指定虚线线型
    ax=g.ax_joint, label="Setosa"
)

# 给virginica的KDE图设置点划线
sns.kdeplot(
    x=virginica.sepal_width, y=virginica.petal_length,
    cmap="Blues", shade=False, shade_lowest=False,
    linestyle="-.",  # 指定点划线线型
    ax=g.ax_joint, label="Virginica"
)

# 添加图例和标题让图表更清晰
g.ax_joint.legend()
plt.suptitle("KDE Plots with Custom Linestyles", y=1.02)
plt.show()

常用线型参考

你可以根据需求选择这些标准线型:

  • "-":默认实线
  • "--":虚线
  • "-.":点划线
  • ":":点线

内容的提问来源于stack exchange,提问作者malexmave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:57:44