Легенда карты кластеров Seaborn перекрывается с рисунком - PullRequest
0 голосов
/ 13 июля 2020

'' 'Привет, я создал карту кластеров с помощью seaborn. Так как легенда перекрывается с фигурой, я бы хотел ее переместить. Однако plt.legend (bbox_to_anchor = (1,1)) выдавал следующую ошибку: «Не найдено ни одного дескриптора с метками для вставки в легенду». Это заставляет меня задаться вопросом: какую цветовую шкалу от -20 до 20 в верхнем левом углу я хочу изменить? разве это не легенда? Заранее благодарю вас за то, что пролили свет на это для меня. '' '

import matplotlib.pyplot as plt
import seaborn as sns

g = sns.clustermap(data=df_highestPivot,cmap='coolwarm')
plt.legend(bbox_to_anchor=(1,1)) #This line generate the error
plt.savefig('plot.png',dpi=300,bbox_to_inches='tight')
plt.show()
plt.close()

карта кластера с обозначением цвета, перекрывающим фигуру

1 Ответ

2 голосов
/ 13 июля 2020

Цветовая полоса не является легендой как таковой (по крайней мере, это не объект типа Legend). На самом деле это собственные подсюжеты Axes, к которым вы можете получить доступ, используя g.ax_cbar.

Если вы хотите переместить его, вы можете передать аргумент cbar_pos= на clustermap(). Однако найти пустое место на рисунке для его размещения сложно. Я бы порекомендовал вам освободить место, используя subplots_adjust(), а затем переместить ax_cbar оси в желаемое место

iris = sns.load_dataset('iris')
species = iris.pop("species")
g = sns.clustermap(iris)
g.fig.subplots_adjust(right=0.7)
g.ax_cbar.set_position((0.8, .2, .03, .4))

введите описание изображения здесь

...