График в Matplotlib выходит нагроможденным к левой стороне, не показывает дату, издав xticks

Я делаю график в Пайтоне и он выходит довольно сначала, но когда я использую ввод ax.xaxis.set_ticks, чтобы выбирать разрыв, который прикрепляют ticks с Numpy, график нагромождается к левой стороне и показывает дату desalieneada.

С np.arange () в других графиках я смог способствовать тому, чтобы этикетки были 2 в 2, но в этом коде не. Какова ошибка?

Este es el gráfico que resulta de incluir la sentencia de ax.xaxis.set_ticks con un np.arange, obviamente no ideal para mostrar la data

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

df = pd.read_csv(r'C:\Users\Roderick\Downloads\series-091119.csv', skiprows=8, header=None)

dates = df[0].values.tolist()
inflation = df[1].values.tolist()

yrs = dates[0:30]
inf = inflation[0:30]

xticks = np.arange(1989,2019,2)

fmt = ticker.PercentFormatter()

fig, ax = plt.subplots()

plt.title('Inflation 1989-2018', color='k', size='13', style='italic', ha='left')
ax.plot(yrs, inf, color='b', marker='.', linewidth='1', label='UK Inflation')

ax.xaxis.set_ticks(xticks, minor=False)
ax.xaxis.set_ticks(yrs, minor=True)

ax.yaxis.set_major_formatter(fmt)

ax.grid(which='major', color='lightgrey', linestyle='--')
ax.grid(which='minor', color='grey', linestyle=':')

plt.show()

0
задан 09.11.2019, 19:46
1 ответ

Я думаю, что возможный источник проблемы, которая у тебя есть, - что estГЎs читая файл csv, что он содержит mГЎs линии данных, что те, которых ты хочешь представить в тебе grГЎfico. Я рекомендую тебе отлаживать данные о твоем файле csv и оставаться одиноким с двумя колоннами, которые ты хочешь изобразить графически (dates, inflation).

, однажды Сделанные это, cГіdigo, что у тебя есть, функционирует правильно.

introducir la descripción de la imagen aquí

0
ответ дан 01.12.2019, 12:10
  • 1
    В qué ты относишься несмотря на то, что отлаживаешь .csv? Ademá s í ndice, у него есть только две колонны [0] и [1] без header, и линии или фильтр первые 8, которые включают данные, не назвав их и 30 первых, которые содержат значимые данные, создав переменные с values.tolist (). Ты можешь иметь фотографию có я говорю или có mo ты изменил .csv? Большое спасибо. – Rodrigo G. Solano 10.11.2019, 22:30
  • 2
    У файла csv descargable соединения, которое ты имел, есть 530 линий данных, и если только я не ошибся данные, которых я понимаю, ты нуждаешься está n между линиями 9 и 38. Несмотря на то, что я отлаживаю я имею в виду тот, что ты издал файл csv чтобы для оставаться одиноким с соответствующими переменными в añ вы и inflació n. có я говорю, что я использовал, это тот же самый, что твой. – pyring 11.11.2019, 02:25

Теги

Похожие вопросы