繁体   English   中英

Matplotlib对数轴刻度

[英]Matplotlib logarithmic axis ticks

我有这个简单的代码来绘制一些值:

ticks = [0, 1e-12, 1e-10, 1e-8, 1e-6, 1e-4]
values = range(1, 7)

plt.plot(ticks, values)
plt.xscale('log')

plt.show()

在此处输入图片说明

问题是点(0,1)没有绘制。 我尝试通过添加一行代码来解决此问题:

ticks = [0, 1e-12, 1e-10, 1e-8, 1e-6, 1e-4]
values = range(1, 7)

plt.plot(ticks, values)
plt.xscale('log')
plt.xticks(ticks) <------- added this line --------

plt.show()

但是结果是:

在此处输入图片说明

这绝对不是我想要的。 我的目标是正确地绘制点(0,1),并且还设置自定义在x轴,即在值蜱ticks (0,1E-12,1E-10,1E-8,1E-6,1e- 4)

我应该怎么做? 我环顾四周,没有找到答案

我解决了更改以下行:

plt.xscale('log')

用这一行:

plt.xscale('symlog', linthreshx=1e-12)

最终产生所需的结果:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM