如何解决无法通过R
我试图将图例标题从组更改为希腊字母“ sigma”,并将标签“ power.1,power.2,power.3”更改为“ 35、40、45”,但没有出现,并且仍显示默认名称和标签。你能帮我吗?非常感谢。
# Load the library and input the data
library(ggplot2)
library(tidyr)
n <- 2:10
control <- rep(150,4)
infected <- c(150,170,200,250)
all <- c(control,infected)
sigma <- c(35,40,45)
# Compute the population mean
mu <- mean(all)
# Compute the sum of the tau squared
tau2 <- sum((all-mu)^2)
# Compute the gamma
gamma.1 <- (n*tau2)/(sigma[1]^2)
gamma.2 <- (n*tau2)/(sigma[2]^2)
gamma.3 <- (n*tau2)/(sigma[3]^2)
# Compute the power
power.1 <- 1-pf(qf(.95,7,16),16,gamma.1)
power.2 <- 1-pf(qf(.95,gamma.2)
power.3 <- 1-pf(qf(.95,gamma.3)
data <- data.frame(n,power.1,power.2,power.3)
data %>%
pivot_longer(cols = contains("power"),names_to = "group",values_to = "power") %>%
ggplot(aes(n,power)) +
geom_line(aes(color = group)) +
geom_point(aes(color = group),size = 4) +
scale_fill_discrete(name = expression(sigma),labels = c("35","40","45"))
解决方法
在代码的最后部分尝试此操作。您可以学到的一课是,填充和颜色是不同的美学。因此,如果设置颜色,则必须使用scale_color_manual
。这里的代码:
#Code
data %>%
pivot_longer(cols = contains("power"),names_to = "group",values_to = "power") %>%
ggplot(aes(n,power)) +
geom_line(aes(color = group)) +
geom_point(aes(color = group),size = 4) +
scale_color_discrete(name = expression(sigma),labels = c("35","40","45"))
输出:
或者您也可以尝试使用guides()
来产生相同的输出(但第一种选择更直接):
#Code 2
data %>%
pivot_longer(cols = contains("power"),size = 4) +
scale_color_discrete(labels = c("35","45"))+
guides(color=guide_legend(title=expression(sigma)))
,
您应该使用:
scale_colour_discrete(name = expression(sigma),"45"))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。