내 x 축 눈금 레이블에 아래 첨자를 넣는 방법이 궁금합니다. 대부분의 다른 게시물에서와 같이 축 레이블에 없으므로 이미 데이터 프레임에있는 값에서 가져옵니다.
다음은 재현 가능한 코드 예제입니다. 괄호 안의 문자를 아래 첨자로 사용하고 싶습니다.
p_t<- c(rep("FW - P[H]",3),rep("FW - P[L]",3),rep("FW - F",3),rep("FW - SSWB",3),rep("C - F",3),rep("C - P[L]",3),rep("C - P[H]",3))
s_t<-rep(c("A","B","C"),7)
c_t <-c(0,1,2,+
0,3,2,+
0,4,3,+
0,3,4,+
0,6,5,+
0,2,4,+
0,7,2)
df_t1<-data.frame(p_t,s_t,c_t)
ggplot(data=df_t1,aes(y=c_t, x=p_t,fill = s_t))+
geom_bar(stat="identity",
color="black")
가능한 접근 방식은 최근 출시 된 패키지 'ggtext'를 사용하는 것이지만 'ggtetxt'는 Markdown 및 HTML 마크 업에 대한 지원을 구현하므로 예제 데이터에서 아래 첨자의 코딩을 변경해야합니다. 이 첫 번째 코드 청크에서 예제 데이터를 변경했지만 데이터가 질문과 같으면 gsub()
두 번째 코드 청크에 표시된 것처럼 대괄호를 즉시 아래 첨자에 대한 HTML 코딩으로 대체하는 데 사용할 수 있습니다.
library(ggplot2)
library(ggtext)
p_t <- c(rep("FW-P<sub>H</sub>", 3), rep("FW-P<sub>L</sub>", 3), rep("FW-F", 3),
rep("FW-SSWB", 3), rep("C-F", 3), rep("C-P<sub>L</sub>", 3),
rep("C-P<sub>H</sub>", 3))
s_t <- rep(c("A", "B", "C"), 7)
c_t <- c(0, 1, 2, +0, 3, 2, +0, 4, 3, +0, 3, 4, +0, 6, 5, +0, 2, 4, +0, 7, 2)
df_t1 <- data.frame(p_t, s_t, c_t)
ggplot(data = df_t1, aes(y = c_t, x = p_t, fill = s_t)) +
geom_bar(stat = "identity",
color = "black") +
theme(axis.text.x = element_markdown())
scale_x_discrete()
원하는 경우 HTML 마크 업으로의 변환을 자동화 할 수 있도록 문자열 대체를 즉시 수행 할 수 있습니다 .
p_t <- c(rep("FW - P[H]", 3), rep("FW - P[L]", 3), rep("FW - F", 3),
rep("FW - SSWB", 3), rep("C - F", 3), rep("C - P[L]", 3),
rep("C - P[H]", 3))
s_t <- rep(c("A", "B", "C"), 7)
c_t <- c(0, 1, 2, +0, 3, 2, +0, 4, 3, +0, 3, 4, +0, 6, 5, +0, 2, 4, +0, 7, 2)
df_t1 <- data.frame(p_t, s_t, c_t)
ggplot(data = df_t1, aes(y = c_t, x = p_t, fill = s_t)) +
geom_bar(stat = "identity",
color = "black") +
scale_x_discrete(labels = function(x) {gsub("\\[", "<sub>", gsub("\\]", "</sub>", x))}) +
theme(axis.text.x = element_markdown())
참고 : 눈금 레이블은 문자가 변경되지 않고 여기에서 유지되고 대시 주위의 간격이 추가되거나 수정되지 않으므로 R 표현식을 사용할 때와 정확히 동일하지 않습니다. 이 경우 대시가 눈에 띄게 더 짧습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다