R / RStudio: проблемы масштабирования графиков и размытость на экранах с высоким разрешением
На мониторах с высоким разрешением 4K кажется, что в Windows окно графика RStudio использует удвоение пикселей, чтобы сделать график четким (я использую RStudio 0.99.483 и R 3.2.2 и Windows 8.1, но тот же результат в Windows 10). Это приводит к очень размытому тексту и графике (плюс не очень хорошо работает с Cleartype, так как приводит к бахроме цвета после удвоения пикселей).
Пример:
qplot(Sepal.Length, Petal.Length, data = iris, color = Species,
size = Petal.Width, alpha = I(0.7))
с масштабированием в RStudio, установленным на 200%, я получаю размытое изображение (с цветной окантовкой), например
Полное уменьшение по очереди дает мне четкое изображение, но с слишком маленьким текстом, символами графика и пунктами меню:
Кто-нибудь может порекомендовать решение этой проблемы? Какой веб-браузер использует RStudio для отображения окна графика? Можно ли что-то исправить на этом фронте? На каком уровне это должно быть исправлено? RStudio или R непосредственно (в grDevices
или же grid
??). Просто не уверен, на каком уровне это можно исправить... Есть мысли?
РЕДАКТИРОВАТЬ: используя
windows()
qplot(Sepal.Length, Petal.Length, data = iris, color = Species,
size = Petal.Width, alpha = I(0.7))
но с досадой, что окно по умолчанию тогда становится довольно маленьким (вдвое меньше, чем на обычном мониторе, 1/ 4 по площади), и что если я его масштабирую, размер текста изменится относительно остальных (указание width=XXX и height=XX имеет одинаковый эффект). Так что это возвращает нас к проблеме, которую я всегда имею с масштабированием R-графиков.:-)
Использование дополнительных опций xpinch
а также ypinch
при вызове windows мое окно увеличивается, например:
windows(xpinch=340, ypinch=340)
qplot(Sepal.Length, Petal.Length, data = iris, color = Species,
size = Petal.Width, alpha = I(0.7))
но шрифты, кажется, не масштабируются так, как они должны быть по отношению к остальным, и символы графика становятся немного больше (хотя холст графика масштабируется нормально, но не по ширине линий). Не уверен, где проблема - является ли ggplot2
или же grid
выход должен лучше адаптироваться к xpinch
а также ypinch
настройки windows()
устройство, или если это что-то более низкого уровня. x11()
кажется, не имеет никаких настроек dpi, тогда как quartz()
делает (аргумент dpi=...
) - хотя я не могу протестировать последний, так как у меня нет Mac... Думаю, отчасти проблема в том, что эти разные устройства не имеют согласованных настроек для указания dpi, так что, возможно, они не удивлены не принимаются во внимание конкретными пакетами... Не уверен насчет графического устройства RStudio...
Короче говоря, довольно сложно создать R-графы с хорошим и воспроизводимым масштабированием на разных графических устройствах с разным dpi... Есть мысли, кроме экспорта в PDF и его просмотра?
2 ответа
Насколько я знаю, во многих приложениях экраны с более высоким DPI имеют проблемы с масштабированием изображения. Вы пытались отключить масштабирование? Вы можете сделать это следующим образом:
- Щелкните правой кнопкой мыши значок приложения (R и Rstudio) и выберите Свойства
- Перейдите на вкладку "Совместимость" и установите флажок "Отключить масштабирование экрана при настройках с высоким разрешением".
- Нажмите Применить и ОК
- Перезапустите RStudio / R
Я надеюсь, что это может помочь вашей проблеме. Извиняюсь, если я неправильно понимаю проблему или если вы уже пробовали это.
Ps извините я могу только опубликовать ответ, а не комментарий. У меня пока недостаточно репутации
Возможно, он уже устарел, но мне удалось решить его, отключив режим совместимости и включив переопределение режима масштабирования с высоким DPI в System (улучшено).