大家好,欢迎来到IT知识分享网。
线性坐标在显示有较大区值范围的\(x\)和\(y\)时(\(x\)和\(y\)的取值范围有很大尺度的差异)不能很清楚地将两者的对应关系表现出来。对于函数\(y=log_{10}x, x\in[1, 100000]\)在线性坐标下如图一所示。
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(1, 100000)
y = np.log10(x)
plt.plot(
x,
y,
color='k',
lw=2)
plt.title('Linear')
plt.xlabel('x')
plt.ylabel('log(x)')
图一,对数函数在线性坐标下的图像。
很显然,对于\(x<1000\)对应的\(y\)是无法通过图来很清楚地确定的。通过对\(x\)进行对数转换则可以更加清楚地表示出\(x\)与\(y\)的关系。图二即为上述公式在对数坐标下的图形。
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(1, 100000)
y = np.log10(x)
plt.plot(
x,
y,
color='k',
lw=2)
plt.title('x-log')
plt.xlabel('x')
plt.ylabel('log(x)')
plt.xscale('log')
图二,对数函数在对\(x\)轴进行对数转换后的图像。
而当对\(x\)和\(y\)同时进行对数转换之后,相应的图形展示为图三。因此通常只需要将范围尺度较大的变量进行对数变换即可。
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(1, 100000)
y = np.log10(x)
plt.plot(
x,
y,
color='k',
lw=2)
plt.title('xy-log')
plt.xlabel('x')
plt.ylabel('log(x)')
plt.xscale('log')
plt.yscale('log')
图三,对数函数在双对数坐标下的图像。
参考:
- https://matplotlib.org/api/_as_gen/matplotlib.pyplot.xscale.html#matplotlib.pyplot.xscale
- https://zhuanlan.zhihu.com/p/43673909
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34085.html