#r #svg #ggplot2 #inkscape
#r #svg #ggplot2 #inkscape
Вопрос:
Когда я экспортирую ggplots из R (с ggsave в svg), чтобы изменить их в inkscape, я сталкиваюсь со следующей проблемой:
Я использую текстовый инструмент для выделения некоторого текста (например, метки осей). Если я хочу увеличить размер шрифта в выпадающем меню, inkscape только увеличивает высоту текста, ширина остается прежней. У меня остался текст с неправильным соотношением сторон.
Это должно быть связано с некоторым преобразованием типа (например, текста в объект), которое выполняется в какой-то момент (ggplot, ggsave или inkscape). До сих пор я не мог понять, как это решить. До сих пор я вернулся к удалению существующего текста и созданию нового текста в inkscape (тогда настройка размера шрифта работает совершенно нормально)
Код для создания ввода для Inkscape:
tdf <- data.frame()
tpl <- ggplot(tdf) xlab("testtext")
ggsave(filename="tpl.svg",plot=tpl,height=5,width=8,device="svg")
Ответ №1:
Похоже, svglite вводит textLength
параметр, который жестко определяет ширину. Интересно, что Illustrator, похоже, не заботится об этом при редактировании файла, но Inkscape заботится.
Вы могли бы попробовать другое устройство, svg
возможно, это не лучший выбор, поскольку оно, похоже, разбивает слова на отдельные буквы, но gridSVG ::gridsvg, похоже, работает. Или используйте устройство pdf, которое Inkscape также может импортировать.
Комментарии:
1. Спасибо за ответ! gridSVG действительно работает, но, похоже, ggsave не принимает его в качестве графического устройства. Мне пришлось бы реструктурировать весь мой документ. Опция pdf звучит лучше, но из быстрого теста я вижу, что простая установка «pdf» в качестве устройства создает аналогичные проблемы с текстом. Есть ли у вас какие-либо рекомендации по другому устройству (pdf) для создания PDF-файлов, которые лучше совместимы с inkscape?