- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我真的很纠结ggplot2中geom_path的大小和颜色参数。让我首先与您分享我的数据和代码(都很短),然后展示我得到的图,然后解释我想要获得什么图。我现在对这个输出真的很困惑:
# the data - x and y coordinates to plot
x_loc = c(39.29376, 39.44371, 39.59578, 39.7439, 39.88808, 40.18122,
40.92207, 41.91831, 42.09564, 42.27909, 81.77751, 81.79779, 81.81031,
81.81723, 81.81997, 81.81846)
y_loc = c(21.02953, 20.91538, 20.80633, 20.69479, 20.58158, 20.37095,
19.87498, 19.38372, 19.31743, 19.26005, 35.55103, 35.64354, 35.7384,
35.82535, 35.9067, 35.98656)
# creating the factor with which to base size and color off of
end = length(x_loc)
distances = sqrt(((x_loc[2:end] - x_loc[1:(end-1)]) ^ 2) + ((y_loc[2:end] - y_loc[1:(end-1)]) ^ 2))
my_colors = c('black', ifelse(distances > 0.5, 'red', 'black'))
# and now for my plot
ggplot() +
geom_point(aes(x = x_loc, y = y_loc)) +
geom_path(aes(x = x_loc, y = y_loc, col = as.factor(my_colors), size = as.factor(my_colors)),
alpha = 1) +
scale_color_manual(values = c("black", "red")) +
scale_size_manual(values = c(1.5, 0.45))
如果您还没有运行我的代码,这是我得到的输出图:
这是我得到的,但这不是我想要的。我的目标是用连接点的线绘制坐标点,因此我对 geom_point() 和 geom_path() 使用单独的图层。但是,对于在距离向量中测量的很长的线(连续坐标之间的距离很长),我希望线条颜色为红色并且线条很细。对于短距离,我希望线条颜色为黑色并且线条更粗。
我上面的情节的问题是,长黑线不应该在那里。还有一条不应出现的附加黑线绘图(另一条红线所在的位置)。
(看来,通过将坐标分成组(按大小和颜色分组,均使用 my_colors 向量设置),geom_path 为两个独立的点组创建两个单独的路径,每个组都有各自的大小并且颜色正确。但是,这会导致错误的绘图)
如果我的解释不正确,请告诉我。我真的很想以某种方式弄清楚这件事的真相。我现在将手动创建一个与我想要的类似的绘图,并将很快对其进行编辑!
谢谢!
编辑:这是我希望得到的:
这是通过作弊创建的(作弊是指我可以在 16 个坐标上逃脱,但不能在 100K 上逃脱),使用以下 5 个 geom_path 层:
ggplot() + geom_point(aes(x = x_loc, y = y_loc)) +
geom_path(aes(x = x_loc[1:6], y = y_loc[1:6]),
color = 'black',
size = 1.5,
alpha = 1) +
geom_path(aes(x = x_loc[6:8], y = y_loc[6:8]),
color = 'red',
size = 0.45,
alpha = 1) +
geom_path(aes(x = x_loc[8:10], y = y_loc[8:10]),
color = 'black',
size = 1.5,
alpha = 1) +
geom_path(aes(x = x_loc[10:11], y = y_loc[10:11]),
color = 'red',
size = 0.45,
alpha = 1) +
geom_path(aes(x = x_loc[11:16], y = y_loc[11:16]),
color = 'black',
size = 1.5,
alpha = 1)
最佳答案
我想我自己解决了这个问题 - 对于任何从事此工作的人来说,都与分组有关。我很快就会用解决方案编辑它!
编辑:
ggplot() +
geom_point(aes(x = x_loc, y = y_loc)) +
geom_path(aes(x = x_loc, y = y_loc, col = my_colors, size = my_colors, group = my_group),
alpha = 1) +
scale_color_manual(values = c("black", "red")) +
scale_size_manual(values = c(1.5, 0.45))
这样就完成了工作!,在分割颜色和尺寸之前需要将所有内容分组到同一组中
关于r - 在R中,使用具有不同大小和颜色参数的geom_path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42743785/
我注意到 ggplot2 中的 geom_path() 有一个奇怪的行为。我不确定是我做错了什么还是错误。 这是我的数据集: x <- abs(rnorm(10)) y <- abs(rnorm(10
我正在尝试在 ggplot 中制作折线图,但我很难诊断我的错误。我已经通读了几乎所有类似的线程,但一直无法解决我的问题。 我正在尝试绘制日本的 CPI。我从 FRED 在线下载了数据。 我的 str
以下是一个可重现的示例,其中包含所需的输出。 # Example library(tidyverse) df % mutate(y = y*100) # human eye draws the rou
我有 12 个变量, M1, M2, ..., M12 ,为此我计算了某个统计量 x . df = data.frame(model = factor(paste("M", 1:28, sep =
我正在处理空间数据。我想创建一个移动路径的动画,旧数据逐渐消失。我想出了如何用点创建淡出效果,但似乎没有内置支持 geom_path ( Error: path layers not currentl
我正在尝试使用 ggplot、geom_line 和 facet_wrap 创建多线图。图表已成功创建并显示,但是以下消息也随图表一起显示: geom_path: Each group consist
我喜欢用 ggmap 绘制街道在特定区域。我通过立交桥 api 从 osm 获取数据。它适用于大多数街道,geom_path .然而,有些街道是乱七八糟的。任何提示表示赞赏。 请看 http://ov
我正在使用 ggplot2 创建海洋的垂直剖面。我的原始数据集创建了“尖峰”以形成平滑的曲线。我希望使用 geom_smooth()。我还希望这条线根据观察的顺序(而不是根据 x 轴)前进。当我使用
我正在编写代码来创建多个等高线数据集。我的步骤是: 用生成原始数据 T% select(fx, fy) %>% mutate(row = row_number()) %>% g
我有一个 shapefile(多边形),我只想绘制其中的一部分,因此使用 ggplot 的 geom_path 我用 xlim 和 ylim 限制了可见路径。形状文件是 available here
这个问题是来自以前回答的问题的新问题,位于:Plot mean of data within same ggplot 正如您在下面的 .jpg 图片中看到的那样——红线 geom_path 被挤压在一
我正在使用 ggplot 的 geom_path() 绘制一系列财务预测。 ggplot(df,aes(year,pot,color=iRate)) + geom_path() + theme(le
我想绘制带有 SNP 标记的核型图。 它与函数 segments 一起使用,但我想使用 ggplot2 包来显示优雅的图形。 ggbio: 我用函数 layout_karyogram 检查了 ggbi
我打算创建一个箱线图并突出显示成对比较的显着性水平。这已在 previous post. 中处理 当我对我的数据集做同样的事情时,我收到以下错误: "Incompatible lengths for
我试图绘制一个物体(假设它是一个风向标)随时间变化的角度。我想将其绘制在极坐标系上,并通过路径连接时间点,显示角度如何随时间变化。我只是有一个数据框,其中一列是角度(以度为单位)(数字),然后是记录角
我的情节由三个圆圈和两个点组成。我希望完成两个看似简单但事实证明很难的任务。我希望 1) 创建两个图例 & 2) 改变家庭点的形状、大小和颜色。使用以下函数生成的圆... circleFun %
我正在同一个 ggplot 中绘制 geom_path 对象和 geom_text 对象,但遇到以下问题: #load the data frames df1 <- data.frame(x=c(32
数据:https://drive.google.com/file/d/0B20HmmYd0lsFSmZhYUk3bkRTNFk/edit?usp=sharing plot.df<- read.tabl
使用此数据框(“df”): year pollution 1 1999 346.82000 2 2002 134.30882 3 2005 130.43038 4 2008 88.27546 我尝试
我是一名优秀的程序员,十分优秀!