Ускорение функции plot() для большого набора данных
Я использую plot() для более 1 миллиона точек данных, и это оказывается очень медленным.
Есть ли способ улучшить скорость, включая программирование и аппаратные решения (больше RAM, графическая карта...)?
Где хранятся данные для графика?
Ответ 1
График hexbin на самом деле показывает вам что-то (в отличие от диаграммы рассеивания @Roland в комментариях, которые могут быть просто гигантскими, медленными, blob) и занимает около 3,5 секунд на моей машине для вашего примера:
простым и быстрым способом является установка pch='.'. Производительность показана ниже
x=rnorm(10^6)
> system.time(plot(x))
user system elapsed
2.87 15.32 18.74
> system.time(plot(x,pch=20))
user system elapsed
3.59 22.20 26.16
> system.time(plot(x,pch='.'))
user system elapsed
1.78 2.26 4.06
Ответ 3
Вы посмотрели пакет tabplot. он разработан специально для больших данных
http://cran.r-project.org/web/packages/tabplot/ Я использую его быстрее, чем использование hexbin (или даже по умолчанию графики подсолнечника для перезаписи)