密度散点图

问题描述 投票:0回答:1
library(ScatterDensity)
library(ggplot2)

scp2 <- DensityScatter.DDCAL(
  dati$gap_xgb1_c.1, dati$PWV,
  nClusters = 12, Plotter = "ggplot2",
  na.rm = TRUE, pch = 12, Size = 1, xlab = "HeartAge-gap (years)",
  ylab = "Aortic
                          Distensibility (mmHg-1)",
  ylim(-0.10, 0.010)
) +
  geom_abline(
    intercept = summary(lm2f)$coefficients[1, 1],
    slope = summary(lm2f)$coefficients[2, 1],
    colour = "red", linewidth = 0.5
  ) +
  geom_abline(
    intercept = summary(lm2m)$coefficients[1, 1],
    slope = summary(lm2m)$coefficients[2, 1],
    colour = "green", linewidth = 0.5
  )

无论我尝试使用什么命令,我都无法修改图中的“ylimit”。我按照声明“(可选)数值向量,y 值的最小值和最大值进行绘图”的说明进行操作。你能帮忙吗?

我尝试传递以下命令但没有成功:

ylimit=(k1,k2)
ylimit=c(k1,k2)
ylimit(k1,k2)
ylimit=c(k1,k2)
r ggplot2 plot charts
1个回答
0
投票

首先,按照文档,您必须使用

ylim = c(k1, k2)
设置限制。然而,你是对的,这似乎没有任何效果。

使用基于

?DensityScatter.DDCAL
中的默认示例的最小可重现示例:

library(ScatterDensity)
library(ggplot2)

set.seed(123)

x1 <- rnorm(n = 200, mean = 0, sd = 1)
y1 <- rnorm(n = 200, mean = 0, sd = 1)
x2 <- rnorm(n = 200, mean = 2.5, sd = 1)
y2 <- rnorm(n = 200, mean = 2.5, sd = 1)

dati <- data.frame(
  gap_xgb1_c.1 = c(x1, x2),
  PWV = c(y1, y2)
)

p <- DensityScatter.DDCAL(
  dati$gap_xgb1_c.1, dati$PWV,
  nClusters = 12, Plotter = "ggplot2",
  na.rm = TRUE, pch = 12, Size = 1, xlab = "HeartAge-gap (years)",
  ylab = "Aortic\nDistensibility (mmHg-1)",
  ylim = c(-.1, .01)
)
#> DensityScatter.DDCAL: Estimating Density...
#> Loading required namespace: pracma
#> Loading required namespace: DataVisualizations
#> DensityScatter.DDCAL: Estimating colors...
#> DensityScatter.DDCAL: Preparing for ggplot2..

p

但是您可以使用

coord_cartesian
设置限制来放大绘图(或使用
+ ylim(k1, k2)
+ scale_y_continuous(limits = c(k1, k2))
,但这会删除所有超出限制的观测值):

p +
  coord_cartesian(ylim = c(-.1, .01))

© www.soinside.com 2019 - 2024. All rights reserved.