#r #plot #typesetting #mathematical-typesetting
#r #график #набор текста #математический-набор текста
Вопрос:
Я получил комментарий к рисунку, который я отправил для публикации, и, тестируя, только что понял то, о чем раньше не знал: при использовании bitmap-драйверов R, похоже, использует дефис вместо правильного символа минуса для отрицательных значений на осях. Есть ли какой-нибудь способ это исправить?
library(extrafont)
loadfonts(device="win", quiet=TRUE)
png("Test.png", family="Helvetica", width=5, height=5, units="in", res=300)
plot(-3:3, -3:3)
text(-2, 2, labels=("u2010 Hyphen"), pos=4)
text(-2, 1.5, labels=("u002d Hyphen-Minus"), pos=4)
text(-2, 1, labels=("u2212 Minus"), pos=4)
dev.off()
Если вы посмотрите на изображение, отрицательные числа на осях явно неправильно обозначены дефисами вместо символов минуса.
При использовании pdf()
драйвера -отрицательные значения правильно используют минус. Я знаю, что для pdf()
-driver это можно изменить с помощью cairo-pdf()
. Однако использование другого типа (например type="windows"
, ) в png()
драйвере «или tiff()
» не меняет дефисы на знаки минус.
Есть ли какой-либо способ использовать правильные символы минуса для значений отрицательных осей с помощью bitmab-драйверов?
Ответ №1:
Это довольно сложно в базе r. Следующий код выводит оси после самого графика. Дефис в метках осей заменяется на минус с помощью findamp;replace .
plot(-3:3, -3:3, xaxt="n", yaxt="n", xlab = "u22123:3", ylab = "u22123:3")
xat <- axTicks(1, usr=par("usr")[1:2])
labs <- gsub("-", "U2212", print.default(xat))
axis(1, at=xat, labels=labs)
yat <- axTicks(2, usr=par("usr")[1:2])
labs <- gsub("-", "U2212", print.default(yat))
axis(2, at=xat, labels=labs)
Комментарии:
1. Спасибо, это работает. Хотя я считаю
print.default(at)
, что параметры должны бытьprint.default(xat)
иprint.default(yat)
, соответственно.2. возможно, это ошибка R. Знак минуса — это не дефис. (в коде также есть ошибка. ‘at’ не определено в print.default.)