Проблема Резюме: ggplot2 график, кажется, низкого качество в блестящем, когда размещенных на shinyapps.io. Элементы графа содержат видимые дефекты, например. Точки geom_point()
не круглые, некоторые кажутся треугольниками, другие похожими на прямоугольники и т. д. Легенда выглядит так, как будто она взорвана из-за низкого разрешения jpg. Мой пример: here.ggplot2 качества графа в блестящем на shinyapps.io
Вопрос: есть ли какая-либо опция для контроля качества графика, таких как точки на дюйм?
Подробное описание: Разработка простого Блестящая приложения, я заметил, что ggplot графики немного грубо вокруг краев, и не смог улучшить ситуацию. example app демонстрирует это достаточно хорошо, обратите внимание на то, как точки кажутся неправильной формы. Их форма улучшается, приближаясь к округлости, когда я увеличиваю масштаб (в 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 (используйте масштаб в своем браузере, чтобы лучше разобраться в различии):
Просто предположите, попробуйте включить 'library (Cairo); опции (shiny.usecairo = TRUE)' на вашем сервере.R или в global.R. –
@MatthewPlourde На самом деле, он работал как шарм. Вы могли бы переформатировать свой комментарий в качестве ответа. –
Не могли бы вы добавить до и после скриншотов? – bdemarest