Теперь я делаю это так:
d = approx(density(csvdata[,'X'],n=5000),xout=csvdata[,'X'])
dfact = 40/max(d$y)
for(i in 1:nrow(csvdata)) {
d$y[i] = (d$y[i]*dfact)-20
}
То, что я делаю здесь, это функция изменения масштаба плотности, которая всегда будет больше 0, чтобы отображаться снизу моего графика, который находится на -20, и всегда подходит к вершине, которая на +20, так что я более легок возможность обнаружить любые неровности в линии. Теперь, как вы можете видеть, я делаю это с помощью циклов, но, может быть, есть несколько сборок для одного лайнера?