此问题已在此处有答案:
How to draw axis in the middle of the figure?(6个回答)
How to add minor ticks(1个答案)
上个月关门了。
使用 pandas 模块,我在一个 * 字节 * 的笔记本上画了一条曲线:
为了画出这个,我写了这个代码:
import pylab as pl
from numpy import *
pl.style.use('bmh')
# Df = ℝ - {-1, 1}
Df1 = [-4 + k/10 for k in range(28)] # [-4, -1[ par pas de 0.1
Df2 = [-0.8 + k/10 for k in range(18)] # ]-1, 1] par pas de 0.1
Df3 = [1.1 + k/10 for k in range(30)] # ]-1, 4] par pas de 0.1
Df = [Df1, Df2, Df3]
for D in Df:
Y = [(-(x ** 2) + 2 * x) / (x ** 2 - 1) for x in D] # Pour tout x ∈ D, calculer y = f(x)
pl.plot(D, Y, color='red')
pl.legend([ r'$\mathscr{C}_f$'], fontsize = 18) # Cet appel est important : sans, la légende ne s'affichera pas
# Axe des x : de -4 à 4, axe des y : de -6 à 6
pl.axis(xmin=-4, xmax=4, ymin=-6, ymax=6)
pl.axvline(x = 0)
pl.axhline(y = 0)
我想看到轴上的刻度,
而不是[或也添加到]他们目前所在的框的左侧和底部。
有可能吗?
1条答案
按热度按时间sbdsn5lh1#
您正在寻找matplotlib中的控制tick和spines,这在您发布的代码中使用。首先,尝试让零轴包含tick和label(引用在我添加的最后大约三行的注解中):
下面是该代码的结果:
如果您希望零轴更多地是由
axvline()
和axfline()
添加的纯色,则可以进一步调整该方法,以使轴的颜色与这些线匹配,如下所示:该代码块的结果可以说是上述代码块的“更精致”版本:
基于原始的帖子标题和文本,我以为你的意思是让刻度不只是在左边和底部。对于其他人在这里结束的问题,尝试下面的方法来获得图的所有轴上的刻度(它所基于的资源在添加的五行的评论中):
下面代码块的结果: