我有一个问题,在使用yaxis
时a0.axhline
的刻度被删除了。我想在y = 0
处画一条线,但还要保持yaxis
的刻度。如何实现呢?
代码:
plt.style.use('ggplot')
f, a0 = plt.subplots(1,1)
a0.axhline(color='dimgray', y='0', alpha=0.3, linestyle='-- ')
a0.set_title("Revolutions Per Minute")
a0.plot (step['time'], step['RPM'], color='royalblue')
答案 0 :(得分:2)
您将行的位置设置为字符串ax.axhline(y='0', ...)
。这将导致它被解释为一个类别。并且由于它是轴上的唯一类别,因此不再显示其他刻度标签。而是使用数字:
ax.axhline(y=0, ...)
答案 1 :(得分:0)
您可以手动设置yticks
和yticklables
:
plt.style.use('ggplot')
f, a0 = plt.subplots(1,1)
a0.axhline(color='dimgray', y='0', alpha=0.3, linestyle='-- ')
a0.set_yticks([1, 2, 3])
a0.set_yticklabels([1, 2, 3])
a0.set_title("Revolutions Per Minute")
a0.plot (step['time'], step['RPM'], color='royalblue')
编辑:如果先绘制然后再添加线,也可以从轴上获取它们。
plt.style.use('ggplot')
f, a0 = plt.subplots(1,1)
a0.plot (step['time'], step['RPM'], color='royalblue')
yticks = a0.get_yticks()
a0.set_yticks(yticks)
a0.set_yticklabels(yticks)
a0.axhline(color='dimgray', y='0', alpha=0.3, linestyle='--')
a0.set_title("Revolutions Per Minute")