在 matplotlib 中编辑轴线

Editing axis lines in matplotlib

我想删除我的 matplotlib 图的 y 轴(可能通过 pandas DataFrame.plot() 方法)以便它不可见并将 x 轴更改为虚线。我见过的最接近这个的是 pyplot.box(False) 语句,但是它不让我 select 只是 y 轴,我仍然无法编辑 x 轴如上所述。我该怎么做?

这是一种方法。我正在选择要绘制的示例 DataFrame。诀窍是隐藏左轴、右轴和上轴的脊椎,并使用建议的方法将下 x 轴变成虚线 by @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()