首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带缝隙的ggparcoord图

带缝隙的ggparcoord图
EN

Stack Overflow用户
提问于 2020-03-18 09:06:28
回答 1查看 370关注 0票数 1

在地球科学中,我们经常使用平行坐标图,其数值标准化为,例如球粒陨石陨石。

当你绘制稀土球粒陨石归一化图时,你绘制了所有的稀土元素(La,Ce,Pr,Nd,Pm,Sm,Eu,Gd,Tb,Dy,Ho,Er,Tm,Yb,Lu)。然而,由于Pm的半衰期很短,您不能对此元素进行分析。尽管如此,在REE球粒陨石图中,你仍然包括Pm,但没有数据。这条线还贯穿着它。这是为了让您可以很容易地比较您的模式和其他模式。下面是一个例子:谷歌搜索的第一张图片

我想制作一个类似的情节,但我想不出如何“跳过”下午在我的情节中留下一个空白的数据点,但仍然有一行贯穿的差距。

下面是一个示例:

代码语言:javascript
复制
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)

我现在想以以下方式绘制平行坐标图:

代码语言:javascript
复制
ggparcoord(df, columns = 2:6, showPoints=TRUE, scale="globalminmax")

但是,由于我的数据文件中有_NA_s,所以它不能使用scale="globalminmax“。

你知道我怎么还能生成一个平行坐标图并保持在这个图中吗?

编辑:

一个有3个样本的例子,分为2组:

代码语言:javascript
复制
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)

线条和数据点应根据“分组”着色,而线条只应连接单个样本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-18 10:45:17

所以这不是普通的,而是基本的ggplot2,但我认为这大概是我解释你对情节描述的方式。

代码语言:javascript
复制
# 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))

编辑:要加入分组,你可以。在本例中,我不知道您将对哪个变量进行着色,在下面的示例中,您可以随意交换colourgroup美学。

代码语言:javascript
复制
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))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60736339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档