R GG使用单独的标签绘制条形图和折线图
我有以下数据集:R GG使用单独的标签绘制条形图和折线图,r,ggplot2,plotly,R,Ggplot2,Plotly,我有以下数据集: dput(head(table_age)) structure(list(Age = c("0-19", "20-24", "25-29", "30-34", "35-39", "40-44"), Freq_nominal = c(1321, 3446, 5354, 7233, 7471, 6623 ), Freq_percent = c(1.92, 5.01, 7.79, 10.52, 10.86, 9.63), Percent = c("1.92%", "
dput(head(table_age))
structure(list(Age = c("0-19", "20-24", "25-29", "30-34", "35-39",
"40-44"), Freq_nominal = c(1321, 3446, 5354, 7233, 7471, 6623
), Freq_percent = c(1.92, 5.01, 7.79, 10.52, 10.86, 9.63), Percent = c("1.92%",
"5.01%", "7.79%", "10.52%", "10.86%", "9.63%"), Nominal = c(1321,
3446, 5354, 7233, 7471, 6623), female = c(655L, 1473L, 2275L,
2929L, 3081L, 2830L), male = c(665L, 1918L, 3002L, 4258L, 4347L,
3762L), female_percent = c(2.2, 4.94, 7.63, 9.82, 10.33, 9.49
), female_percent_label = c("2.2%", "4.94%", "7.63%", "9.82%",
"10.33%", "9.49%"), male_percent = c(1.73, 4.99, 7.8, 11.07,
11.3, 9.78), male_percent_label = c("1.73%", "4.99%", "7.8%",
"11.07%", "11.3%", "9.78%")), .Names = c("Age", "Freq_nominal",
"Freq_percent", "Percent", "Nominal", "female", "male", "female_percent",
"female_percent_label", "male_percent", "male_percent_label"), row.names = c(NA,
6L), class = "data.frame")
我使用ggplotly以交互方式将年龄绘制为条形图,并在工具提示中使用文本参数显示自定义标签
这是工作代码:
t <- ggplot(table_age, aes(as.factor(Age), Freq_percent, text1 = Nominal,
text = paste0("Age group: ", Age), text2 = Percent)) +
geom_bar(position="dodge",stat="identity", fill = "deepskyblue4", width = 0.5) +
theme(legend.title=element_blank()) +
xlab("") + ylab("") +
theme_minimal()
ggplotly(t, tooltip = c("text1", "text2"))
tgeom_line()
需要(通常)一个组
美学,我们可以将其设置为一个常数以拥有一组OB。这将显示geom\u line
要显示不同的工具提示,我们可以使用单个“隐藏的”text
美学(正如您已经做的那样)并覆盖它
在这种情况下,最好在每个geom
内定义aes
s,而不是在初始ggplot()
调用内定义
关于守则:
库(ggplot2)
图书馆(绘本)
警告:忽略未知美学:text1,text2
#>警告:忽略未知美学:text1
T
ggplotly(t,工具提示=c(“text1”、“text2”))
geom_line()
需要(通常)一个组美学,我们可以将其设置为一个常数以拥有一组OB。这将显示geom\u line
要显示不同的工具提示,我们可以使用单个“隐藏的”text
美学(正如您已经做的那样)并覆盖它
在这种情况下,最好在每个geom
内定义aes
s,而不是在初始ggplot()
调用内定义
关于守则:
库(ggplot2)
图书馆(绘本)
警告:忽略未知美学:text1,text2
#>警告:忽略未知美学:text1
T
ggplotly(t,工具提示=c(“text1”、“text2”))
您能否通过在问题中添加dput(table_age)
的结果,使您的代码具有可复制性?谢谢您的评论。我刚刚更新了这个问题。请您将dput(table_age)
的结果添加到问题中,以使您的代码具有可复制性。谢谢您的评论。我刚刚更新了问题。谢谢你的解答。此外,您的代码结构也很整齐。我也应该为此付出一些努力。谢谢你的解决方案。此外,您的代码结构也很整齐。我也应该为此付出一些努力。
t <- ggplot(table_age, aes(as.factor(Age), Freq_percent, text1 = Nominal,
text = paste0("Age group: ", Age), text2 = Percent)) +
geom_bar(position="dodge",stat="identity", fill = "deepskyblue4", width = 0.5) +
theme(legend.title=element_blank()) +
xlab("") + ylab("") +
theme_minimal()
t <- t + geom_point(data=table_age, aes(x=Age, y=female_percent), size = 2, color="magenta")
t <- t + geom_line(data=table_age, aes(x=Age, y=female_percent), colour="magenta")
ggplotly(t, tooltip = c("text1", "text2", "female"))