Как указать размер шрифта на графике (для вывода PDF)? - PullRequest
8 голосов
/ 06 сентября 2011

Есть идеи, как откалибровать cex в единицах измерения размера шрифта?

В частности, я хотел бы поработать со стандартным семейством Helvetica и указать размеры шрифтов, соответствующие размерам шрифтов .doc. Например, используйте размер шрифта 12 для основных заголовков и размер шрифта 10 для заголовков осей.

Буду признателен за ваши советы и пожелания. спасибо!

Ответы [ 3 ]

3 голосов
/ 07 сентября 2011

Вы можете установить шрифт по умолчанию на графике.

par(family = 'Helvetica')
plot(rnorm(10), main = 'Something In Helvetica')

Существует также par('font'), который можно использовать, чтобы указать, будет ли шрифт жирным, курсивом и т. Д. Для размера, кроме группы параметров cex, упомянутой Брэндоном, которая позволяет установить размер шрифта как относительный Термин, есть также cin, cra, и я верю больше, что позволяет устанавливать размеры в дюймах или в пикселях. К сожалению, вы не можете указать стандартный размер шрифта 10 или 12.

Проверьте справку для par() и прочитайте ее очень внимательно.

2 голосов
/ 07 сентября 2011

Ваш первый вопрос требует небольшого подъема.Здесь есть хороший набор инструкций: http://www.jameskeirstead.ca/typography/changing-the-fonts-in-r-plots/ Я не знаю "более простого пути".Но я бы с удовольствием посмотрел один.

По второму вопросу: см. ?par, в частности, часть о cex.

cex
cex.axis
cex.lab
cex.main

Кроме того, вы можете изменить настройку pointsize в ?pdf, чтобы настроить соответствующие размеры.

0 голосов
/ 30 марта 2016

Может быть, попытаться использовать pointsize = 12, внутри вашего quartz()? https://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/quartz.html

quartz(pointsize = 12)

Почему-то моя семья = "Helvetica" не работает, если находится в пределах quartz().

Оба изменения - изменение шрифта и размера шрифта работает в следующем порядке:

quartz(pointsize = 12) # define point size
par(mar=c(3,3,1,1), family = "Helvetica")    # define family
plot(...)

Таким образом, для pdf() экспорта графика и quartz() вывода, так как они не запускаются одновременно - я использую pdf () для экспорта мои графики, но quartz () только для копирования графика в документ MS Word

library(extrafont)       # library needed to have your fonts
loadfonts() ## for pdf() 

# pdf plot export - now doesn't run, because now I want just check changes in my quartz() plotting
# pdf("my_plot_in_pdf.pdf", height = 4, width = 4, family = "Helvetica") 

quartz(height = 4, width = 4, pointsize = 12)  # check my changes in plot, if I want to export my plot, I just set #quartx(...)
    par(mar=c(4,4,1,1), family = "Helvetica")
    plot(cars, main = "Helvetica, 12", ylab = "y label", xlab = "x label", cex = 1)
    dev.off()

enter image description here

ИЛИ измени мою семью и размер очков:

quartz(height = 4, width = 4, pointsize = 20)
par(mar=c(4,4,1,1), family = "Times New Roman")
plot(cars, main = "Times New Roman, 20", ylab = "y label", xlab = "x label", cex = 1)
dev.off()

enter image description here

...