小编Tje*_*ebo的帖子

无重叠的抖动点

我的数据:

a <- sample(1:5, 100, replace = TRUE)
b <- sample(1:5, 100, replace = TRUE)
c <- sample(1:10, 100, replace = TRUE)
d <- sample(1:40, 100, replace = TRUE)
df <- data.frame(a, b, c, d)
Run Code Online (Sandbox Code Playgroud)

使用ggplot2,我在 x = a 和 y = b 上创建了散点图,并在二维上加权(通过colour = csize = d)。请注意,x 和 y 是故意的1:5

显然,不同大小和颜色的点因此重叠,所以我尝试抖动以避免重叠:

ggplot(df, aes(a, b, colour = c, size = d)) + 
  geom_point(position = position_jitter())
Run Code Online (Sandbox Code Playgroud)

现在我希望这些点聚集得更紧密,所以我尝试了抖动函数height和的几种组合width,例如

ggplot(df, aes(a, …
Run Code Online (Sandbox Code Playgroud)

plot r scatter overlap ggplot2

2
推荐指数
1
解决办法
3226
查看次数

增加辅助 y 轴与其标题之间的间距

我绘制了一个带有两个 y 轴的图表。然而,根据我的口味,轴的标题有点太接近了。我已经设法拉开主轴标题的距离,但不知道如何对次轴进行同样的操作。这是我使用过的代码:

ggplot(data1, aes(x=year))+
geom_line(aes(y= data1$`export share`, colour= "export share"), size = 2)+
  geom_line(aes(y=data1$pm25/coeff, colour= "pm25"), size = 2)+
  scale_x_continuous(breaks = scales::pretty_breaks(n = 17), name = "Year")+
  scale_y_continuous(name="Export Share of GDP", labels = scales::percent, sec.axis=sec_axis(trans = ~.*coeff, name = "PM2.5"))+
  theme(axis.title.y = element_text(margin = margin(t = 0, r = 20, b = 0, l = 0)), axis.text.x = element_text(vjust = 5) ,legend.title = element_blank(), legend.box.margin = margin(0,0,0,10), text = element_text(size = 30)) +
  scale_colour_discrete("",
                        breaks=c("export share", "pm25"),
                        labels=c("Export Share …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 axis-labels yaxis

2
推荐指数
1
解决办法
1642
查看次数

如何修改ggplot2图例键?

有没有办法用 ggplot2 更改图例中键的宽度和高度?在下面的示例中,我想用可以调整宽度和高度的矩形替换图例中的点。我尝试使用keywidth没有成功。

library(ggplot2)

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme(
    legend.position = "top",
    legend.title = element_blank()
  ) +
  guides(
    color = guide_legend(
      label.position = "top",
      override.aes = list(shape = 15, size = 5),
      keywidth = unit(2, "cm") # This is not giving me what I was expecting.
    )
  )
Run Code Online (Sandbox Code Playgroud)

由reprex 包(v0.3.0)于 2020-07-23 创建

r legend ggplot2

2
推荐指数
1
解决办法
2045
查看次数

ggplot2 在曲线下方创建渐变的阴影区域

我想使用 ggplot 创建下面的图。有谁知道geom在折线图下方创建阴影区域的任何内容?谢谢 在此处输入图片说明

r ggplot2

1
推荐指数
1
解决办法
470
查看次数

按降序排列堆叠的条形

我已经成功地在 R 中制作了一个堆叠条形图,其中几个不同类别的百分比加起来为 100%。数据框如下所示:

 sujeito epentese vozeamento teste posicao palavra tipo  ortografia cseguinte
   <chr>   <chr>    <chr>      <chr> <chr>   <chr>   <chr> <chr>      <chr>    
 1 a       1        1          P     L       alpes   ps    ces        d_v      
 2 a       0        1          P     L       crepes  ps    ces        d_v      
 3 a       0        0          P     L       chopes  ps    ces        d_v      
 4 a       1        0          P     L       jipes   ps    ces        d_d      
 5 a       1        0          P     L       naipes  ps    ces        d_d      
 6 a       0        0          P     L       xaropes ps …
Run Code Online (Sandbox Code Playgroud)

r bar-chart ggplot2

1
推荐指数
1
解决办法
146
查看次数

如何允许公共中心 y 轴标签延伸到底部图形?

使用 ggplot,我生成了三个图形,我想使用包 patchworks 以打包方式(在彼此之上)组合这些图形。

这可以通过键入以下内容轻松实现:

graph1/graph2/graph3

但是,我遇到的问题是,对于这三个图形,我有一个共同的 y 轴,我自然希望将其放置在中心图形处(因此,当我制作时,我只为图形 2 创建了 y 轴标签ggplot 中的图表)。这个 y 轴标签文本相当长。因此,我想将它扩展到“超出其他图表的边界”。但是,我的结果如下图所示。

在此处输入图片说明

可以看出,y轴标签允许延伸到顶部图但不允许延伸到底部图(这里多余的标签文本被简单地删除,就像底部图放在文本顶部一样)。

我怎样才能让我的 y 轴标签也延伸到底部图形中?之后简单地更改图片的尺寸以使中心图形足够大以容纳标签不是一种选择(然后图形会太大而无法放在一页上)。

r ggplot2 patchwork

1
推荐指数
1
解决办法
194
查看次数

将标签绘制为有边缘的矩形,而不是圆角

在ggplot2中使用geom_label(),是否可以使矩形完全正方形而不是圆角?

data(iris)

ggplot(iris, aes(Sepal.Width, Sepal.Length)) + geom_point() + 
geom_label(x=4, y=7, label = "Test label")
Run Code Online (Sandbox Code Playgroud)

我想将测试标签周围的圆角矩形弄成正方形。

谢谢。

label r ggplot2

1
推荐指数
1
解决办法
602
查看次数

如何使 geom_path 在连接的散点图中平滑?

我想做一个这样的图表:

具有平滑路径的绘图

geom_path()只是将点连接起来,没有任何变换。

我知道可以通过样条变换来管理它,但我只是想要一个像curvature = 0.1让它变得简单的论点。

r ggplot2 geom

1
推荐指数
1
解决办法
250
查看次数

对连续数据进行分箱并保持正确的顺序 - 在 ggplot2 中自动组织轴标签?

我模拟了一个数据集,进行了一些数据操作(以一种非常笨拙的方式)并绘制了以下图。

模拟数据:

# Step 1 : Simulate Data

set.seed(123)
Hospital_Visits = sample.int(20,  5000, replace = TRUE)
Weight = rnorm(5000, 90, 10)

disease <- c("Yes","No")
disease <- sample(disease, 5000, replace=TRUE, prob=c(0.4, 0.6))
Disease <- as.factor(disease)

my_data = data.frame(Weight, Hospital_Visits, Disease)

my_data$hospital_ntile <- cut(my_data$Hospital_Visits, breaks = c(0, 5, 10, Inf), labels = c("Less than 5", "5 to 10", "More than 10"), include.lowest = TRUE)
Run Code Online (Sandbox Code Playgroud)

数据处理:

# Step 2: Data Manipulation:

my_data$weight_ntile <- cut(my_data$Weight, breaks = seq(min(my_data$Weight), max(my_data$Weight), by = (max(my_data$Weight) - min(my_data$Weight)) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

1
推荐指数
1
解决办法
154
查看次数

计算R中二维置信椭圆的面积

所以我在一个简单的表格中排列了对数转换的测量数据:

      x         y
1.158362492 1.322219295
1.1430148   1.267171728
1.11058971  1.252853031
1.120573931 1.260071388
1.149219113 1.278753601
1.123851641 1.276461804
1.096910013 1.222716471
Run Code Online (Sandbox Code Playgroud)

我知道有一些函数可以为这些数据绘制置信椭圆,但是如何计算生成形状的面积?

谢谢

r ellipse area

0
推荐指数
1
解决办法
1666
查看次数

使用 RStudio 与 ggplot2 绘制 R 图中的度数符号

我有这段代码并且我正在使用 RStudio

library(tidyverse)
library(osmdata)
bbx <- getbb("hawaii")

border <- bbx %>%
  opq() %>%
  add_osm_feature(key = "place",
                  value = c("island")) %>%
  osmdata_sf()

border

ggplot() +
  geom_sf(
    data = border$osm_lines,
    inherit.aes = FALSE,
    color = "black",
    size = .4,
    alpha = .8
  )
Run Code Online (Sandbox Code Playgroud)

当我绘制这个时我有这个

1

正如您所看到的,我在标签中使用了一个白色矩形,而不是度数符号。

我怎么解决这个问题?

提前致谢

PS:我使用的是 Window11 64 位,RStudio 已更新为默认选项,并且所有软件包均已更新。

r ggplot2

0
推荐指数
1
解决办法
1498
查看次数

标签 统计

r ×11

ggplot2 ×10

area ×1

axis-labels ×1

bar-chart ×1

ellipse ×1

geom ×1

label ×1

legend ×1

overlap ×1

patchwork ×1

plot ×1

scatter ×1

yaxis ×1