Python 是否有可能使用matplotlib以对数比例显示0?

Python 是否有可能使用matplotlib以对数比例显示0?,python,python-3.x,numpy,matplotlib,math,Python,Python 3.x,Numpy,Matplotlib,Math,我必须在python中用x轴上的对数刻度显示函数matplotlib,我想知道是否有可能显示x=0?我知道没有日志(0) from matplotlib import pyplot as plt def fkt(x,e): y=np.sin(1/(x+e)) return y def bild_fkt(): """plottet die Funktion im Intervall[0,1] mit epsilon=1/5, 1/10, 1

我必须在python中用x轴上的对数刻度显示函数
matplotlib
,我想知道是否有可能显示
x=0
?我知道没有
日志(0)

from matplotlib import pyplot as plt 
def fkt(x,e):
    y=np.sin(1/(x+e))
    return y

def bild_fkt():
    """plottet die Funktion im Intervall[0,1] mit epsilon=1/5, 1/10, 1/20 mit linearer und 
    logarithmischer Skala """
    plt.figure(figsize=(10,10))       
    x=np.linspace(0,1,100)
    plt.subplot(211)   #plots on linear scale
    plt.plot(x, fkt(x,1/5), 'r', lw=2, label='e=1/5')
    plt.plot(x, fkt(x,1/10), '-.', color='b', label='e=1/10')
    plt.plot(x, fkt(x,1/20), ':', color='g', label='e=1/20')
    plt.legend(loc=4)
    plt.grid()

    y=np.logspace(0,0.3010299957,100)   #plots on logarithmic scale
    plt.subplot(212)
    plt.plot(y-1, fkt(y-1,1/5), 'r', lw=2, label='e=1/5')
    plt.plot(y-1, fkt(y-1,1/10), '-.', color='b', label='e=1/10')
    plt.plot(y-1, fkt(y-1,1/20), ':', color='g', label='e=1/20')
    plt.legend(loc=4)
    plt.grid()
    plt.semilogx()

bild_fkt()
你可以使用这个方法 (或分别为
xscale
):

导入matplotlib.pyplot作为plt
#创建虚拟数据
x=列表(范围(0,10))
y=[10**i代表x中的i]
#开放数字
图,ax=plt子批次(1,2)
#绘图线性比例
ax[0]。绘图(x,y)
#绘制对数比例图(两个选项
ax[1]。绘图(x,y)
plt.yscale(“日志”)
#ax[1]。设置刻度(“日志”)


请注意,我使用了两种不同的选项来设置比例。第一种是使用当前活动轴的函数
plt.yscale(“log”)
。第二种(未注释的)方法是使用
set_yscale
作为AxesSubplot对象的方法。

y轴上的比例是多少?你说
f(x)=0
,这似乎意味着
y=0
。哦,你是对的。在y轴上我想使用线性刻度,在x轴上使用对数刻度。我想说的是x=0
log(0)< /代码>是未定义的。因此它不能在图上绘制。尽管在轴上有<代码> 0代码>是不同的事情。显然,不是。当你在<代码> x轴< /代码>附近接近<代码> x=0 < /代码>时,这些值变得越来越小,倾向于<代码> 0 <代码>,但永远不会到达它。在线性尺度上,我认为中心是。<代码> 0 左边有负值,右边是负值。在对数刻度上,我认为中心是“代码>1</CODE”,左边是分数值,右边是倍数。