首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ggplot的绝对位置创建长方体

如何在ggplot的绝对位置创建长方体
EN

Stack Overflow用户
提问于 2018-08-18 05:36:49
回答 2查看 206关注 0票数 0

我正在尝试使用ShinyR创建一个应用程序,并使用ggplot创建一些动态图形。我已经使用了:

代码语言:javascript
复制
annotate("text", -Inf, Inf, label = "Label",
         hjust = 0, vjust = 1, col = "red", fontface = "bold")

在我的图表的上角创建一些文字。我确定它的位置是因为图形的高度/宽度会随着用户的输入而变化。这个文本有时很难从图表中读取,所以我想了两种方法来使其更容易阅读,但这两种方法我都无法实现:

  1. 在文本周围放置了一个方框。
    • 问题:我不知道如何在ggplot.

中绝对定位框

  1. 将文本移到图形下面
    • Problem:当我尝试这样做时,我遇到了问题,因为标签使用了在renderPlot中找到的代码中的一些信息,我不知道如何使用renderText.

访问这些信息

红色文本,这是绝对的位置,是我希望通过一个框来使其更加可见的内容:

EN

回答 2

Stack Overflow用户

发布于 2018-08-18 07:21:16

我认为这个解决方案将为您工作:R: How can I annotate a ggplot with a text box?

或者,您可以尝试:

代码语言:javascript
复制
annotate("rect", xmin = (value), xmax = (value), ymin = (value), ymax = (value), alpha = (opacity))
票数 0
EN

Stack Overflow用户

发布于 2018-08-19 03:24:44

明白了!

有点麻烦,但看起来就是这样...

代码语言:javascript
复制
words <- qplot(1:10,1:10,geom="blank")+annotate("text", x=5, y=9, label= paste("Rejection Region: X <=", rejreg/input$n),col="red",fontface="bold")+annotate("text",x=5,y=7,label=paste("Hypothesized Proportion of Reps:", min*input$reps, "/", input$reps, "=", round(min,2)),col="red",fontface="bold")+annotate("text",x=5,y=5,label=paste("Alternaitve Proportion of Reps:", altmin*input$reps, "/", input$reps, "=", round(altmin,2)),col="red",fontface="bold")+
      theme(axis.title.x=element_blank(),
            axis.text.x=element_blank(),
            axis.ticks.x=element_blank(),
            axis.title.y=element_blank(),
            axis.text.y=element_blank(),
            axis.ticks.y=element_blank(),
            panel.grid.major = element_blank(),
            panel.grid.minor = element_blank(),
            panel.border = element_blank(),
            panel.background = element_blank())

现在,问题图像中的单词出现在图的下方。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51903169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档