Редактирование осевых линий в matplotlib - PullRequest
1 голос
/ 02 мая 2019

Я хочу удалить ось y моего графика matplotlib (возможно, с помощью метода pandas DataFrame.plot ()), чтобы он был невидимым, и изменить ось x на пунктирную линию. Наиболее близким к этому я видел оператор pyplot.box (False), однако он не позволяет мне выбрать только ось y, и я все еще не могу отредактировать ось x, как описано. Как мне это сделать?

1 Ответ

1 голос
/ 02 мая 2019

Вот один из способов сделать это. Я выбираю образец DataFrame для построения графика. Хитрость заключается в том, чтобы спрятать позвоночник левой, правой и верхней оси и повернуть нижнюю ось х в пунктирную линию, используя метод, предложенный здесь на @ ImportanceOfBeingEarnest

import pandas as pd
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

df = pd.DataFrame({'pig': [20, 18, 489, 675, 1776],
                   'horse': [4, 25, 281, 600, 1900]
                  }, index=[1990, 1997, 2003, 2009, 2014])
ax_ = df.plot.line(ax=ax)

for spine in ['right', 'top', 'left']:
    ax_.spines[spine].set_visible(False)

ax_.spines['bottom'].set_linestyle((0,(8,5)))
plt.yticks([])
plt.show()

enter image description here

...