我想替换以下内容(是的,我在这里用 TeX 格式写的,只是为了清楚起见)$P_{M1}(\tilde{z}>z) - P_{M0}(\tilde{z}>z)$
对于绿线的图例条目 (cptsdtbehavioralm),和$P_{M2}(\tilde{z}>z) - P_{M0}(\tilde{z}>z)$
对于蓝线的图例条目(fullbehavioralmodel)。
这是我生成绘图的代码(我省略了 10,000 个观测数据集和生成函数 Fm0、Fm1 和 Fm2 的转换):
bmp("bias_plot_v4.bmp", width=540, pointsize=10)
ggplot(data.frame(x=c(0,80)),aes(x) ) +
stat_function(fun=function(x)((1-Fm1(x)) - (1- Fm0(x))), geom="line",
aes(colour="cptsdtbehavioralm"), n=1000) +
stat_function(fun=function(x)((1-Fm2(x)) - (1- Fm0(x))), geom="line",
aes(colour="fullbehavioralmodel"), n=1000) +
theme_bw() +
ylab("Probability") +
xlab(expression(paste("Security breaches per 3-week spear-phishing campaign ",
italic( (z) )))) +
theme(aspect.ratio=.618) +
theme(legend.position=c(0.845,0.8)) +
theme(legend.key = element_blank()) +
scale_color_manual(values = c("cptsdtbehavioralm"="green2",
"fullbehavioralmodel" = "blue"), name="Bias")
dev.off()
每当我尝试用数学表达式替换“cptsdtbehavioralm”和“fullbehavioralmodel”时——例如为简单起见,
expression(P[{M1}])
-- 我收到以下类型的错误:Error: unexpected '=' in:
" theme(legend.key = element_blank()) +
scale_color_manual(values = c(expression(P[{M1}]))="
我已经无能为力了——任何见解或建议都将非常非常受欢迎。
最佳答案
这是一个如何使用 values
的简单示例和 labels
得到我认为你想要的。
请注意 values
将数据中的值映射到您希望使用的颜色,而 labels
是您想要显示的标签(所以这是您放置表达式的地方)。
ggplot(data = data.frame(x= c(0,5)),aes(x=x)) +
stat_function(fun=dnorm,aes(colour = 'red')) +
stat_function(fun = dexp, aes(colour = 'blue')) +
scale_colour_manual(values = c('red' = 'red','blue' = 'blue'),name = '',
labels = expression(P[M1](tilde(z)>0),P[M0](tilde(z)>0)))
关于r - 使用表达式(粘贴(将数学符号插入图例中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19507742/