R Линия наложения на BarPlot с 2 осями - PullRequest
2 голосов
/ 08 марта 2019

У меня есть следующий код, и он производит только барплот без линии.Как я могу настроить этот код, чтобы получить дополнительную строку?enter image description here

library(ggplot2)
p1 <- ggplot()
p1 <- p1 + geom_bar(data=subset(df, Year==2006), aes(x=factor(State),y=Rate), stat = "identity")
p1 <- p1 + xlab("State") + ylab("Rate") + theme(axis.text.x = element_text(angle = 60, hjust = 1)) 
p1 <- p1 +  geom_line(data = subset(df, Year==2006),  aes(x=factor(State),y=Total.Poverty/1000),colour = "blue") 
p1 <- p1 + scale_y_continuous(sec.axis = sec_axis(~.*1000, name = "Total Poverty"))
print(p1)

Я смотрел на оверлей ggplot2 для графика и линейного графика и до сих пор не могу понять, почему на графике не отображается линия,

enter image description here

Ответы [ 2 ]

0 голосов
/ 09 марта 2019

Пришлось добавить группу = 1 в код

library(ggplot2)
p1 <- ggplot()
p1 <- p1 + geom_bar(data=subset(df, Year==2006), aes(x=factor(State),y=Rate), stat = "identity")
p1 <- p1 + xlab("State") + ylab("Rate") + theme(axis.text.x = element_text(angle = 60, hjust = 1)) 
p1 <- p1 +  geom_line(data = subset(df, Year==2006),  aes(x=factor(State),y=Total.Poverty/1000),colour = "blue", group = 1) 
p1 <- p1 + scale_y_continuous(sec.axis = sec_axis(~.*1000, name = "Total Poverty"))
print(p1)
0 голосов
/ 08 марта 2019

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

p1 <- p1 +  geom_line(data = subset(df, Year == 2006),  
                      aes(x = State, y = Total.Poverty / 1000), colour = "blue")

вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...