基于行数据的具有多个系列的 XY 散点图
XY scatter plot with multiple series based on row data
我有三列数据(横断面名称、距横断面起点的 x 距离、沿横断面的高程)并想快速制作一个 x-y 散点图,其中每个系列都基于横断面名称。我想比较横断面的斜率。
三列数据如下所示:
Transect, X-distance, Elevation
A, 0, 0
A, 1, 2
A, 1, 3
A, 2, 4
B, 0, 0
B, 1, 3
B, 2, 4
C, 0, 0
C, 1, 1
等具有大约 15 "letters/transects" 的数据价值。总共约 150-200 行。
另请注意,每个字母的点数是可变的(在 8 到 15 左右之间)并且它们不共享任何共同的 X 或 Y(在本例中为距离和海拔)
我 googled/searched "similar questions" 但 none 的答案似乎与我的数据设置方式相同。它们要么共享相同的 X,要么在相邻的列中具有系列。
有没有办法让 R 只识别第一列中的不同名称并使它们成为不同的系列?
谢谢
我相信这就是您想要完成的。您可以使用设置 color = Transect 在您的美学中按横断面分组。我添加 geom_line() 只是为了帮助可视化斜率。随意排除它。
library(tidyverse)
df <- tribble(
~Transect, ~X_distance, ~Elevation,
'A', 0, 0,
'A', 1, 2,
'A', 2, 3,
'A', 3, 4,
'B', 0, 0,
'B', 1, 3,
'B', 2, 4,
'C', 0, 0,
'C', 1, 1)
ggplot(df, aes(X_distance, Elevation, color = Transect)) +
geom_point() +
geom_line()
如果您想在保留所有样带的同时为某些组设置单独的颜色,请添加一个额外的列来指示分组。然后,您可以将组参数添加到您的 ggplot 美学中。
df <- tribble(
~Transect, ~X_distance, ~Elevation, ~grouping,
'A', 0, 0, 'AB',
'A', 1, 2, 'AB',
'A', 2, 3, 'AB',
'A', 3, 4, 'AB',
'B', 0, 0, 'AB',
'B', 1, 3, 'AB',
'B', 2, 4, 'AB',
'C', 0, 0, 'C',
'C', 1, 1, 'C')
ggplot(df, aes(X_distance, Elevation, group = Transect, color = grouping)) +
geom_point() +
geom_line()
我有三列数据(横断面名称、距横断面起点的 x 距离、沿横断面的高程)并想快速制作一个 x-y 散点图,其中每个系列都基于横断面名称。我想比较横断面的斜率。
三列数据如下所示:
Transect, X-distance, Elevation
A, 0, 0
A, 1, 2
A, 1, 3
A, 2, 4
B, 0, 0
B, 1, 3
B, 2, 4
C, 0, 0
C, 1, 1
等具有大约 15 "letters/transects" 的数据价值。总共约 150-200 行。
另请注意,每个字母的点数是可变的(在 8 到 15 左右之间)并且它们不共享任何共同的 X 或 Y(在本例中为距离和海拔)
我 googled/searched "similar questions" 但 none 的答案似乎与我的数据设置方式相同。它们要么共享相同的 X,要么在相邻的列中具有系列。
有没有办法让 R 只识别第一列中的不同名称并使它们成为不同的系列?
谢谢
我相信这就是您想要完成的。您可以使用设置 color = Transect 在您的美学中按横断面分组。我添加 geom_line() 只是为了帮助可视化斜率。随意排除它。
library(tidyverse)
df <- tribble(
~Transect, ~X_distance, ~Elevation,
'A', 0, 0,
'A', 1, 2,
'A', 2, 3,
'A', 3, 4,
'B', 0, 0,
'B', 1, 3,
'B', 2, 4,
'C', 0, 0,
'C', 1, 1)
ggplot(df, aes(X_distance, Elevation, color = Transect)) +
geom_point() +
geom_line()
如果您想在保留所有样带的同时为某些组设置单独的颜色,请添加一个额外的列来指示分组。然后,您可以将组参数添加到您的 ggplot 美学中。
df <- tribble(
~Transect, ~X_distance, ~Elevation, ~grouping,
'A', 0, 0, 'AB',
'A', 1, 2, 'AB',
'A', 2, 3, 'AB',
'A', 3, 4, 'AB',
'B', 0, 0, 'AB',
'B', 1, 3, 'AB',
'B', 2, 4, 'AB',
'C', 0, 0, 'C',
'C', 1, 1, 'C')
ggplot(df, aes(X_distance, Elevation, group = Transect, color = grouping)) +
geom_point() +
geom_line()