Questions tagged «ggplot2»

ggplot2是Hadley Wickham根据“图形语法”的原则编写的,为R积极维护的开源图形绘图包。它部分替换了R的基本图和点阵包,同时提供了一个干净,强大,正交且有趣的API。

2
用ggplot绘制函数,等效于curve()
是否有与基础图形中使用ggplot的curve()命令相对应的方法来绘制函数?我想,替代方法是只创建函数值的向量并绘制一条连接的线,但是我希望有一些更简单的方法。 谢谢!
69 r  ggplot2  plot 

4
在绘制geom_bar()时避免ggplot对x轴进行排序
我有以下要使用ggplot绘制的数据: SC_LTSL_BM 16.8275 SC_STSL_BM 17.3914 proB_FrBC_FL 122.1580 preB_FrD_FL 18.5051 B_Fo_Sp 14.4693 B_GC_Sp 15.4986 我要做的是绘制条形图并保持条形的顺序(即从开始SC_LTSL_BM ...B_GC_Sp)。但是ggplot geom_bar的默认行为是对它们进行排序。我该如何避免呢? library(ggplot2) dat <- read.table("http://dpaste.com/1469904/plain/") pdf("~/Desktop/test.pdf") ggplot(dat,aes(x=V1,y=V2))+geom_bar() dev.off() 当前数字如下所示:
69 r  ggplot2 

4
创建堆叠的条形图,其中每个堆叠的缩放比例总计为100%
我有一个像这样的data.frame: df <- read.csv(text = "ONE,TWO,THREE 23,234,324 34,534,12 56,324,124 34,234,124 123,534,654") 我想生成一个看起来像这样的百分比条形图(在LibreOffice Calc中制作): 因此,应该对条进行标准化处理,以使所有堆叠具有相同的高度,总和为100%。到目前为止,我所能获得的只是一个堆积的条形图(不是百分比),使用: barplot(as.matrix(df)) 有什么帮助吗?
68 r  ggplot2 

9
ggplot2主题选项列表?
经过一番研究,我找到了一种防止显示无用的传说的方法 ... + theme(legend.position = "none") 在哪里可以找到themeggplot2的所有可用选项及其默认值?
67 r  ggplot2 

2
如何以编程方式确定ggplot有多少个方面?
下面是代码和图形。 该图具有三个方面。the_plot我在哪里可以找到它的三个方面?是的,我可以从mtcars数据框或中获取数据the_plot$data,但是我不想重新创建数据分析。相反,我想检查的图形元素the_plot,因此不必在多个地方重复应用程序逻辑。 the_plot$facet不会显示我所识别的任何内容,其他图变量也不会显示。 我正在使用tidyverse 1.3.0。 library(tidyverse) data(mtcars) the_plot<-ggplot(mtcars, aes(mpg, disp, group=cyl)) + facet_wrap(~cyl) + geom_point() the_plot
13 r  ggplot2 

2
Alpha美学显示了箭头的骨架,而不是普通的形状-如何预防?
我的目标是在条形图的末端建立带有箭头的条形图。我去geom_segment与arrow定义。我想将一列映射到透明度上,但是Alpha美学在使用箭头对象时似乎无法正常工作。这是代码片段: tibble(y = c(10, 20, 30), n = c(300, 100, 200), transparency = c(10, 2, 4)) %>% ggplot() + geom_segment(aes(x = 0, xend = n, y = y, yend = y, alpha = transparency), colour = 'red', size = 10, arrow = arrow(length = unit(1.5, 'cm'), type = 'closed')) + …
11 r  ggplot2  geom-bar 

2
创建多列构面函数
我正在尝试创建一个facet_multi_col()函数,该facet_col()函数类似于中的函数ggforce-允许使用空格参数(在中不可用facet_wrap())进行构面布局-但可以在多个列上使用。就像下面的最后一个图(用创建grid.arrange())一样,我不希望这些小平面必须在行之间对齐,因为每个小平面的高度将根据y我希望使用的类别变量而变化。 ggproto阅读扩展指南后,我发现自己已经完全脱离了深度。我认为最好的方法是传递一个布局矩阵来指示在哪里断开数据对应子集的列,并facet_col 在ggforce中进行构建以包括一个空间参数-请参阅问题的结尾。 我不满意的选择的快速说明 无面 library(tidyverse) library(gapminder) global_tile <- ggplot(data = gapminder, mapping = aes(x = year, y = fct_rev(country), fill = lifeExp)) + geom_tile() global_tile 我想按大洲细分情节。我不要这么长的身材。 facet_wrap() global_tile + facet_wrap(facets = "continent", scales = "free") facet_wrap()没有空格参数,这表示每个大陆的磁贴大小不同,使用coord_equal()会引发错误 ggforce中的facet_col() library(ggforce) global_tile + facet_col(facets = "continent", scales = "free", space = "free", …

1
格尼玛特图,点保持不变,线变淡
这是一个静态图的可复制示例,我想对其进行动画处理(我想显示MCMC采样器的行为)。 library(tidyverse) library(gganimate) set.seed(1234) plot_data <- tibble(x=cumsum(rnorm(100)), y=cumsum(rnorm(100)), time=1:length(x)) ggplot(data=plot_data, aes(x=y, y=x)) + geom_point() + geom_line() 我想看到的是,绘制点时它们是可见的,然后一点点褪色(即alpha从1变为0.3),而会有一行仅显示最近的历史(理想情况下是淡淡显示)最近的历史消失得最少,退后几步完全消失)。 以下内容或多或少达到了我想要的点数(因此,在某种意义上,我只想向连接最后几个点的部分添加渐变线-点在某些帧上越慢渐变越好): ggplot(data=plot_data, aes(x=y, y=x)) + geom_point() + transition_time(time) + shadow_mark(past = T, future=F, alpha=0.3) 我正在努力的是如何为两个几何(例如点和线)添加两个不同的行为。例如,在下面的点消失了(我不希望它们消失),线条也没有褪色(我希望它们消失)。 p <- ggplot(data=plot_data, aes(x=y, y=x)) + geom_point() + transition_time(time) + shadow_mark(past = T, future=F, alpha=0.3) p + geom_line() …

