猿问

使用 axhline 时删除了 Matplotlib y 轴刻度

我有一个问题,yaxis在使用a0.axhline. 我想画一条线,y = 0但也要yaxis打勾。如何实现这一目标?

使用 axhline:

无轴:

http://img2.mukewang.com/61b1b24e0001c13116070838.jpg

代码:


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')


千万里不及你
浏览 208回答 2
2回答

撒科打诨

您将行的位置设置为字符串,ax.axhline(y='0', ...)。这将导致它被解释为一个类别;并且因为它是轴上的唯一类别,所以不会显示更多刻度标签。相反,使用数字:ax.axhline(y=0, ...)

慕容3067478

您可以手动设置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")
随时随地看视频慕课网APP

相关分类

Python
我要回答