Связанный, но говорит только о выделенном пространстве сюжета вообще, а не о том, как напрямую установить размер изображения сюжета, а затем масштабировать его, чтобы заполнить нужное пространство.
Я создаю блестящее веб-приложение и хочу установить размер сюжета и масштаб. Я имею в виду, что я ищу способ установить конечную высоту/ширину для моего графика, а затем масштабировать изображение с установленным размером в область mainPanel( plotOutput ())
.
Возьмем это как пример/аналогичную ситуацию вне shiny
.
x <- 1:10
y <- x^2
png("~/Desktop/small.png", width = 600, height = 400)
plot(x, y)
dev.off()
png("~/Desktop/big.png", width = 1200, height = 800)
plot(x, y)
dev.off()
Я не могу загружать изображения в SO и устанавливать размер, поэтому я буду включать скриншот каждого браузера, используя следующий html:
<img src="file:///home/jwhendy/Desktop/file.png" width = "800px" />
Это полный снимок экрана на моем ноутбуке с разрешением 1600 x 900 px.
Малый
Большой
Я хотел бы контролировать размер самого изображения, так как я нахожу легенды ggplot2
при использовании таких параметров, как colour = var
и size = var
, чтобы быть довольно маленьким. Обратите внимание на трудность чтения меток оси для большего изображения. Я понимаю, что могу попасть в ситуацию, когда размер изображения не очень хорошо масштабируется из-за ограниченных пикселей, но я думаю, что у меня, по крайней мере, есть место для поездки, прежде чем я столкнусь с этим.
Любые предложения? Я пробовал играть со следующим до сих пор, но не повезло:
ui.R
shinyUI(pageWithSidebar(
headerPanel("Title"),
sidebarPanel(),
mainPanel(
plotOutput(outputId = "main_plot", width = "100%"))
))
server.R
shinyServer(function(input, output) {
x <- 1:10
y <- x^2
output$main_plot <- renderPlot({
plot(x, y) }, height = 400, width = 600 )
} )
Кажется, что параметры высоты/ширины, указанные в server.R
, переопределяют все, что я установил в разделе plotOutput
ui.R
.
Есть ли способ уменьшить размер изображения на графике, чтобы поддерживать читаемость, сохраняя при этом желаемую область mainPanel
?