2016-05-19 2 views
0

Я использую ggplot2 и блестящий, чтобы создать график, однако на оси x слишком много факторов.Shiny/R: Слишком много факторов на графике

enter image description here

output$housePlot <- renderPlot({ 
    ggplot(data=houseratio, aes(x=Year, y=Ratio, group=Region, colour=Region)) + 
    geom_line() + 
    geom_point() 
    }) 

Я попытался читающих эту post, но я не могу получить с послед() правильно. Мои данные в длинном формате, выглядит следующим образом:

Year Ratio Region 
1983 Q1 2.9 Northern 
1983 Q2 3 Northern 
1983 Q3 3.1 Northern 
1983 Q4 3 Northern 
... 
2015 Q2 5.1 UK 
2015 Q3 5.1 UK 
2015 Q4 5.2 UK 
2016 Q1 5.2 UK 

Используя этот код:

output$housePlot <- renderPlot({ 
ggplot(data=houseratio, aes(x=Year, y=Ratio, group=Region, colour=Region)) + 
scale_x_discrete(breaks = seq(1, 1864, by = 4)) + 
geom_line() + 
geom_point() 
}) 

Все факторы исчезают!

enter image description here

мне нужно только каждый год показ, а не отдельные кварталы. Какие-либо предложения?

(Спасибо)

+0

Try 'scale_x_date' или' scale_x_datetime' http://docs.ggplot2.org/current/scale_date.html –

ответ

1

Самый быстрый маршрут, в конечном счете, чтобы сделать «Год» числовой тип. Для этого требуется несколько переходов:

library("zoo") 
library("dplyr") 

houseratio <- houseratio %>% mutate(Year = Year %>% as.character() %>% 
            as.yearqtr() %>% as.numeric()) 
Смежные вопросы