Курсив в названии решетчатого графа
Я прочитал посты о том, как создавать выделенные курсивом слова в заголовке графика, но, похоже, он мне не подходит.
#create a list of species
sp <- c("Etelis coruscans","Etelis carbunculus","Pristipomoides sieboldii","Pristipomoides filamentosus","Pristipomoides zonatus","Epinephelus quernus","Aphareus rutilans")
#plot hisotgrams for each spp in 1cm bins
for (i in sp){
BIN_WIDTH <- 1 #desired bin width
print(histogram(~ Length..cm. | Method, #create and print the histogram and save to variable "graph"
data = hist.data[hist.data$Scientific_name == i,],
nint = (max(hist.data$Length..cm.) - min(hist.data$Length..cm.)+1)/BIN_WIDTH,
layout = c(1,2),
main = paste("Length-Frequency of", italic(i), "by Gear"), sep = " ",
xlab = "Length (cm)"))
#save histogram to PNG file
quartz.save(paste("*Length-Frequency of", i, "by method.png", sep = " "), type = "png")
dev.off() #close the graphics diver
}
Я получаю сообщение об ошибке:
Error in print(histogram(~Length..cm. | Method, data = hist.data[hist.data$Scientific_name == :
error in evaluating the argument 'x' in selecting a method for function 'print': Error in paste(italic("Length-Frequency of", i, "by Gear")) :
could not find function "italic"
Может кто-то указать, что я сделал неправильно?
1 ответ
Решение
Там аргумент, который вы передаете main
нужна пара изменений.
Чтобы использовать специальные сюжеты R (т.е. такие вещи, как
italic()
), это должен быть объект выражения, а не строка символов. Это значит делать что-то вроде этого:main = expression(paste("Length-Freq of", italic("E. coruscans"), "by Gear"))
вместо этого:
main = paste("Length-Freq of", italic("E. coruscans"), "by Gear")
Кроме того, вы хотите выделить курсивом
i
значение, а не его имя, но если вы просто наберетеitalic(i)
, решетка окажетi
Название маленьким курсивом "я" для каждого вида. использованиеbquote()
или жеsubstitute()
заменить вi
вместо этого, как показано здесь:i <- "E. coruscans" xyplot(1:10~1:10, main = substitute(expr = expression(paste("Species name: ", italic(i))), env = list(i=i)))