我已经看到了几个有关在条形图上创建下标的主题,但是我似乎无法在我的代码中使用“表达式”功能。理想情况下,我已在下面附加了代码,我想要$ K_a $,$ N_ {max} $,$ C_ {r50} $,$ C_ {s50} $,但我不知道如何使它出现在条形图中。我很有可能编写了效率最低的条形图,因此任何建议将不胜感激!
library(ggplot2)
lowdose <- c(3.412681e-03, 1.700527e-03, 1.207575e-04, 8.716199e-03, 8.186021e-05, 1.286261e-03, 5.872725e-04, 7.124678e-02, 2.107681e-01, 3.543541e-01)
lowdoseparams <-c("V", "k", "ka", "\u03B1", "\u03B3", "\u03B7", "\u03C3", "Nmax", "Cs50", "Cr50")
#lowdoseparams <-expression(V, k, k_a, alpha, gamma, eta, sigma, Nmax, Cs50, Cr50)
lowdata <- data.frame(Parameters=lowdoseparams, Effects=lowdose)
p_low<-ggplot(data=lowdata, aes(x=Parameters, y=Effects)) +
geom_bar(stat="identity")+theme(axis.text=element_text(size=14),
axis.title=element_text(size=18))
p_low
答案 0 :(得分:3)
将此问题作为参考:Subscript letters in ggplot axis label
以下是使用表达式函数创建x轴标签的解决方案:
library(ggplot2)
lowdose <- c(3.412681e-03, 1.700527e-03, 1.207575e-04, 8.716199e-03, 8.186021e-05, 1.286261e-03, 5.872725e-04, 7.124678e-02, 2.107681e-01, 3.543541e-01)
lowdoseparams <-c("V", "k", "k[a]", "\u03B1", "\u03B3", "\u03B7", "\u03C3", "N[max]", "Cs50", "Cr50")
#define the lowdoseparams as factors in the same order as the labels
lowdoseparams<-factor(lowdoseparams, levels =lowdoseparams)
#create the labels
xlabels<-expression(V, k, k['a'], alpha, gamma, eta, sigma, N[max], Cs[50], Cr[50])
lowdata <- data.frame(Parameters=lowdoseparams, Effects=lowdose)
p_low<-ggplot(data=lowdata, aes(x=Parameters, y=Effects)) +
geom_bar(stat="identity")+
theme(axis.text=element_text(size=14),axis.title=element_text(size=18)) +
scale_x_discrete(labels= xlabels)
p_low
看起来像“表达式”类型的xlabels向量不能添加到数据帧,而必须保留为独立向量。
答案 1 :(得分:1)
我想您可以使用this unicode subscript lookup table。例如\U2090
代表 a
library(ggplot2)
lowdose <- c(3.412681e-03, 1.700527e-03, 1.207575e-04, 8.716199e-03, 8.186021e-05, 1.286261e-03, 5.872725e-04, 7.124678e-02, 2.107681e-01, 3.543541e-01)
lowdoseparams <- c("V", "k", "k\U2090", "\u03B1", "\u03B3", "\u03B7", "\u03C3", "Nmax", "Cs50", "Cr50")
lowdata <- data.frame(Parameters = lowdoseparams, Effects = lowdose)
p_low <- ggplot(data = lowdata, aes(x = Parameters, y = Effects)) +
geom_col() +
theme(
axis.text = element_text(size = 14),
axis.title = element_text(size = 18)
)
p_low
由reprex package(v0.2.1.9000)于2018-11-19创建