【发布时间】:2021-06-12 19:38:55
【问题描述】:
我想为我的数据集创建点图。我知道如何使用 ggplot 为治疗比较或类似数据集创建正常的点图。我有以下数据。并想创建一个具有三种不同颜色的点图。请建议我如何为此点图准备数据。如果我在 NP 和 P 中有一个数据点,则很容易绘制,因为我已经使用过类似的数据,但对此类数据一无所知。我可以使用 R 中的 ggplot 模块并且可以完成。
变量 W 始终具有单个数据点,而 NP 和 P 具有不同的数据点,即在 NP 中有时为 1,有时在 NP 中为 3,与变量 P 相同,如表所示。
我同意我的数据是一团糟。我用谷歌搜索并做了一些编码来获得情节。我使用 tidyverse 和 dplyr 包来实现绘图,但 y 轴再次出现问题。 Y轴非常笨拙。我使用了以下代码
d <- read.table("Data1.txt", header = TRUE, sep = "\t", stringsAsFactors = NA)
df <- data.frame(d)
df <- df %>%
mutate(across(everything(), as.character)) %>%
pivot_longer(!ID, names_to="colid", values_to="val") %>%
separate_rows(val, sep="\t", convert=TRUE) %>%
mutate(ID=as_factor(ID)
然后我用 ggplot 绘制图形
ggplot(df, aes(x=ID, y=val, color=colid))+geom_point(size=1.5) +theme(axis.text.x = element_text(angle = 90))
输出是这样的。我尝试使用 ylim 和 scale_y_discrete() 调整 Y 轴,但没有任何效果。请提出一种纠正方法。
【问题讨论】:
-
听起来您需要重组数据。在二维散点图中,每个点都需要正好有 1 个 X 和 1 个 Y 值。如果您可以使用
dput(data)分享您的数据,我们可能会提供更多帮助。