Резюме проблемы. Графы ggplot2 выглядят плохого качества в блестящем состоянии, когда размещены на shinyapps.io. Элементы графа содержат видимые дефекты, например. точки geom_point()
не круглые, некоторые кажутся треугольниками, другими похожими на прямоугольники и т.д. Легенда выглядит так, как будто она была взорвана из-за низкого разрешения jpg. Мой пример здесь.
Вопрос: есть ли какие-либо опции для управления качеством графа, например, с разрешением на дюйм?
Подробное описание. Разрабатывая простое блестящее приложение, я заметил, что графики ggplot немного грубы по краям и не смогли улучшить ситуацию. Пример приложения демонстрирует это достаточно хорошо, обратите внимание на то, как точки кажутся неправильной формы. Их форма улучшается, приближаясь к округлости, когда я увеличиваю масштаб (в Chrome) до 200% или более. При 100% масштабировании весь график выглядит странным и негладным. Как будто когда разрешение изображения уменьшается на 0,77 или что-то в этом роде, вы получаете незначительные артефакты искажений; аналогичный эффект здесь. Самый простой способ увидеть это - загрузить изображение со 100% увеличением (щелкните правой кнопкой мыши, сохраните как), а затем увеличьте масштабную копию локальной копии. Вы увидите, как точки далеко не круглые. Код для server.R
и ui.R
очень прост:
# ui.R
shinyUI(fluidPage(
titlePanel("My Shiny App"),
sidebarLayout(
sidebarPanel(
h4("The graph looks rough")),
mainPanel(
plotOutput("myplot",width=800,height=600)
)
)
))
и
# server.R
library(ggplot2)
data(mtcars)
shinyServer(
function(input, output) {
output$myplot <- renderPlot({
p <- ggplot(data=mtcars,aes(x=mpg,y=disp,color=factor(cyl)))
p <- p + geom_point()
print(p)
})
}
)
Мне интересно, можно ли это улучшить. Блестящий является мощным инструментом для передачи научных результатов, но вау-эффект каким-то образом подрывается этими визуальными артефактами. Благодарю!
EDIT: возможно, более правильным способом выразить эту проблему является то, что в изображении PNG по умолчанию отсутствует сглаживание.
EDIT 2: для того, чтобы этот вопрос был более ценным для других пользователей SO, вот скриншоты графика до и после использования устройства Cairo (используйте масштабирование в своем браузере, чтобы лучше понять разницу):