Supongo que estás usando plt.subplots(x, y) aquí. Para eliminar los ejes (incluido el texto) por completo, puede usar subplot[x, y].axis('off') .
Alternativamente, puede agregar más espacio entre las parcelas con plt.margins(x_y_margin) o plt.margins(x_margin, y_margin) .
Un poco fuera de tema: no usaría diagramas de dispersión para la visualización de clases (como en el diagrama de la segunda fila, tercera columna).
fig.update_layout({ax:{"visible":False, "matches":None} for ax in fig.to_dict()["layout"] if "axis" in ax}) import numpy as np import pandas as pd import plotly.express as px L = 100 df = pd.DataFrame( { "lin": np.linspace(0, 100, L), "cos": np.cos(np.linspace(0, np.pi, L)), "sin": np.sin(np.linspace(0, np.pi, L)), "tan": np.tan(np.linspace(0, np.pi, L)), "char": np.random.choice(list("ABCDEF"), L), "rand": np.random.uniform(1,50, L) } ) fig = px.scatter( df.stack().reset_index(), x="level_0", y=0, facet_col="level_1", facet_col_wrap=3 ) fig.update_layout({ax:{"visible":False, "matches":None} for ax in fig.to_dict()["layout"] if "axis" in ax}) px.scatter_matrix(df).update_layout({ax:{"tickmode":"array","tickvals":[]} for ax in fig.to_dict()["layout"] if "axis" in ax})