RStudio Shiny 中绘图的比例和大小

2023-12-25

相关,但只谈论一般分配的绘图空间,而不是如何直接设置绘图图像大小和then缩放它以填充所需的空间

  • 闪亮图表空间分配 https://stackoverflow.com/questions/17204735/shiny-chart-space-allocation

我正在创建一个闪亮的网络应用程序,并且想设置绘图的大小and规模。我的意思是我正在寻找一种方法来为我的绘图设置有限的高度/宽度,并且then缩放将大小图像设置为mainPanel( plotOutput ()) area.

以此为例/外部的类似情况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 像素笔记本电脑上的全宽屏幕截图。

Small smaller picture

Big bigger picture

我想控制图像本身的大小,因为我发现ggplot2使用类似选项时的图例colour = var and size = var非常小。请注意,阅读大图的轴标签也很困难。我意识到我可能会遇到由于像素有限而图像大小无法很好缩放的情况,但我认为我至少有some在我遇到这种情况之前,有足够的旅行空间。

有什么建议么?到目前为止,我已经尝试过使用以下内容,但没有运气:

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 area?


不确定这是否完全满足您的需求,但这对我有用。

中指定的选项Server.R确实生效了。 (我只是绘制了两个不同大小的图表。)我还采纳了 @Manetheran 的建议,并将 cex 和 cex.axis 设置为参数。他们似乎正在工作。

以下是完整应用程序的代码以及一张屏幕截图。

###UI.R
shinyUI(pageWithSidebar(


  headerPanel("Title"),
  
  sidebarPanel(
    sliderInput(inputId = "opt.cex",
            label = "Point Size (cex)",                            
                min = 0, max = 2, step = 0.25, value = 1),
  sliderInput(inputId = "opt.cexaxis",
              label = "Axis Text Size (cex.axis)",                            
              min = 0, max = 2, step = 0.25, value = 1) 
),
        
  mainPanel(
    plotOutput(outputId = "main_plot",  width = "100%"),
    plotOutput(outputId = "main_plot2", width = "100%")
  )
))
        

###Server.R
shinyServer(function(input, output) {


  x <- 1:10
  y <- x^2
    
  output$main_plot <- renderPlot({    
    plot(x, y)}, height = 200, width = 300)


  output$main_plot2 <- renderPlot({
    plot(x, y, cex=input$opt.cex, cex.lab=input$opt.cexaxis) }, height = 400, width = 600 )
} )

更新重新。宽度 = 100% 选项UI.R

是的,就我而言,这肯定会有所不同。在下面的两行中,new_main_plot 和 new_main_plot2 是相同的,但它们以不同的大小渲染。所以width选项确实生效。

 mainPanel(
    plotOutput(outputId = "new_main_plot",  width = "100%"),
    plotOutput(outputId = "new_main_plot2", width = "25%")
  )

希望有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RStudio Shiny 中绘图的比例和大小 的相关文章

