Relleno de Python

Un usuario Pregunto ✅

barakb32

Hola,

Usé el objeto visual de Python para incrustar una dispersión en mi informe.

Me gustaría que la dispersión llenara la pantalla. Tengo 2 problemas con eso:

1. El visual de Python viene con mucho relleno. Tengo un gran espacio en blanco entre el borde de lo visual y el eje de la dispersión.

2. La dispersión sale cuadrada. No sé cómo hacer que su ancho sea mayor que su altura, incluso si el envoltorio visual es más ancho que alto.

¿Se puede resolver esto para Python visual o para R visual?

Gracias,

Barak

barakb32

En respuesta a barakb32

OK,

Lo resolvió con el Talla y aspecto parámetros.

Barak

@ barakb32,

El tamaño de relleno debe decidirse por el código de Python que está utilizando. ¿Podría compartir alguna parte del código de Python para un análisis más detallado?

Equipo de apoyo de la comunidad _ Jimmy Tao

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

barakb32

En respuesta a v-yuta-msft

Este es el código tal como aparece en Power BI:

import matplotlib.pyplot as plt
import pandas as pd 
import seaborn as sns
sns.set_palette("pastel")
#print (sns.get_dataset_names())
df = pd.DataFrame(dict(x=dataset['Probability01'], y=dataset['Impact110']))
#plt.scatter(x=dataset['Probability01'],y=dataset['Impact110'],s=dataset['Booking']/10000)
lm=sns.lmplot(x='Probability01',y='Impact110',data=dataset,hue="Proj_Type",scatter_kws={'s': dataset['Booking']/10000})
#axes=lm.axes
#axes[0,0].set_ylim(-1,)
#axes[0,1].set_xlim(0,)
plt.xlim(-0.1,1.1)
plt.ylim(-1,11)
for i, txt in enumerate(dataset["Project Name"]):
plt.annotate(txt, (df.x.iat[i],df.y.iat[i]),fontsize=15)
plt.show()

y así es como aparece en spyder:

# Prolog - Auto Generated #
import os, matplotlib.pyplot, uuid, pandas
os.chdir(u'C:/Users/barakb/PythonEditorWrapper_2dac1e75-9317-429d-ac0d-8f5d9b7f0e89')
dataset = pandas.read_csv('input_df_55fe400c-1be7-4c16-b559-82ca736d13b9.csv')
matplotlib.pyplot.figure(figsize=(10,10))
matplotlib.pyplot.show = lambda args=None,kw=None: matplotlib.pyplot.savefig(str(uuid.uuid1()))
# Original Script. Please update your script content here and once completed copy below section back to the original editing window #
import matplotlib.pyplot as plt
import pandas as pd 
import seaborn as sns
sns.set_palette("pastel")
#print (sns.get_dataset_names())
df = pd.DataFrame(dict(x=dataset['Probability01'], y=dataset['Impact110']))
#plt.scatter(x=dataset['Probability01'],y=dataset['Impact110'],s=dataset['Booking']/10000)
lm=sns.lmplot(x='Probability01',y='Impact110',data=dataset,hue="Type",scatter_kws={'s': dataset['Booking']/10000})
#axes=lm.axes
#axes[0,0].set_ylim(-1,)
#axes[0,1].set_xlim(0,)
plt.xlim(-0.1,1.1)
plt.ylim(-1,11)
for i, txt in enumerate(dataset["Project Name"]):
plt.annotate(txt, (df.x.iat[i],df.y.iat[i]),fontsize=15)
plt.show()
 

# Epilog - Auto Generated #
os.chdir(u'C:/Users/barakb/PythonEditorWrapper_2dac1e75-9317-429d-ac0d-8f5d9b7f0e89')

BTW1: No creo que sea un relleno de Python, ya que cambié el fondo visual a transparente y puse un rectángulo detrás.

Mientras que el área de trazado oculta el rectángulo, el relleno / espacio en blanco no lo oculta.

BTW2: No hay mucho relleno cuando la imagen es pequeña. El relleno entra en su lugar cuando agrando la imagen para llenar la pantalla.

Barak

barakb32

En respuesta a barakb32

OK,

Lo resolvió con el Talla y aspecto parámetros.

Barak

En respuesta a barakb32

Hola Barak,

¿Puede explicar mejor lo que quiere decir con «Lo resolvió con el Talla y aspecto parámetros. «? ¿Dónde están esos parámetros? ¿Los cambió en powerbi o en el código en Python?


@ barakb32 escribió:

OK,

Lo resolvió con el Talla y aspecto parámetros.

Barak


barakb32

En respuesta a t-vicarm

Hola @ t-vicarm,

Estos son los parámetros del comando python seaborn.lmplot.

El comando ajustado se ve así:

lm = sns.lmplot (x = ‘Probability01’, y = ‘Impact110’, data = dataset, hue = «Proj_Type», fit_reg = False,tamaño = 10, aspecto = 1,5, scatter_kws = {‘s’: conjunto de datos[‘Booking’]/ 2000})

Barak

aechague

En respuesta a barakb32

Hola

Solo para agregar más información, para matplotlib es posible controlar el relleno usando las opciones tight_layout ().

matplotlib.pyplot.tight_layout()
matplotlib.pyplot.show()

En mi caso, las etiquetas de los ejes se mostraban solo parcialmente, y aplicando esta opción era posible controlar el tamaño y la almohadilla completos de la figura.

Alexis

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *