Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

501
Visualizações
¿Cómo establecer el tamaño del marcador de leyenda y alfa?

Tengo un diagrama de dispersión marítimo ( lmplot ) con más de 10 lmplot puntos. Para percibir todos los datos, funciona mejor cuando el tamaño de la trama es mayor (lo que hace que los marcadores sean relativamente pequeños) y el alfa de los marcadores es bajo. Sin embargo, esto hace que los marcadores de la leyenda sean difíciles de distinguir. ¿Cómo se establece el tamaño del marcador y el marcador alfa en Seaborn?

Veo que g._legend tiene un atributo de tamaño de markersize , pero configurarlo directamente no hace nada.

Ejemplo

 import numpy as np import pandas as pd import seaborn as sns n_group = 4000 pos = np.concatenate((np.random.randn(n_group,2) + np.array([-1,-1]), np.random.randn(n_group,2) + np.array([0.2, 1.5]), np.random.randn(n_group,2) + np.array([0.6, -1.8]))) df = pd.DataFrame({"x": pos[:,0], "y": pos[:, 1], "label": np.repeat(range(3), n_group)}) g = sns.lmplot("x", "y", df, hue = "label", fit_reg = False, size = 8, scatter_kws = {"alpha": 0.1}) g._legend.set_title("Clusters")

Gráfico de dispersión de tres grupos densos de puntos, con diferentes colores para cada grupo. Los colores del grupo se distinguen fácilmente en el gráfico, pero los marcadores en la leyenda apenas son visibles.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Puede hacer esto configurando los valores alfa de los marcadores de leyenda. También puede usar _sizes para establecer los tamaños de marcador en el mismo bucle for:

 n_group = 4000 pos = np.concatenate((np.random.randn(n_group,2) + np.array([-1,-1]), np.random.randn(n_group,2) + np.array([0.2, 1.5]), np.random.randn(n_group,2) + np.array([0.6, -1.8]))) df = pd.DataFrame({"x": pos[:,0], "y": pos[:, 1], "label": np.repeat(range(3), n_group)}) g = sns.lmplot("x", "y", df, hue = "label", fit_reg = False, size = 8, scatter_kws = {"alpha": 0.1}) g._legend.set_title("Clusters") for lh in g._legend.legendHandles: lh.set_alpha(1) lh._sizes = [50] # You can also use lh.set_sizes([50])

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Relatório

0

lo anterior no funcionó para mí en un diagrama de línea marino. Esto hizo:

 g = sns.lineplot(data=df, x='X', y='Y', hue='HUE', ci=False, style='STYLE', markers=True, ms=16, dashes=False) #get legend and change stuff handles, lables = g.get_legend_handles_labels() for h in handles: h.set_markersize(10) # replace legend using handles and labels from above lgnd = plt.legend(handles, lables, bbox_to_anchor=(1.02, 1), loc='upper left', borderaxespad=0, title='TITLE')
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda