- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 ggplot 和 facet 按天绘制密度图。我在不同的日子从不同的站点收集数据,并且根据它是哪一天/站点,我只想在相应的 facet 子图中绘制带有 geom_point 的那个站点。但是,我在条件语句上遇到了困难。
按照说明 here ,我尝试使用一个函数,但出现“ggplot2 不知道如何处理数字类数据”的错误。当我将其转换为数据框时,出现了不同的错误。
ff <- function(x){ifelse(2017$Station=="station1", c(-156.6315, 20.829), c(-156.53653, 20.77524))}
ggplot(2017, aes(x=Long, y=Lat) ) +
stat_density_2d(aes(fill = ..level..), geom = "polygon") +
scale_fill_distiller(palette="Spectral", direction=-1) +
geom_point(data=ff(2017), aes(), colour="black") +
facet_wrap(~Date)
在用facet分割数据时,是否有另一种方法可以向geom_point添加条件?
编辑以包含前两天的数据
Date Time Lat Long Station
1148 2017-01-26 08:41:09 20.70739 -156.4851 station1
1149 2017-01-26 08:42:53 20.73788 -156.4927 station1
1150 2017-01-26 08:43:27 20.71609 -156.4662 station1
1151 2017-01-26 08:45:18 20.68044 -156.4511 station1
1152 2017-01-26 08:48:28 20.71747 -156.5016 station1
1153 2017-01-26 08:49:13 20.72209 -156.5069 station1
1154 2017-01-26 08:52:21 20.73629 -156.5829 station1
1155 2017-01-26 08:56:50 20.78549 -156.6104 station1
1156 2017-01-26 09:01:05 20.72990 -156.5201 station1
1157 2017-01-26 09:03:24 20.76324 -156.5329 station1
1159 2017-01-26 09:30:10 20.77081 -156.5401 station1
1160 2017-01-26 09:31:06 20.75732 -156.5330 station1
1161 2017-01-26 09:35:09 20.71715 -156.5139 station1
1162 2017-01-26 09:36:34 20.68498 -156.5083 station1
1163 2017-01-26 09:37:30 20.71705 -156.5122 station1
1164 2017-01-26 09:39:34 20.67805 -156.5097 station1
1165 2017-01-26 09:43:28 20.69149 -156.5160 station1
1166 2017-01-26 09:50:18 20.77173 -156.6284 station1
1167 2017-01-26 09:53:48 20.77471 -156.5513 station1
1168 2017-01-26 10:02:00 20.76694 -156.5412 station1
1171 2017-01-26 10:43:39 20.76868 -156.5390 station1
1172 2017-01-26 10:46:20 20.71324 -156.5381 station1
1173 2017-01-26 10:47:26 20.75922 -156.5476 station1
1174 2017-01-26 10:49:47 20.61556 -156.5112 station1
1175 2017-01-26 10:50:15 20.63195 -156.5173 station1
1176 2017-01-26 10:52:47 20.74407 -156.4773 station1
1177 2017-01-26 10:57:54 20.74948 -156.5757 station1
1178 2017-01-26 11:02:19 20.77410 -156.5469 station1
1179 2017-01-26 11:35:12 20.77013 -156.5426 station1
1180 2017-01-26 11:35:34 20.76996 -156.5422 station1
1181 2017-01-26 11:37:03 20.76977 -156.5417 station1
1182 2017-01-26 11:43:38 20.74740 -156.5336 station1
1183 2017-01-26 11:44:15 20.74798 -156.5341 station1
1184 2017-01-26 11:45:20 20.76899 -156.5403 station1
1185 2017-01-26 11:46:20 20.76897 -156.5399 station1
1186 2017-01-26 11:48:10 20.75503 -156.5224 station1
1187 2017-01-26 11:49:41 20.75343 -156.5600 station1
1188 2017-01-26 11:50:36 20.77107 -156.5159 station1
1189 2017-01-26 11:52:53 20.77104 -156.5178 station1
1190 2017-01-26 11:53:59 20.76801 -156.5179 station1
1191 2017-01-26 11:54:49 20.76747 -156.5177 station1
1192 2017-01-26 11:57:29 20.76448 -156.5336 station1
1193 2017-01-26 11:58:07 20.76372 -156.5328 station1
1194 2017-01-26 12:01:03 20.74703 -156.5307 station1
1195 2017-01-26 12:04:21 20.76375 -156.5242 station1
1196 2017-01-26 12:31:03 20.77088 -156.5249 station1
1197 2017-01-26 12:31:26 20.77072 -156.5249 station1
1198 2017-01-26 12:32:53 20.75596 -156.5108 station1
1199 2017-01-26 12:43:20 20.75622 -156.5473 station1
1200 2017-01-26 12:56:23 20.76592 -156.6178 station1
1201 2017-01-26 12:58:28 20.75378 -156.5251 station1
1 2017-01-27 09:04:43 20.77168 -156.5855 station2
3 2017-01-27 09:07:32 20.78687 -156.5941 station2
4 2017-01-27 09:08:24 20.79017 -156.5891 station2
5 2017-01-27 09:15:49 20.82028 -156.6429 station2
6 2017-01-27 09:20:15 20.81687 -156.6544 station2
7 2017-01-27 09:25:44 20.76804 -156.7463 station2
8 2017-01-27 10:06:09 20.79725 -156.6469 station2
9 2017-01-27 10:09:41 20.81033 -156.6519 station2
10 2017-01-27 10:17:02 20.80004 -156.6318 station2
11 2017-01-27 10:19:59 20.79536 -156.7561 station2
12 2017-01-27 10:20:27 20.81162 -156.6923 station2
13 2017-01-27 10:22:28 20.80885 -156.7049 station2
14 2017-01-27 10:23:37 20.80862 -156.7241 station2
15 2017-01-27 10:25:44 20.81664 -156.6949 station2
16 2017-01-27 10:29:21 20.89242 -156.7773 station2
17 2017-01-27 11:04:07 20.79683 -156.6205 station2
18 2017-01-27 11:07:11 20.78653 -156.6084 station2
19 2017-01-27 11:08:54 20.79489 -156.6208 station2
20 2017-01-27 11:11:03 20.68624 -156.5848 station2
21 2017-01-27 11:12:26 20.78802 -156.5954 station2
22 2017-01-27 11:14:59 20.78673 -156.6850 station2
23 2017-01-27 11:22:00 20.83757 -156.8072 station2
24 2017-01-27 11:26:35 20.77718 -156.6970 station2
25 2017-01-27 12:04:06 20.77420 -156.6628 station2
26 2017-01-27 12:06:35 20.79871 -156.6504 station2
27 2017-01-27 12:06:59 20.79895 -156.6508 station2
28 2017-01-27 12:09:30 20.79087 -156.6102 station2
29 2017-01-27 12:12:53 20.82244 -156.7056 station2
30 2017-01-27 12:13:08 20.82628 -156.6616 station2
31 2017-01-27 12:18:52 20.83721 -156.7394 station2
32 2017-01-27 12:26:18 20.79902 -156.6977 station2
33 2017-01-27 13:03:39 20.79930 -156.6084 station2
34 2017-01-27 13:07:25 20.78338 -156.6148 station2
35 2017-01-27 13:09:15 20.75798 -156.5954 station2
36 2017-01-27 13:18:24 20.77019 -156.6830 station2
37 2017-01-27 13:20:42 20.81733 -156.6440 station2
38 2017-01-27 14:08:34 20.79685 -156.5975 station2
39 2017-01-27 14:13:03 20.78625 -156.5941 station2
40 2017-01-27 14:14:45 20.76980 -156.6095 station2
41 2017-01-27 14:18:04 20.81734 -156.6634 station2
42 2017-01-27 14:21:12 20.81628 -156.6588 station2
43 2017-01-27 14:25:42 20.78261 -156.6199 station2
44 2017-01-27 14:28:25 20.81209 -156.7029 station2
45 2017-01-27 14:29:10 20.80157 -156.7335 station2
46 2017-01-27 14:29:10 20.80157 -156.7335 station2
并且根据在特定日期使用站 1 还是站 2,我只想绘制该位置,而不是两个。
最佳答案
您可以创建一个新的数据框 pts
以根据所需条件存储 Lat
和 Long
值,然后将其添加到 ggplot
稍后
library(tidyverse)
df2017 <- df2017 %>%
mutate(Date = as.Date(Date))
pts <- df2017 %>%
distinct(Date, .keep_all = TRUE) %>%
select(Date, Station) %>%
mutate(Long = if_else(Station == "station1", -156.53653, -156.6315),
Lat = if_else(Station == "station1", 20.77524, 20.829))
ggplot(df2017, aes(x=Long, y=Lat)) +
stat_density_2d(aes(fill=..level..), geom="polygon") +
scale_fill_distiller(palette="Spectral", direction=-1) +
geom_point(data=pts, aes(x=Long, y=Lat), colour="black",
shape=17, size=5) +
facet_wrap(~ Date)
df2017 <- read.table(text = "Nr Date Time Lat Long Station
1148 2017-01-26 08:41:09 20.70739 -156.4851 station1
1149 2017-01-26 08:42:53 20.73788 -156.4927 station1
1150 2017-01-26 08:43:27 20.71609 -156.4662 station1
1151 2017-01-26 08:45:18 20.68044 -156.4511 station1
1152 2017-01-26 08:48:28 20.71747 -156.5016 station1
1153 2017-01-26 08:49:13 20.72209 -156.5069 station1
1154 2017-01-26 08:52:21 20.73629 -156.5829 station1
1155 2017-01-26 08:56:50 20.78549 -156.6104 station1
1156 2017-01-26 09:01:05 20.72990 -156.5201 station1
1157 2017-01-26 09:03:24 20.76324 -156.5329 station1
1159 2017-01-26 09:30:10 20.77081 -156.5401 station1
1160 2017-01-26 09:31:06 20.75732 -156.5330 station1
1161 2017-01-26 09:35:09 20.71715 -156.5139 station1
1162 2017-01-26 09:36:34 20.68498 -156.5083 station1
1163 2017-01-26 09:37:30 20.71705 -156.5122 station1
1164 2017-01-26 09:39:34 20.67805 -156.5097 station1
1165 2017-01-26 09:43:28 20.69149 -156.5160 station1
1166 2017-01-26 09:50:18 20.77173 -156.6284 station1
1167 2017-01-26 09:53:48 20.77471 -156.5513 station1
1168 2017-01-26 10:02:00 20.76694 -156.5412 station1
1171 2017-01-26 10:43:39 20.76868 -156.5390 station1
1172 2017-01-26 10:46:20 20.71324 -156.5381 station1
1173 2017-01-26 10:47:26 20.75922 -156.5476 station1
1174 2017-01-26 10:49:47 20.61556 -156.5112 station1
1175 2017-01-26 10:50:15 20.63195 -156.5173 station1
1176 2017-01-26 10:52:47 20.74407 -156.4773 station1
1177 2017-01-26 10:57:54 20.74948 -156.5757 station1
1178 2017-01-26 11:02:19 20.77410 -156.5469 station1
1179 2017-01-26 11:35:12 20.77013 -156.5426 station1
1180 2017-01-26 11:35:34 20.76996 -156.5422 station1
1181 2017-01-26 11:37:03 20.76977 -156.5417 station1
1182 2017-01-26 11:43:38 20.74740 -156.5336 station1
1183 2017-01-26 11:44:15 20.74798 -156.5341 station1
1184 2017-01-26 11:45:20 20.76899 -156.5403 station1
1185 2017-01-26 11:46:20 20.76897 -156.5399 station1
1186 2017-01-26 11:48:10 20.75503 -156.5224 station1
1187 2017-01-26 11:49:41 20.75343 -156.5600 station1
1188 2017-01-26 11:50:36 20.77107 -156.5159 station1
1189 2017-01-26 11:52:53 20.77104 -156.5178 station1
1190 2017-01-26 11:53:59 20.76801 -156.5179 station1
1191 2017-01-26 11:54:49 20.76747 -156.5177 station1
1192 2017-01-26 11:57:29 20.76448 -156.5336 station1
1193 2017-01-26 11:58:07 20.76372 -156.5328 station1
1194 2017-01-26 12:01:03 20.74703 -156.5307 station1
1195 2017-01-26 12:04:21 20.76375 -156.5242 station1
1196 2017-01-26 12:31:03 20.77088 -156.5249 station1
1197 2017-01-26 12:31:26 20.77072 -156.5249 station1
1198 2017-01-26 12:32:53 20.75596 -156.5108 station1
1199 2017-01-26 12:43:20 20.75622 -156.5473 station1
1200 2017-01-26 12:56:23 20.76592 -156.6178 station1
1201 2017-01-26 12:58:28 20.75378 -156.5251 station1
1 2017-01-27 09:04:43 20.77168 -156.5855 station2
3 2017-01-27 09:07:32 20.78687 -156.5941 station2
4 2017-01-27 09:08:24 20.79017 -156.5891 station2
5 2017-01-27 09:15:49 20.82028 -156.6429 station2
6 2017-01-27 09:20:15 20.81687 -156.6544 station2
7 2017-01-27 09:25:44 20.76804 -156.7463 station2
8 2017-01-27 10:06:09 20.79725 -156.6469 station2
9 2017-01-27 10:09:41 20.81033 -156.6519 station2
10 2017-01-27 10:17:02 20.80004 -156.6318 station2
11 2017-01-27 10:19:59 20.79536 -156.7561 station2
12 2017-01-27 10:20:27 20.81162 -156.6923 station2
13 2017-01-27 10:22:28 20.80885 -156.7049 station2
14 2017-01-27 10:23:37 20.80862 -156.7241 station2
15 2017-01-27 10:25:44 20.81664 -156.6949 station2
16 2017-01-27 10:29:21 20.89242 -156.7773 station2
17 2017-01-27 11:04:07 20.79683 -156.6205 station2
18 2017-01-27 11:07:11 20.78653 -156.6084 station2
19 2017-01-27 11:08:54 20.79489 -156.6208 station2
20 2017-01-27 11:11:03 20.68624 -156.5848 station2
21 2017-01-27 11:12:26 20.78802 -156.5954 station2
22 2017-01-27 11:14:59 20.78673 -156.6850 station2
23 2017-01-27 11:22:00 20.83757 -156.8072 station2
24 2017-01-27 11:26:35 20.77718 -156.6970 station2
25 2017-01-27 12:04:06 20.77420 -156.6628 station2
26 2017-01-27 12:06:35 20.79871 -156.6504 station2
27 2017-01-27 12:06:59 20.79895 -156.6508 station2
28 2017-01-27 12:09:30 20.79087 -156.6102 station2
29 2017-01-27 12:12:53 20.82244 -156.7056 station2
30 2017-01-27 12:13:08 20.82628 -156.6616 station2
31 2017-01-27 12:18:52 20.83721 -156.7394 station2
32 2017-01-27 12:26:18 20.79902 -156.6977 station2
33 2017-01-27 13:03:39 20.79930 -156.6084 station2
34 2017-01-27 13:07:25 20.78338 -156.6148 station2
35 2017-01-27 13:09:15 20.75798 -156.5954 station2
36 2017-01-27 13:18:24 20.77019 -156.6830 station2
37 2017-01-27 13:20:42 20.81733 -156.6440 station2
38 2017-01-27 14:08:34 20.79685 -156.5975 station2
39 2017-01-27 14:13:03 20.78625 -156.5941 station2
40 2017-01-27 14:14:45 20.76980 -156.6095 station2
41 2017-01-27 14:18:04 20.81734 -156.6634 station2
42 2017-01-27 14:21:12 20.81628 -156.6588 station2
43 2017-01-27 14:25:42 20.78261 -156.6199 station2
44 2017-01-27 14:28:25 20.81209 -156.7029 station2
45 2017-01-27 14:29:10 20.80157 -156.7335 station2
46 2017-01-27 14:29:10 20.80157 -156.7335 station2",
header = TRUE, stringsAsFactors = FALSE)
由 reprex package 创建于 2018-04-22 (v0.2.0).
关于r - ggplot 方面和条件 geom_point,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49963998/
我有以下ggplot2代码,我想使用基本图形而不是ggplot2来生成类似的输出-但我似乎找不到找到一种方法来区分正常绘图中的多个“属性”。我错过了什么吗? Ggplot2: ggplot(data.
我不确定为什么我的数据点都没有显示在 map 上。 Store_ID visits CRIND_CC ISCC EBITDAR top_bottom Latitude Longitud
我用 geom_point 做了一个图来自 ggplot2 (只是显示其中的一部分)。颜色代表 3 个类别。黑条是平均的(与问题无关)。 数据结构如下(存储在列表中):
这是我到目前为止所得到的: df<-data.frame(x=(1:100), y=rnorm(100), Mode=c(rep('Walk
我得到了一些数据(名为 result.df),如下所示: orgaName abundance pVal score
这个问题在这里已经有了答案: How to use an image as a point in ggplot? (3 个回答) 3年前关闭。 是否可以在 R ggplot 中将自定义图像(比如 pn
假设我在0,1附近有很多值,在10附近有一些值,我已经将它们映射为: geom_point(aes(size=value)) ..这给了我这样的图像: 很难看到非常小的要点。所以我想知道是否可以为点大
我正在使用的数据来自下面列出的互联网来源 nba 24,as.character(Name),'')),hjust=0,vjust=0) 关于r - geom_point 中的标签点,我们在Stack
嗯,也许是温度的原因,或者我再次没有看到明显的...... 这是我的代码: library(ggplot2) p <- ggplot() p <- p + geom_point(aes(x = 1,
我想要 将“能量级别”颜色类别分配给较高级别的红色色调,以及较低级别的绿色色调颜色。 按以下顺序对“功能级别”类别中每个点的大小进行排序:low_TL、inter_TL、Myrmecophage、me
我的数据由一组带半径的圆组成。 x、y 和半径的比例相同。 x y radius 0.1 0.8 0.1 0.4 0.4 0.2 0.6 0.2 0.9 0.3 0.6 0
嗯,也许是温度的原因,或者我再次没有看到明显的...... 这是我的代码: library(ggplot2) p <- ggplot() p <- p + geom_point(aes(x = 1,
我想要 将“能量级别”颜色类别分配给较高级别的红色色调,以及较低级别的绿色色调颜色。 按以下顺序对“功能级别”类别中每个点的大小进行排序:low_TL、inter_TL、Myrmecophage、me
我正在研究钻石数据集。我试图绘制克拉 x 价格,颜色代表清晰度。我得到了一个漂亮的调色板,但不是我想要的。它看起来更像是一个渐变,我想要彩虹,每个清晰度都有独特的颜色(我认为对于如此密集的数据图更容易
我有一个 ggplot,其中一些点与其他一些点重叠。我想知道是否有办法将点放在另一个之上。就我而言,最多有 2 个点重叠。 x=c(1,1,2,3,4,4) y=c('a1','a1','a2','a
您可以在下图中看到“颜色”图例未正确运行。我期待一个彩色圆圈(例如,一个颜色应该是一个绿色圆圈),但是背景是绿色的,您可以看到似乎是某种类型边界框的黑色叠加层。 这是我的代码: library(ggm
我正在使用点大小可视化变量。 我的问题是第一个(最小)点大小(在本例中为“70”)明显(不成比例地)比其余点小。 (见CP图例) 这是我正在使用的代码: ggplot(data=testdata, a
我想在两个维度上绘制饼图,以根据其复合“组”显示每个点的组成。 到目前为止,我正在使用标签排斥来标记最高分,但效果仍然不是很好。我环顾四周,但没有看到我要找的东西。 ggplot(data=aggtm
我用 geom_point 绘制了数据,数据点的大小由列中的值设置。我想增加这些点的整体大小(并保持相对大小)。我试图将所有值乘以一个数字,但点大小保持不变。我怎样才能增加整体点数? 最佳答案 修改
我正在尝试使用 geom_point() 在 ggplot2 中绘制一个图,该图具有映射到 x、y、颜色和形状的变量,并避开颜色而不是形状的位置。 x=tibble(Color=c(rep('A',1
我是一名优秀的程序员,十分优秀!