在ggplot中添加标签以进行摘要统计

时间:2018-08-14 22:21:44

标签: r ggplot2

大约18个月前,this helpful exchange出现了,其代码显示了如何生成中位数和四分位数间距的图。这是代码:

ggplot(data = diamonds) +
geom_pointrange(mapping = aes(x = cut, y = depth),
              stat = "summary",
              fun.ymin = function(z) {quantile(z,0.25)},
              fun.ymax = function(z) {quantile(z,0.75)},
              fun.y = median)

制作此图:

this plot

我想知道的是如何为中位数和IQ范围添加标签,以及如何设置条形(颜色,alpha等)。我尝试将绘图作为对象调用,以查看是否可以使用其中的对象来调用格式函数,但是当我在r Studio IDE中查看该绘图时,并没有发现明显的问题。

这甚至可行吗?我知道我可以做一个箱线图,但是必须包括最小/最大。我想制作只具有均值/中位数和智商的箱线图。

1 个答案:

答案 0 :(得分:1)

您可以像更改任何ggplot图层一样更改格式,在这种情况下,请参见docs以获取垂直间隔:线,横线和误差线。以下是一个示例:

<?php 
    $dlikes="SELECT Comment FROM module_feedback_comments WHERE 
     module_id='$module_id'"; 
    $result=mysqli_query($conn,$dlikes);
   // output data of each row
   while($row = mysqli_fetch_array($result))
   {
        echo "" . $row["Comment"]. "</br>";
   }

 ?>

enter image description here

如果要分别控制点和线的格式,则需要按照@camille的建议进行操作,并像library(ggplot2) ggplot(data = diamonds) + geom_pointrange(mapping = aes(x = cut, y = depth), stat = "summary", fun.ymin = function(z) {quantile(z,0.25)}, fun.ymax = function(z) {quantile(z,0.75)}, fun.y = median, size = 4, # <- adjusts size colour = "red", # <- adjusts colour alpha = .3) # <- adjusts transparency 绘制单个图形对象一样对数据进行预处理,因此点和线是同一对象

我建议这样的事情:

geom_pointrange()

enter image description here