2016-04-22 2 views
0

У меня есть кадр данных с несколькими миллионами точек в нем - каждый имеет два значения.R штрихование странности с большим набором данных

Когда я сюжет это так:

plot(myData) 

Все точки на графике, но сюжет очень занят, поэтому я думал, что сюжет его как линия:

plot(myData, type="l") 

Но в то время как ось x не изменяется (т.е. идет от 0 до 7e + 07), фактическое построение графика останавливается примерно на 3e + 07, и на самом деле я не получаю правильный график линии.

Есть ли ограничение на построение линии?

Update Если я использую

plot(myData, type="h") 

Я получаю правильный и годный к употреблению выход, но я до сих пор удивляюсь, почему вариант type="l" не может так плохо.

Дальнейшее обновление

Я черчения временной ряд - здесь один выход с помощью type="h":

Time series plot

Это прекрасно использовать, но с линии позволит мне сравнить несколько выходов ,

+2

Вам действительно нужно нанести * миллионы * баллов? Если вы построите линию, она будет еще более занятой, поскольку каждая точка будет соединена линией. Если вы действительно хотите построить каждую точку, как просто уменьшить размер точки. Вы можете сделать это с помощью параметра 'cex', например,' plot (myData, cex = 0.3) '. – eipi10

+0

или, оставьте размер точки до того, что он был, и установите очень прозрачное значение альфа, чтобы выровнять более плотные области, 'col =" # 00000022 "' обычно работает хорошо. – Benjamin

+0

Точки следуют относительно плавной кривой, поэтому линия имеет прекрасный смысл - это временный ряд – adrianmcmenamin

ответ

0

Для чего все, что у меня есть, это то, что компьютер - даже если это был кусок большого железа - исчерпал память.

0

Графическое представление больших размеров данных становится все более серьезной проблемой при анализе данных. Проблема, на самом деле, не создает график. Проблема заключается в том, чтобы график мог передавать информацию, которую мы могли бы преобразовать в полезные знания. Позвольте мне привести пример для создания этой точки, рассмотрев данные с миллионами наблюдений, то есть не так уж и большими.

x <- rnorm(10^6, 0, 1) 
y <- rnorm(10^6, 0, 1) 

Давайте его построим. R может легко справиться с такой проблемой. Но можем ли мы? Возможно нет. В конце концов, какую информацию мы можем вывести из чернильного пятна? Вероятно, не более, чем тазенографист, пытающийся развить будущее в моделях чайных листьев, кофейных гусей или отвалов.

plot(x, y) 

enter image description here

Другой подход представлен функцией smoothScatter. Он создает график плотности двумерных данных. Там мы создаем два примера.

Во-первых, с по умолчанию.

smoothScatter(x, y) 

enter image description here

Во-вторых, пропускная способность была определена, чтобы быть немного больше, чем по умолчанию, и пять точек задаются для показа с использованием другого символа pch = 3.

smoothScatter(x, y, bandwidth=c(5,1)/(1/3), nrpoints=5, pch=3) 

enter image description here

Как вы можете видеть, что проблема не решена. Тем не менее, мы можем лучше понять распределение наших данных. Такой подход все еще находится в разработке, и есть несколько вопросов, которые обсуждаются и развиваются. Если этот подход представляет собой более подходящий подход для представления вашего большого набора данных, я предлагаю вам посетить this blog, который обсудит проблему.

+0

Было ли это предложение полезным? – Worice

+0

Не совсем, нет! Но все равно спасибо. – adrianmcmenamin

+0

Добро пожаловать! Полагаю, я неправильно понял ваш вопрос. Удачи! – Worice

Смежные вопросы