2
R ggplot2:如何根据facet_wrap变量的值命名y轴?
我将为您提供有关数据的想法,然后我认为应该更容易理解我要实现的目标。 Repex: ID <- c(1, 1, 2, 3, 3, 3) cat <- c("Others", "Others", "Population", "Percentage", "Percentage", "Percentage") logT <- c(2.7, 2.9, 1.5, 4.3, 3.7, 3.3) m <- c(1.7, 1.9, 1.1, 4.8, 3.2, 3.5) aggr <- c("median", "median", "geometric mean", "mean", "mean", "mean") over.under <- c("overestimation", "overestimation", "underestimation", "underestimation", "underestimation", …
10 r  ggplot2 

3
使用gganimate通过观察建立直方图观察?需要处理更大的数据集(〜n = 5000)
该赏金过期2天。这个问题的答案有资格获得+200声望奖励。 max正在寻找信誉良好的答案。 我想从正态分布中采样点,然后使用该gganimate包一个一个地构建一个点图,直到最后一帧显示完整的点图。 一个适用于约5,000-20,000点的较大数据集的解决方案至关重要。 这是我到目前为止的代码: library(gganimate) library(tidyverse) # Generate 100 normal data points, along an index for each sample samples <- rnorm(100) index <- seq(1:length(samples)) # Put data into a data frame df <- tibble(value=samples, index=index) df看起来像这样: > head(df) # A tibble: 6 x 2 value index <dbl> <int> 1 …

1
ggplot2中geom_point的NPC坐标
如何获取ggplot中geom_point的x,y坐标,其中参考帧是整个绘制的图像? 我可以使用一些geom_point创建一个ggplot: library(ggplot2) my.plot <- ggplot(data.frame(x = c(0, 0.456, 1), y = c(0, 0.123, 1))) + geom_point(aes(x, y), color = "red") 这给出: 通过将其转换为grob,我可以提取关于该ggplot的一些其他信息,例如相对于绘图面板的坐标(由紫色箭头标记)。但是,这将忽略轴占用的空间。 my.grob <- ggplotGrob(my.plot) my.grob$grobs[[6]]$children[[3]]$x # [1] 0.0454545454545455native 0.46native 0.954545454545454native my.grob$grobs[[6]]$children[[3]]$y # [1] 0.0454545454545455native 0.157272727272727native 0.954545454545454native 从整个图像的左下角开始测量时,如何获得x,y坐标的值,并用绿色箭头标记? 如果有可能,我想解决顾及主题的的ggplot。添加主题等+ theme_void()影响轴和也相对于整个绘图图像偏移的点的位置。 更新:我意识到轴的字体大小会根据绘图的宽度和高度而变化,从而影响绘图面板的相对大小。因此如果不定义绘图宽度和绘图高度,以npc为单位提供位置并不是一件容易的事。如果可能,根据绘图宽度和绘图高度给出geom_points的位置。
10 r  ggplot2  grob 

1
如何将图片插入到ggplot图表的每个单独的栏中
我正在尝试比较不同统计数据的不同NBA新秀,并且我认为如果可以像r / dataisbeautiful图中那样在图的末尾添加球员的面孔,该图将看起来很棒。我的代码当前是这样的: a3 %>% ggplot(aes(x = reorder(Player, PPM), y = PPM)) + geom_bar(stat = "identity", aes(fill = Player)) + geom_text(aes(label = PPM), size = 3, position = position_dodge(width = 1), hjust = -0.1) + coord_flip() + theme_minimal() + xlab("Player") + ylab("Points Per Minute") + theme(legend.position = "none") 这是我的图形当前的样子
9 r  image  ggplot2 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.