相关,但只讨论一般分配的绘图空间,而不是如何直接设置绘图图像大小然后对其进行缩放以填充所需空间
我正在创建一个闪亮的网络应用程序,并想设置绘图的大小和比例。我的意思是我正在寻找一种方法来为我的绘图设置一个有限的高度/宽度,然后将该设置大小的图像缩放到该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 像素笔记本电脑上的全宽屏幕截图。
小的
大的
我想控制图像本身的大小,因为我在使用类似和非常小的ggplot2
选项时发现了图例。还要注意从大局中读取轴标签的难度。我意识到由于像素有限,我可能会遇到图像尺寸无法很好缩放的情况,但我认为在遇到这种情况之前我至少还有一些空间可以移动。colour = var
size = var
有什么建议么?到目前为止,我已经尝试过玩以下游戏,但没有运气:
用户界面
shinyUI(pageWithSidebar(
headerPanel("Title"),
sidebarPanel(),
mainPanel(
plotOutput(outputId = "main_plot", width = "100%"))
))
服务器.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
区域?