r - 绘制数据中变量的 'ranges'

标签 r plot range

我有范围形式的观察
例如:A 13-20、B 15-30、C 23-40、D 2-11
我想以起始值和结束值的形式在 R 中绘制它们,例如。 A 的 13 和 20(上限和下限,如果你可以说),以便可视化并找出某些观察组合的共同范围。在 R 中有没有一种快速的方法来做到这一点?我认为这是我遇到的一个非常微不足道的问题,但我现在想不出怎么做。

最佳答案

这是使用 ggplot 的解决方案.根本不清楚您的数据采用什么格式,因此这里假设数据框包含列 id (A-D), min , 和 max .

df <- data.frame(id=LETTERS[1:4], min=c(13,15,23,2), max=c(20,30,40,11))
library(ggplot2)
ggplot(df, aes(x=id))+
  geom_linerange(aes(ymin=min,ymax=max),linetype=2,color="blue")+
  geom_point(aes(y=min),size=3,color="red")+
  geom_point(aes(y=max),size=3,color="red")+
  theme_bw()

我添加了很多自定义功能只是为了让您了解它是如何完成的。您使用 aes(...)功能告诉 ggplot df 中的哪些列映射到图形的各种美学。例如 aes(x=id)告诉 ggplot x 轴的值可以在 id 中找到df的栏目, 等等。



编辑 : 对 OP 评论的回应。

要更改轴文本的大小,请使用 theme(...)功能,如:
ggplot(df, aes(x=id))+
  geom_linerange(aes(ymin=min,ymax=max),linetype=2,color="blue")+
  geom_point(aes(y=min),size=3,color="red")+
  geom_point(aes(y=max),size=3,color="red")+
  theme_bw()+
  theme(axis.text.x=element_text(size=15))



在这里,我使 x 轴文本更大。玩转 size=...以您想要的方式获得它。另请阅读文档 ( ?theme ) 以获取其他格式选项的列表。

关于r - 绘制数据中变量的 'ranges',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27205629/

相关文章:

r - 颜色未显示在图表中

r - 每周第二个星期二结束的 2 周总和

Python 绘图线链接值似乎从最后一个点绕回到第一个点

python - hist2d 中的 vmin 和 vmax

c++ - 从 vector 中提取子 vector 的最佳方法?

math - 将任意长度转换为 -1.0 到 1.0 之间的值?

python - 在 python 中精确复制 R 文本预处理

r - 使用模式进行部分字符串匹配

python - 具有颜色渐变的 Matplotlib 3D 散点图

Javascript:如何获取选定文本范围之外的文本