【发布时间】:2013-07-24 04:57:04
【问题描述】:
相关,但只讨论一般分配的绘图空间,而不是如何直接设置绘图图像大小并然后将其缩放以填充所需空间
我正在创建一个闪亮的网络应用程序,并想设置绘图的大小和比例。我的意思是我正在寻找一种方法来为我的绘图设置有限的高度/宽度,然后然后将设置大小的图像缩放到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 像素笔记本电脑上的全宽屏幕截图。
小
大
我想控制图像本身的大小,因为在使用 colour = var 和 size = var 等选项时,我发现 ggplot2 图例非常小。还要注意从大局中读取轴标签的难度。我意识到由于像素有限,我可能会遇到图像尺寸无法很好缩放的情况,但我认为在遇到这种情况之前我至少有一些空间可以移动。
有什么建议吗?到目前为止,我已经尝试过使用以下内容,但没有运气:
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 中指定的高度/宽度选项覆盖了我在ui.R 的plotOutput 部分中设置的任何内容。
有没有办法使绘图图像的大小保持较小以保持可读性,同时仍然填充所需的mainPanel 区域?
【问题讨论】:
-
更好的方法是控制绘制点和文本的大小,而不是试图通过图像大小来实现。您是否尝试过设置
cex选项?