2016-11-05 2 views
0

Невозможно создать диаграмму рассеяния, Это мой код:Не удается создать в R. рассеивания Printing участка возвращает NULL

png(file = "MonthVsUniqueCode.png") 

p1<-plot(x = month_UC$new.col,y = month_UC$UniqueCode, 

    xlab = "Month", 
    ylab = "UniqueCode", 
    main = "Month Vs UniqueCode" 
) 
dev.off() 

print(p1) 

печати участок возвращает NULL.

печати (p1) NULL


Мои Month_UC dataframe имеет 56003 строк и двух столбцов (uniqueCode Int, месяц голец)


Примечание: Я только что узнал R 4 часа назад. Что я делаю не так?

+0

Возможно, вы заметили, что участки, привязанные к объекту, приведены в примерах онлайн (особенно на SO). Обычно они будут использовать 'ggplot', которые производятся с использованием пакета' grid'. Тем не менее, базовые R-графики, например, вы используете печать прямо на экране, и, как правило, вы не можете сохранить их в объекте. Чтобы посмотреть, смотрите 'str (p1)'; это NULL, поэтому печатать нечего. – user20650

+0

Спасибо! Возможно, мне нужно попробовать ggplot. Поскольку у меня есть 56003 пункта на моем Y azis, диаграмма рассеяния выглядела как жирная линия точек, в основном почти гистограмма с тех пор, как я только месяц. Какой сюжет я могу использовать в этом случае, чтобы представить лучший визуальный эффект? сделать месяц-на-месяц анализ моего уникального кода (номер клиента) в зависимости от месяца, должен ли я извлечь поле даты и месяца из даты транзакции и использовать их в качестве оси X? Должен ли я извлекать дату и месяц отдельно с помощью strftime() и объединять их, чтобы сделать мои точки для оси x? –

+0

Сложно сказать, не зная, какие данные или какие отношения вы хотите показать, построив график. Но диаграмму рассеяния со многими пунктами вы можете использовать это http://stackoverflow.com/questions/7714677/r-scatterplot-with-too-many-points. Или, возможно, вы хотите добавить линию тренда во времени? или .... – user20650

ответ

3

Я считаю, что основные функции построения графика не позволяют назначать сюжеты объектам. Вы можете сделать:

png(file = "MonthVsUniqueCode.png") 
plot(x = month_UC$new.col, 
    y = month_UC$UniqueCode, 
    xlab = "Month", 
    ylab = "UniqueCode", 
    main = "Month Vs UniqueCode" 
) 
dev.off() 

, чтобы сохранить его в png. Или просто:

plot(x = month_UC$new.col, 
    y = month_UC$UniqueCode, 
    xlab = "Month", 
    ylab = "UniqueCode", 
    main = "Month Vs UniqueCode" 
) 

для его отображения.

+0

Спасибо, это сработало! –

+0

Поскольку у меня есть 56003 точки на моем Y azis, диаграмма рассеяния выглядела как жирная линия точек, в основном почти гистограмма, так как я только месяц. Какой сюжет я могу использовать в этом случае, чтобы представить лучший визуальный эффект? сделать месяц-на-месяц анализ моего уникального кода (номер клиента) в зависимости от месяца, должен ли я извлечь поле даты и месяца из даты транзакции и использовать их в качестве оси X? Должен ли я извлекать дату и месяц отдельно с помощью strftime() и объединять их, чтобы сделать мои точки для оси x? –

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