在地球科学中,我们经常使用平行坐标图,其数值标准化为,例如球粒陨石陨石。
当你绘制稀土球粒陨石归一化图时,你绘制了所有的稀土元素(La,Ce,Pr,Nd,Pm,Sm,Eu,Gd,Tb,Dy,Ho,Er,Tm,Yb,Lu)。然而,由于Pm的半衰期很短,您不能对此元素进行分析。尽管如此,在REE球粒陨石图中,你仍然包括Pm,但没有数据。这条线还贯穿着它。这是为了让您可以很容易地比较您的模式和其他模式。下面是一个例子:谷歌搜索的第一张图片
我想制作一个类似的情节,但我想不出如何“跳过”下午在我的情节中留下一个空白的数据点,但仍然有一行贯穿的差距。
下面是一个示例:
Sample <- c("sample1", "sample2")
Pr <- c(1,5)
Nd <- c(2,4)
Pm <- c(NA,NA)
Sm <- c(3,3)
Eu <- c(4,2)
df <- data.frame(Sample, Pr, Nd, Pm, Sm, Eu)我现在想以以下方式绘制平行坐标图:
ggparcoord(df, columns = 2:6, showPoints=TRUE, scale="globalminmax")但是,由于我的数据文件中有_NA_s,所以它不能使用scale="globalminmax“。
你知道我怎么还能生成一个平行坐标图并保持在这个图中吗?
编辑:
一个有3个样本的例子,分为2组:
Sample <- c("sample1", "sample2","sample3")
grouping <- c("gr1","gr2","gr1")
Pr <- c(1,5,1)
Nd <- c(2,4,1)
Pm <- c(NA,NA,NA)
Sm <- c(3,3,1)
Eu <- c(4,2,1)
df <- data.frame(Sample, grouping, Pr, Nd, Pm, Sm, Eu)线条和数据点应根据“分组”着色,而线条只应连接单个样本。
发布于 2020-03-18 10:45:17
所以这不是普通的,而是基本的ggplot2,但我认为这大概是我解释你对情节描述的方式。
# Wide to long format
df2 <- reshape2::melt(df, id.vars = "Sample")
# Omit NAs
df2 <- df2[!is.na(df2$value),]
ggplot(df2, aes(variable, value, colour = Sample, group = Sample)) +
geom_point() +
geom_line() +
# Set limits to keep 'Pm' in axis
scale_x_discrete(limits = levels(df2$variable))

编辑:要加入分组,你可以。在本例中,我不知道您将对哪个变量进行着色,在下面的示例中,您可以随意交换colour和group美学。
df2 <- reshape2::melt(df, id.vars = c("Sample", "grouping"))
df2 <- df2[!is.na(df2$value),]
ggplot(df2, aes(variable, value, colour = grouping, group = Sample)) +
geom_point() +
geom_line() +
scale_x_discrete(limits = levels(df2$variable))https://stackoverflow.com/questions/60736339
复制相似问题