我有一个方形图(宽高比1:1),我正在尝试将其缩放为super.onCreate(savedInstanceState);
setContentView(R.layout.activity_consulta);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
TextView Lab=(TextView)findViewById(R.id.lab_con);
的全宽。由于mainPanel
参数默认为height
,因此图表在面板中间显示为400x400图像:
我知道您可以将400px
的{{1}}参数更改为height
或plotOutput
,以使面板使用图像的自然尺寸。但是,"100%"
然后尝试从"auto"
检索高度参数,该参数本身从plotOutput
获取renderPlot
值,从而产生“Catch-22”场景和情节身高height
。
我要做的是将plotOutput
的{{1}}值(或0px
)设置为等于height
的{{1}},但我不确定如何访问此值。到目前为止,这是我的代码:
renderPlot
有什么想法吗?
答案 0 :(得分:3)
基于this post:
library( shiny )
library( ggplot2 )
server <- function(input, output)
{
output$plot1 <- renderPlot({
X <- data.frame( x=rnorm(10), y=rnorm( 10) )
ggplot( X, aes(x=x, y=y) ) + geom_point() + coord_fixed()
} ,
height=reactive(ifelse(!is.null(input$innerWidth),input$innerWidth*3/5,0))
)
}
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
tags$head(tags$script('$(document).on("shiny:connected", function(e) {
Shiny.onInputChange("innerWidth", window.innerWidth);
});
$(window).resize(function(e) {
Shiny.onInputChange("innerWidth", window.innerWidth);
});
')),
sliderInput("n", "Number of Samples", min=10, max=1000, value=100) ),
mainPanel( plotOutput("plot1"))
)
)
shinyApp(ui = ui, server = server)