옛날 옛적에를 ggplot2
사용하여 글꼴 windowsFonts(Times=windowsFont("TT Times New Roman"))
을 변경했습니다. 이제 이걸 뺄 수가 없어요.
설정하려고 년 family=""
에 ggplot2
theme()
나는 다른 글꼴 가족들과 함께 아래의 MWE을 컴파일로 글꼴의 변화를 생성 할 수없는 것.
library(ggplot2)
library(extrafont)
loadfonts(device = "win")
a <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme(text=element_text(size=16,
# family="Comic Sans MS"))
# family="CM Roman"))
# family="TT Times New Roman"))
# family="Sans"))
family="Serif"))
print(a)
print("Graph should have refreshed")
R은 경고를 반환 font family not found in Windows font database
하지만 이것이 정상이며 문제가 아니라고 말하는 튜토리얼이 있습니다 (다시 찾을 수 있다면 여기에서 링크를 업데이트 할 것입니다). 또한 내 그래프가 한때 arial 또는 helvitica 유형 글꼴을 사용했기 때문에 어떻게 든 이것은 한 지점에서 작동했습니다. 나는 이것이 초기 마이그레이션 중에도 항상 현재의 경고라고 생각합니다.
최신 정보
windowsFonts()
내 출력을 실행할 때
$ serif [1] “TT Times New Roman”
$ sans [1] “TT Arial”
$ mono [1] “TT Courier New”
그러나 이것은 내가 실행 한 후 font_import()
이므로 내 글꼴이 올바른 위치에 저장되지 않는다는 결론을 내릴 수 있습니다. font_import()
요청 을 실행 한 코드는 실제로 다음을 사용하여 라이브러리를로드합니다.
LocalLibraryLocation <- paste0("C:\\Users\\",Sys.getenv("USERNAME"),"\\Documents","\\R\\win-library\\3.2");
.libPaths(c(LocalLibraryLocation, .libPaths()))
답변
제 생각에 초기화 단계를 놓쳤습니다.
명령으로 사용 가능한 글꼴을 볼 수 있습니다 windowsFonts()
. 예를 들어, 이것을보기 시작했을 때 내 모습은 다음과 같습니다.
> windowsFonts()
$serif
[1] "TT Times New Roman"
$sans
[1] "TT Arial"
$mono
[1] "TT Courier New"
extraFont 패키지를 설치하고 다음과 font_import
같이 실행 한 후 (약 5 분 소요) :
library(extrafont)
font_import()
loadfonts(device = "win")
나는 더 많은 것을 가지고 있었다-논쟁의 여지가 너무 많고, 확실히 여기에 나열하기에는 너무 많다.
그런 다음 코드를 시도했습니다.
library(ggplot2)
library(extrafont)
loadfonts(device = "win")
a <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme(text=element_text(size=16, family="Comic Sans MS"))
print(a)
이것을 산출 :
최신 정보:
다음 코드 스 니펫 을 사용하여 family
매개 변수에 필요한 글꼴 이름을 찾을 수 있습니다 element_text
.
> names(wf[wf=="TT Times New Roman"])
[1] "serif"
그리고:
library(ggplot2)
library(extrafont)
loadfonts(device = "win")
a <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme(text=element_text(size=16, family="serif"))
print(a)
답변
또 다른 옵션은 showtext
더 많은 유형의 글꼴 (TrueType, OpenType, Type 1, 웹 글꼴 등)과 더 많은 그래픽 장치를 지원하고 Ghostscript와 같은 외부 소프트웨어를 사용하지 않는 패키지를 사용하는 것입니다.
# install.packages('showtext', dependencies = TRUE)
library(showtext)
일부 Google 글꼴 가져 오기
# https://fonts.google.com/featured/Superfamilies
font_add_google("Montserrat", "Montserrat")
font_add_google("Roboto", "Roboto")
현재 검색 경로에서 글꼴로드 showtext
# Check the current search path for fonts
font_paths()
#> [1] "C:\\Windows\\Fonts"
# List available font files in the search path
font_files()
#> [1] "AcadEref.ttf"
#> [2] "AGENCYB.TTF"
#> [428] "pala.ttf"
#> [429] "palab.ttf"
#> [430] "palabi.ttf"
#> [431] "palai.ttf"
# syntax: font_add(family = "<family_name>", regular = "/path/to/font/file")
font_add("Palatino", "pala.ttf")
font_families()
#> [1] "sans" "serif" "mono" "wqy-microhei"
#> [5] "Montserrat" "Roboto" "Palatino"
## automatically use showtext for new devices
showtext_auto()
플롯 : showtext
RStudio 내장 그래픽 장치에서 제대로 작동하지 않으므로 Windows 그래픽 장치를 열어야 함
# https://github.com/yixuan/showtext/issues/7
# https://journal.r-project.org/archive/2015-1/qiu.pdf
# `x11()` on Linux, or `quartz()` on Mac OS
windows()
myFont1 <- "Montserrat"
myFont2 <- "Roboto"
myFont3 <- "Palatino"
library(ggplot2)
a <- ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme(text = element_text(size = 16, family = myFont1)) +
annotate("text", 4, 30, label = 'Palatino Linotype',
family = myFont3, size = 10) +
annotate("text", 1, 11, label = 'Roboto', hjust = 0,
family = myFont2, size = 10)
## On-screen device
print(a)
## Save to PNG
ggsave("plot_showtext.png", plot = a,
type = 'cairo',
width = 6, height = 6, dpi = 150)
## Save to PDF
ggsave("plot_showtext.pdf", plot = a,
device = cairo_pdf,
width = 6, height = 6, dpi = 150)
## turn showtext off if no longer needed
showtext_auto(FALSE)
편집 : showtext
RStudio 에서 사용할 또 다른 해결 방법 입니다. R 세션의 시작 부분에서 다음 코드를 실행합니다 ( 소스 ).
trace(grDevices::png, exit = quote({
showtext::showtext_begin()
}), print = FALSE)
답변
새로운 것을 설치하지 않으려는 경우 간단한 대답
플롯의 모든 글꼴을 변경하려면 선택한 글꼴은 plot + theme(text=element_text(family="mono"))
어디에 있습니까 mono
?
기본 글꼴 옵션 목록 :
- 단 핵증
- 산세
- 가는 장식 선
- 택배원
- Helvetica
- 타임스
- 아방가르드
- 서적상
- Helvetica-Narrow
- NewCenturySchoolbook
- 팔라티노
- URWothic
- URW 북맨
- 님 버스 몬
- URWHelvetica
- NimbusSan
- NimbusSanCond
- CenturySch
- URWPalladio
- URWTimes
- NimbusRom
R은 글꼴 범위가 크지 않으며 Mike Wise가 지적했듯이 R은 일반적인 글꼴에 대해 다른 이름을 사용합니다.
이 페이지 는 기본 글꼴을 자세히 살펴 봅니다.
답변
파티 에 늦었지만 shinyapps.io ggplots
의 shiny
앱 내부에 사용자 지정 글꼴을 추가하려는 사람들에게는이 기능이 흥미로울 수 있습니다 .
다음을 수행 할 수 있습니다.
그러면 app.R
파일 내부에 다음과 같은 상단 섹션이 있습니다.
dir.create('~/.fonts')
file.copy("www/IndieFlower.ttf", "~/.fonts")
system('fc-cache -f ~/.fonts')
답변
ggplot2 플롯의 글꼴을 전역 적으로 변경합니다.
theme_set(theme_gray(base_size = 20, base_family = 'Font Name' ))