Как указать размер шрифта в графике (для вывода в PDF)?

Любые идеи о том, как откалибровать cex для единиц размера шрифта?

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

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


person Adam SO    schedule 06.09.2011    source источник


Ответы (3)


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

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

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

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

person John    schedule 06.09.2011
comment
Вы, сэр, гений. - person Omar Wagih; 20.06.2014

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

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

cex
cex.axis
cex.lab
cex.main

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

person Brandon Bertelsen    schedule 06.09.2011
comment
К сожалению, бит в конце этой ссылки говорит, что это не относится к устройствам pdf. - person IRTFM; 07.09.2011

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

quartz(pointsize = 12)

По какой-то причине мой family = "Helvetica" не работает, если поместить его в quartz().

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

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

Таким образом, для экспорта графиков pdf() и вывода quartz(), поскольку они не выполняются одновременно - я использую pdf () для экспорта своих графиков, но кварц () просто скопировать сюжет в документ 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()

введите описание изображения здесь

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

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()

введите описание изображения здесь

person maycca    schedule 30.03.2016