尽管对我的数据使用 scale_x_discrete,但 X 轴标签不存在
X axis labels not present despite using scale_x_discrete for my data
我正在尝试使用 ggplot 按月绘制温度和降水量。
花了一些时间得到两个 y 轴(与好的绘图理论相反 - 我知道!),我的 x 轴现在不存在了。
有没有可能我的代码中遗漏了一些东西?
月是这样创建的
Month <- c(1,2,3,4,5,6,7,8,9,10,11,12)
图中的其余部分是使用以下内容创建的
gp1 <-ggplot() +
geom_bar(mapping = aes(x = Month, y = Prec * 40 / 1100), stat = "identity",fill="cornflowerblue") +
geom_point(mapping = aes(x = Month, y = meanTemp),col="orange") +
geom_line(mapping = aes(x = Month, y = meanTemp),col="orange") +
geom_point(mapping = aes(x = Month, y = maxTemp),col="red") +
geom_line(mapping = aes(x = Month, y = maxTemp),col="red") +
geom_point(mapping = aes(x = Month, y = minTemp),col="gold") +
geom_line(mapping = aes(x = Month, y = minTemp),col="gold") +
scale_x_discrete(breaks=c(1,2,3,4,5,6,7,8,9,10,11,12), labels=c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")) +
scale_y_continuous(name = expression("Temperature ("~degree~"C)"), limits = c(0, 40))
gp1<- gp1 %+% scale_y_continuous(name = expression("Temperature ("~degree~"C)"), sec.axis = sec_axis(~ . * 1100 / 40 , name = "Precipitation (mm)"), limits = c(0, 40))
gp1<-gp1+theme_classic()
gp1
生成的图看起来
as such
问题是你的 x 轴是连续的,而不是离散的。
这是因为您为您的 x 美学指定了数值。如果您要为 x 美学指定文本或因子值,那么您的 x 轴将是离散的。
将 scale_x_discrete
换成 scale_x_continuous
解决了我实验中的问题。
我正在尝试使用 ggplot 按月绘制温度和降水量。
花了一些时间得到两个 y 轴(与好的绘图理论相反 - 我知道!),我的 x 轴现在不存在了。
有没有可能我的代码中遗漏了一些东西?
月是这样创建的
Month <- c(1,2,3,4,5,6,7,8,9,10,11,12)
图中的其余部分是使用以下内容创建的
gp1 <-ggplot() +
geom_bar(mapping = aes(x = Month, y = Prec * 40 / 1100), stat = "identity",fill="cornflowerblue") +
geom_point(mapping = aes(x = Month, y = meanTemp),col="orange") +
geom_line(mapping = aes(x = Month, y = meanTemp),col="orange") +
geom_point(mapping = aes(x = Month, y = maxTemp),col="red") +
geom_line(mapping = aes(x = Month, y = maxTemp),col="red") +
geom_point(mapping = aes(x = Month, y = minTemp),col="gold") +
geom_line(mapping = aes(x = Month, y = minTemp),col="gold") +
scale_x_discrete(breaks=c(1,2,3,4,5,6,7,8,9,10,11,12), labels=c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")) +
scale_y_continuous(name = expression("Temperature ("~degree~"C)"), limits = c(0, 40))
gp1<- gp1 %+% scale_y_continuous(name = expression("Temperature ("~degree~"C)"), sec.axis = sec_axis(~ . * 1100 / 40 , name = "Precipitation (mm)"), limits = c(0, 40))
gp1<-gp1+theme_classic()
gp1
生成的图看起来 as such
问题是你的 x 轴是连续的,而不是离散的。
这是因为您为您的 x 美学指定了数值。如果您要为 x 美学指定文本或因子值,那么您的 x 轴将是离散的。
将 scale_x_discrete
换成 scale_x_continuous
解决了我实验中的问题。