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

672
Visualizações
¿Cómo puedo cambiar el eje x en matplotlib para que no haya espacios en blanco?

Así que actualmente estoy aprendiendo cómo importar datos y trabajar con ellos en matplotlib y tengo problemas aunque tengo el código exacto del libro.

ingrese la descripción de la imagen aquí

Así es como se ve la trama, pero mi pregunta es cómo puedo obtenerla donde no hay un espacio en blanco entre el inicio y el final del eje x.

Aquí está el código:

 import csv from matplotlib import pyplot as plt from datetime import datetime # Get dates and high temperatures from file. filename = 'sitka_weather_07-2014.csv' with open(filename) as f: reader = csv.reader(f) header_row = next(reader) #for index, column_header in enumerate(header_row): #print(index, column_header) dates, highs = [], [] for row in reader: current_date = datetime.strptime(row[0], "%Y-%m-%d") dates.append(current_date) high = int(row[1]) highs.append(high) # Plot data. fig = plt.figure(dpi=128, figsize=(10,6)) plt.plot(dates, highs, c='red') # Format plot. plt.title("Daily high temperatures, July 2014", fontsize=24) plt.xlabel('', fontsize=16) fig.autofmt_xdate() plt.ylabel("Temperature (F)", fontsize=16) plt.tick_params(axis='both', which='major', labelsize=16) plt.show()
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Hay un margen automático establecido en los bordes, lo que garantiza que los datos encajen bien dentro de los lomos del eje. En este caso, tal margen probablemente se desee en el eje y. De forma predeterminada, se establece en 0.05 en unidades de amplitud de eje.

Para establecer el margen en 0 en el eje x, utilice

 plt.margins(x=0)

o

 ax.margins(x=0)

dependiendo del contexto. Consulte también la documentación .

En caso de que quiera deshacerse del margen en todo el script, puede usar

 plt.rcParams['axes.xmargin'] = 0

al comienzo de su secuencia de comandos (lo mismo para y , por supuesto). Si desea deshacerse del margen por completo y para siempre, es posible que desee cambiar la línea correspondiente en el archivo rc de matplotlib :

 axes.xmargin : 0 axes.ymargin : 0

Ejemplo

 import seaborn as sns import matplotlib.pyplot as plt tips = sns.load_dataset('tips') fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4)) tips.plot(ax=ax1, title='Default Margin') tips.plot(ax=ax2, title='Margins: x=0') ax2.margins(x=0)

ingrese la descripción de la imagen aquí


Alternativamente, use plt.xlim(..) o ax.set_xlim(..) para establecer manualmente los límites de los ejes de modo que no queden espacios en blanco.

over 4 years ago · Santiago Trujillo Relatório

0

Si solo desea eliminar el margen de un lado pero no del otro, por ejemplo, eliminar el margen de la derecha pero no de la izquierda, puede usar set_xlim() en un objeto de ejes matplotlib.

 import seaborn as sns import matplotlib.pyplot as plt import math max_x_value = 100 x_values = [i for i in range (1, max_x_value + 1)] y_values = [math.log(i) for i in x_values] fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4)) sn.lineplot(ax=ax1, x=x_values, y=y_values) sn.lineplot(ax=ax2, x=x_values, y=y_values) ax2.set_xlim(-5, max_x_value) # tune the -5 to your needs

ingrese la descripción de la imagen aquí

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