最简单、最符合Seaborn精神的方法是(暂时)重命名色调列的标签:
作为sns导入seaborn进口熊猫作为pd将numpy导入为np数据=pd.DataFrame({“第1列”:np.random.randn(36)*10,“Column2”:np.arange(36)%6+np.random.randn(36)/4,“Column3”:np.arange(36)%6})labels=['label0','label1','labell2','tabel3','abel4','label5']g=sns.jointplot(data=data.replace({“Column3”:{i:i的标签,enumerate中的标签(标签)}}),x=“第1列”,y=“第2列”,色调=“第3列”,调色板=“turbo”)g.ax_joint.invert_yaxis()
![带有更改图例的sns.jointplot](https://i.sstatic.net/3t6RG.png)
另一种选择是再次创建图例并提供新标签。第二个图例将替换默认图例。如果您还想更改其他属性,例如图例的位置或删除其标题,这将非常有用:
g=sns.jointplot(x=“第1列”,y=“第2列”,数据=数据,色调=“第3列”,调色板=“turbo”)句柄,标签=g.ax_joint.get_legend_handles_labels()g.ax_joint.legend(句柄=句柄,标签=['label0','label1','labell2','tabel3','label4','abel5'],title=“Column3”)
PS:下面是一个示例sns.jointplot(…,kind=“kde”)
:
作为sns导入seaborn进口熊猫作为pd将numpy导入为np数据=pd.DataFrame({“第1列”:np.random.randn(36)*10,“Column2”:np.arange(36)%6+np.random.randn(36)/4,“Column3”:np.arange(36)%6})labels=['label0','label1','labell2','tabel3','abel4','label5']g=sns.jointplot(data=data.replace({“Column3”:{i:i的标签,enumerate中的标签(标签)}}),x=“第1列”,y=“第2列”,hue=“第3列”,palette=“turbo”,kind=“kde”)g.ax_joint.invert_yaxis()
![kind=kde和新标签的jointplot](https://i.sstatic.net/0P4fY.png)