r语言 - 绘制链接到辅助 y 轴的折线图



我试图复制可以在excel中轻松完成的事情。 使用ggplot,我尝试绘制以下内容:

  1. 绘制条形图,其中左 Y 轴以计数表示 (0-600(
  2. 绘制一个折线图,其中右 Y 轴以 % (0-100( 表示。

Qn1 .有人可以向我解释一下,如何将我的百分比数据链接到我的辅助轴?目前,折线图(应表示 %(是使用计数刻度基于主 Y 轴绘制的。

qn2.如何独立更改 2 个刻度?

QN3.如何独立命名 2 个音阶?

ggplot() +
geom_bar(data=data,aes(x=sch,y=count,fill=category),stat = "identity")+ 
scale_fill_manual(values=c("darkcyan", "indianred1")) +
geom_line(data=data_percentage, aes(x=sch, y=count, group=1)) + 
geom_point(data=data_percentage, aes(x=sch, y=count, group=1)) +
geom_text(data=data_percentage,aes(x=scht,label=paste(count,"%",sep="")),size=3) +
scale_y_continuous(sec.axis = sec_axis(~./2), name="%")+
theme(panel.background = element_blank(), 
axis.line = element_line(colour = "black", size = 0.5, linetype = "solid"), 
plot.title = element_text(size=11, face="bold", hjust=0.3), 
legend.position = "top", legend.text = element_text(size=9)) +
labs(fill="") + guides(fill = guide_legend(reverse=TRUE))+
ylab("No. Recruited") + ggtitle("2. No. of students")

答案 1:您没有将geom链接到轴。相反,您可以放大或缩小它以与辅助轴比例保持一致。在您提供的示例中,sec.axis~./2缩放,那么您在geom_linegeom_point中的y美感应该count*2。这将给出线链接到辅助轴的外观。

答案2:你不能。在 ggplot 中,辅助轴应该是主轴的一对一变换。我不知道另一个包是否可以做到这一点。

答案3:只需将函数scale_y_continuousname参数移动到函数sec_axis内部,如下所示的示例代码。

代码将如下所示:

ggplot() +
.
.
geom_line(data = data_percentage, aes(x=sch, y=count*2, group=1)) +
geom_point(data = data_percentage, aes(x=sch, y=count*2, group=1)) + 
.
.
scale_y_continuous(sec.axis = sec_axis(~./2, name="%"))+
.
. 
.

相关内容

最新更新