Python 是否有可能使用matplotlib以对数比例显示0?
我必须在python中用x轴上的对数刻度显示函数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
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=0log(0)< /代码>是未定义的。因此它不能在图上绘制。尽管在轴上有<代码> 0代码>是不同的事情。显然,不是。当你在<代码> x轴< /代码>附近接近<代码> x=0 < /代码>时,这些值变得越来越小,倾向于<代码> 0 <代码>,但永远不会到达它。在线性尺度上,我认为中心是。<代码> 0 左边有负值,右边是负值。在对数刻度上,我认为中心是“代码>1</CODE”,左边是分数值,右边是倍数。