随机推荐

  • 使用单个操作/规则生成多个目标[重复]

    这个问题在这里已经有答案了 如何编写规则来使用单个操作生成文件集 例子 文件x y z作为单次执行脚本的结果生成t sh它需要文件a作为输入 x y z a t sh GNU make 尝试执行t sh3次 您可以实施中指定的解决方案之一汽
  • 如何加载实体框架预编译视图

    我发现我可以通过使用预编译视图来提高应用程序的性能EdmGen exe tool 这一切都很好 但我和我的大学都无法解决这个问题how生成的 cs文件实际被项目使用 似乎没有任何对任何地方生成的类的引用 那么它是如何被包含在内的呢 任何人都
  • Spring Cloud Stream 多个函数定义

    是否有可能使用函数式 spring cloud function 具有多个独立函数 绑定的样式 我发现的所有示例始终只注册一个具有默认绑定的功能 beaninput output 我想注册多个 每个都有自己的绑定 传统上这可以使用sprin
  • 领域数据库解密失败

    Question 当我尝试打开加密领域文件时Realm Browser Windows 它给了我以下消息 这不是 Realm 文件或者已加密 输入 128 个字符的十六进制编码的加密密钥 重要的 我在保存到磁盘之前关闭我的领域 Code R
  • system()的返回码 = 256

    我使用 system 在 Swift 中执行 shell 命令 正如文档中所述 如果成功 返回值应为 0 如果失败 则返回值应为 1 但我得到 256 并且执行似乎成功了 还有一些其他与魔法值 256 相关的问题 但语言不同 没有解决方案
  • 如何从 NodeJS/Tedious 连接到 SQL Azure?

    我有一个 SQL Azure 数据库 正在尝试从 Azure Linux VM 中运行的 NodeJS 应用程序连接到该数据库 当我在本地 SQL 数据库 和 NodeJS 本地计算机上时 一切工作正常 但是 当我从虚拟机运行时 我得到以下
  • Java 中的弯曲文本

    我正在寻找最简单的方法来绘制一些 我的应用程序上椭圆对象周围的文本 我需要创造一种 拥抱 的感觉 到目前为止 我已经使用 Graphics2D 类来打印我的绘图 在屏幕上 我的 画布 是 BufferedImage 我的椭圆的宽度和高度分别
  • Microsoft.IdentityModel 与 System.IdentityModel

    我正在使用表单身份验证和 ASP NET MVC 2 开发基于声明的授权系统 我看到一个命名空间 Microsoft IdentityModel 提供了许多与另一个 System IdentityModel 相同的内容 系统 身份模型 ht
  • boost测试库:多重定义错误

    我正在尝试在 Windows 版 QTCreator 中测试我已经完成的库 微积分 我创建了一个主文件 并在一个单独的文件中创建了一个类用于测试 如果我编译在中找到的示例http www boost org doc libs 1 47 0
  • .Net RIA 服务:DomainService 需要无参数构造函数?

    我在带有一些 Silverlight 组件的 ASP Net 应用程序中使用 Net RIA 服务的 7 月 CTP 我正在从 Silverlight 调用 RIA 服务 当我尝试在域服务 LinqToEntitiesDomainServi
  • Python - “导入”或将模块作为参数传递?

    我想知道是否将模块对象传递给需要它的类或对象而不是使用import可能不是一个坏主意 因为它避免了对这些模块的硬依赖 我想知道是否有人比我更了解 Python Zen 可以解释为什么这是一个可怕 不可怕的想法 你所说的这个叫做依赖注入 ht
  • 如何从常规网站调用 Chrome 扩展程序中定义的函数?

    我想创建一个不属于 chrome 插件的网站 而只是使用该插件公开的一些 API 这可能吗 如果可以 我该怎么做 我用谷歌搜索了这个问题 但找不到任何东西 我正在尝试使用内容脚本 但没有任何反应 有人可以解释这里出了什么问题吗 清单 jso
  • NodeJS Express 和 Apache 在同一服务器上

    我有一个 VPS 在 Apache 配置 etc apache2 sites available 000 default conf 中指定了多个虚拟主机 Example config
  • 如何将 Visual Studio 设置为在按下 F5 时始终生成和调试? [复制]

    这个问题在这里已经有答案了 It used to do this but now if I don t build the solution first before pressing F5 it uses the last built p
  • 替换命令后的 SED 字符(“s”)

    我知道关于s 输入命令sed 但是从未见过使用s 有人能解释一下这到底是做什么的吗 sed e s SRC DIR SRC DIR PROJECT SRC DIR g i proj cfg 我明白那个 e定义一个要执行的脚本 该脚本位于 但
  • 使用 html 标签事件更改缩放

    我是 GMaps API 和 javascript 的初学者 所以这对于真正的专家来说应该是一个简单的问题 我已经开始 玩弄 API 并想尝试一个简单的事情 但我做不到 我四处寻找答案 但没有得到 我已经创建了地图
  • 使用 ThemeData.dark() 或 ThemeData.light() 时更改 Flutter 中的字体系列

    我正在尝试设置我的字体MaterialApp 由于我使用的是深色主题 所以我想使用copyWith然后更改fontFamily 然而 copyWith没有更改的选项fontFamily MaterialApp theme ThemeData
  • 如何将触摸事件传递到tableview下的另一个视图?

    我有一个场景 我重叠了一个视图 pageViewController在视图内 与uitableview偏移量为 130 并且uitableview是透明的 只有单元格会滚动并且可见 我的要求是在 130 这个偏移量范围内 我想将触摸事件传递
  • cv2.CalibrateCamera中retval返回值的含义

    正如标题所示 我的问题是关于 OpenCv 的 calibrateCamera 函数给出的返回值 http docs opencv org modules calib3d doc camera calibration and 3d reco
  • RStudio Shiny 中绘图的比例和大小

    相关 但只谈论一般分配的绘图空间 而不是如何直接设置绘图图像大小和then缩放它以填充所需的空间 闪亮图表空间分配 https stackoverflow com questions 17204735 shiny chart space a