python - Matplotlib 没有显示一点
问题描述
我正在尝试绘制一条线 x 对数刻度,但尽管刻度正确,但没有显示第一个点。x == 0 的值为 1.57,x == 10^(-8) 的值为 0.4。
我怎样才能纠正情节?
plt.plot(lambdas, errors, "-b", label = 'Test')
plt.plot(lambdas,errors_train, "-r", label = 'Train')
plt.xscale('log')
plt.legend(loc="upper left")
plt.xlabel('ln lambda')
plt.ylabel('Root Mean Squared Error')
plt.savefig("1.png")
plt.show()
解决方案
您可以使用symlog
刻度并根据需要设置线性阈值(刻度变为线性刻度的最小值):
import matplotlib.pyplot as plt
plt.plot([0, 1e-8, 1e-7, .1], [1.6, .4, .3, .4])
plt.xscale('symlog', linthresh=1e-8)
推荐阅读
- c++ - c++中数据成员初始化的区别
- javascript - 在Angular 2+中使用Jasmine由CSS类设置时是否可以测试元素是否可见?
- javascript - 如何检测设置了浏览器密码?
- javascript - Axios:没有进入错误的catch方法
- php - CakePHP 3.6.11:将选定值从下拉列表存储到数据库
- vue.js - Nuxt JS / Vue JS 搜索过滤器不起作用
- php - 如何在 CONTROLLER 内的变量中获取 VOLT TEMPLATE?
- sql-server - 提取两个分号之间的倒数第二个字符串
- python - 我需要一个具有类继承的 Python 3 类组合结构。我该如何做到这一点?
- python - 使 ctypes 结构可迭代