R - 具有宽数据的格子水平图轴调整
R - Lattice levelplot axis adjustments with wide data
我正在尝试使用 levelplot 在热图中绘制一些气溶胶粒子数据。我目前正在使用如下所示的广泛数据集:
df <- read.delim("location/data.txt", sep = ",")
rownames(df) <- APSDIAM
colnames(df) <- LocalDateTime
df
2021-03-03 15:19:50 2021-03-03 15:24:50 2021-03-03 15:29:50 2021-03-03 15:34:50
<0.523 "13.5077" "9.68141" "3.87432" "1.56717"
0.542 "9.60621" "8.17904" "3.33433" "1.51037"
0.583 "9.33741" "8.45423" "3.68633" "1.59357"
0.626 "8.35823" "8.60143" "3.74393" "1.54237"
0.673 "7.41105" "8.30703" "3.57113" "1.59997"
0.723 "6.65587" "7.88464" "3.50073" "1.62557"
0.777 "6.16308" "7.43025" "3.09754" "1.37597"
0.835 "4.7935" "6.68147" "2.82234" "1.39517"
0.898 "4.39671" "5.91988" "2.59195" "1.10718"
0.965 "3.55833" "4.8895" "2.43195" "0.972781"
1.037 "2.82234" "4.15992" "1.73437" "0.665587"
1.114 "2.43835" "3.66713" "1.49757" "0.639987"
1.197 "1.91356" "2.93114" "1.07518" "0.454391"
1.286 "1.47837" "2.27835" "1.09438" "0.447991"
1.382 "1.38237" "1.93916" "0.940781" "0.460791"
1.486 "1.26717" "1.63197" "0.710386" "0.339193"
1.596 "0.99838" "1.53597" "0.620788" "0.211196"
1.715 "0.844783" "1.48477" "0.435191" "0.223996"
1.843 "0.735985" "1.05598" "0.49279" "0.191996"
1.981 "0.601588" "0.825583" "0.441591" "0.211196"
2.129 "0.47999" "0.639987" "0.294394" "0.166397"
2.288 "0.390392" "0.563189" "0.223996" "0.121598"
2.458 "0.358393" "0.531189" "0.204796" "0.0319994"
2.642 "0.268795" "0.230395" "0.140797" "0.0447991"
2.839 "0.159997" "0.300794" "0.159997" "0.0191996"
3.051 "0.198396" "0.198396" "0.0767985" "0.0383992"
3.278 "0.140797" "0.147197" "0.0383992" "0.051199"
3.523 "0.0959981" "0.121598" "0.0639987" "0.0191996"
3.786 "0.0703986" "0.0191996" "0.0191996" "0.0191996"
4.068 "0.0319994" "0.0639987" "0.0447991" "0.0127997"
4.371 "0.0447991" "0.0383992" "0.00639987" "0.00639987"
4.698 "0.0127997" "0.0127997" "0.0191996" "0.0191996"
5.048 "0.0319994" "0" "0.0127997" "0.0127997"
5.425 "0.00639987" "0.0127997" "0.00639987" "0"
5.829 "0" "0.00639987" "0" "0"
6.264 "0.00639987" "0" "0" "0"
6.732 "0.00639987" "0" "0" "0"
7.234 "0" "0" "0" "0"
7.774 "0" "0" "0" "0"
8.354 "0" "0" "0" "0"
8.977 "0" "0" "0" "0"
9.647 "0" "0" "0" "0"
10.37 "0" "0" "0" "0"
11.14 "0" "0" "0" "0"
11.97 "0" "0" "0" "0"
12.86 "0" "0" "0" "0"
13.82 "0" "0" "0" "0"
14.86 "0" "0" "0" "0"
15.96 "0" "0" "0" "0"
17.15 "0" "0" "0" "0"
18.43 "0" "0" "0" "0"
19.81 "0" "0" "0" "0"
2021-03-03 15:39:50 2021-03-03 16:09:50 2021-03-03 16:14:50 2021-03-03 16:19:50
<0.523 "0.810384" "0.352793" "0.332793" "0.347993"
0.542 "0.780784" "0.313594" "0.275194" "0.351993"
0.583 "0.780784" "0.217596" "0.319994" "0.281594"
0.626 "0.812784" "0.249595" "0.217596" "0.262395"
0.673 "0.844783" "0.211196" "0.262395" "0.236795"
0.723 "1.03038" "0.115198" "0.185596" "0.217596"
0.777 "0.857583" "0.179196" "0.191996" "0.140797"
0.835 "0.870383" "0.172797" "0.159997" "0.140797"
0.898 "0.684786" "0.0639987" "0.102398" "0.0703986"
0.965 "0.563189" "0.102398" "0.0959981" "0.0767985"
1.037 "0.435191" "0.0831983" "0.108798" "0.0767985"
1.114 "0.396792" "0.0703986" "0.051199" "0.0255995"
1.197 "0.319994" "0.051199" "0.0319994" "0.0383992"
1.286 "0.319994" "0.0191996" "0.0191996" "0.0191996"
1.382 "0.249595" "0.00639987" "0.00639987" "0.0255995"
1.486 "0.198396" "0.0255995" "0.0127997" "0.0191996"
1.596 "0.159997" "0.0255995" "0.00639987" "0.0255995"
1.715 "0.121598" "0.0127997" "0.0127997" "0.00639987"
1.843 "0.0959981" "0.0127997" "0.0255995" "0"
1.981 "0.115198" "0.0127997" "0" "0.0127997"
2.129 "0.051199" "0.0191996" "0.0319994" "0"
2.288 "0.0575988" "0.00639987" "0.0127997" "0"
2.458 "0.0127997" "0" "0.0127997" "0"
2.642 "0.0383992" "0.00639987" "0.0127997" "0"
2.839 "0.0639987" "0" "0.00639987" "0"
3.051 "0.0191996" "0.00639987" "0" "0.00639987"
3.278 "0.0191996" "0" "0" "0"
3.523 "0.0127997" "0.00639987" "0" "0"
3.786 "0.0191996" "0.00639987" "0" "0"
4.068 "0.00639987" "0" "0" "0"
4.371 "0" "0" "0" "0"
4.698 "0" "0" "0" "0"
5.048 "0" "0" "0" "0"
5.425 "0" "0" "0" "0"
5.829 "0" "0" "0" "0"
6.264 "0" "0" "0" "0"
6.732 "0" "0" "0" "0"
7.234 "0" "0" "0" "0"
7.774 "0" "0" "0" "0"
8.354 "0" "0" "0" "0"
8.977 "0" "0" "0" "0"
9.647 "0" "0" "0" "0"
10.37 "0" "0" "0" "0"
11.14 "0" "0" "0" "0"
11.97 "0" "0" "0" "0"
12.86 "0" "0" "0" "0"
13.82 "0" "0" "0" "0"
14.86 "0" "0" "0" "0"
15.96 "0" "0" "0" "0"
17.15 "0" "0" "0" "0"
18.43 "0" "0" "0" "0"
19.81 "0" "0" "0" "0"
2021-03-03 16:24:50 2021-03-03 16:29:50 2021-03-03 16:59:50 2021-03-03 17:04:50
<0.523 "0.51199" "0.587188" "0.198396" "0.0743985"
0.542 "0.49919" "0.51839" "0.179196" "0.0895982"
0.583 "0.454391" "0.50559" "0.211196" "0.108798"
0.626 "0.287994" "0.390392" "0.300794" "0.0767985"
0.673 "0.294394" "0.383992" "0.172797" "0.127997"
0.723 "0.230395" "0.364793" "0.204796" "0.102398"
0.777 "0.179196" "0.249595" "0.191996" "0.140797"
0.835 "0.140797" "0.185596" "0.198396" "0.134397"
0.898 "0.108798" "0.140797" "0.134397" "0.102398"
0.965 "0.0575988" "0.108798" "0.179196" "0.0767985"
1.037 "0.0831983" "0.0959981" "0.140797" "0.0639987"
1.114 "0.051199" "0.0575988" "0.0959981" "0.0447991"
1.197 "0.0319994" "0.0639987" "0.0767985" "0.051199"
1.286 "0.0255995" "0.0319994" "0.0447991" "0.0703986"
1.382 "0.051199" "0.0319994" "0.0703986" "0.0319994"
1.486 "0" "0.0127997" "0.0319994" "0.0447991"
1.596 "0.0191996" "0.0127997" "0.0127997" "0.0383992"
1.715 "0.0255995" "0.00639987" "0.0383992" "0.0319994"
1.843 "0.0191996" "0.00639987" "0.051199" "0"
1.981 "0.0127997" "0.0191996" "0.0127997" "0.0191996"
2.129 "0" "0.0191996" "0.0127997" "0"
2.288 "0.00639987" "0" "0.00639987" "0.00639987"
2.458 "0.00639987" "0" "0.0255995" "0.0127997"
2.642 "0.0127997" "0.00639987" "0" "0"
2.839 "0" "0" "0" "0"
3.051 "0" "0" "0.0127997" "0"
3.278 "0" "0" "0" "0"
3.523 "0" "0" "0" "0"
3.786 "0" "0" "0" "0"
4.068 "0" "0" "0" "0"
4.371 "0" "0" "0" "0"
4.698 "0" "0" "0" "0"
5.048 "0" "0" "0" "0"
5.425 "0" "0" "0" "0"
5.829 "0" "0" "0" "0"
6.264 "0" "0" "0" "0"
6.732 "0" "0" "0" "0"
7.234 "0" "0" "0" "0"
7.774 "0" "0" "0" "0"
8.354 "0" "0" "0" "0"
8.977 "0" "0" "0" "0"
9.647 "0" "0" "0" "0"
10.37 "0" "0" "0" "0"
11.14 "0" "0" "0" "0"
11.97 "0" "0" "0" "0"
12.86 "0" "0" "0" "0"
13.82 "0" "0" "0" "0"
14.86 "0" "0" "0" "0"
15.96 "0" "0" "0" "0"
17.15 "0" "0" "0" "0"
18.43 "0" "0" "0" "0"
19.81 "0" "0" "0" "0"
2021-03-03 17:09:50 2021-03-03 17:14:50 2021-03-03 17:19:50
<0.523 "0.050399" "0.050399" "0.0543989"
0.542 "0.051199" "0.0639987" "0.0447991"
0.583 "0.0959981" "0.0831983" "0.0703986"
0.626 "0.102398" "0.0831983" "0.0639987"
0.673 "0.0639987" "0.0767985" "0.108798"
0.723 "0.115198" "0.0831983" "0.127997"
0.777 "0.0959981" "0.0831983" "0.108798"
0.835 "0.108798" "0.0895982" "0.0639987"
0.898 "0.0639987" "0.0575988" "0.0703986"
0.965 "0.0255995" "0.0319994" "0.0767985"
1.037 "0.0447991" "0.0127997" "0.0383992"
1.114 "0.0319994" "0.0383992" "0.0191996"
1.197 "0.0447991" "0.0383992" "0.0639987"
1.286 "0.0127997" "0.0127997" "0.00639987"
1.382 "0.0127997" "0.0127997" "0.0383992"
1.486 "0.0127997" "0.0127997" "0.0191996"
1.596 "0.00639987" "0.0191996" "0"
1.715 "0.0127997" "0.0127997" "0.0191996"
1.843 "0.0191996" "0.00639987" "0.00639987"
1.981 "0.0191996" "0.0191996" "0.0191996"
2.129 "0.0127997" "0" "0.0191996"
2.288 "0.00639987" "0.0191996" "0.00639987"
2.458 "0.00639987" "0" "0.0127997"
2.642 "0.00639987" "0.0127997" "0"
2.839 "0" "0" "0"
3.051 "0" "0" "0.00639987"
3.278 "0" "0" "0.00639987"
3.523 "0.00639987" "0" "0"
3.786 "0" "0" "0"
4.068 "0" "0" "0"
4.371 "0" "0" "0"
4.698 "0" "0" "0"
5.048 "0" "0" "0"
5.425 "0" "0" "0"
5.829 "0" "0" "0"
6.264 "0" "0" "0"
6.732 "0" "0" "0"
7.234 "0" "0" "0"
7.774 "0" "0" "0"
8.354 "0" "0" "0"
8.977 "0" "0" "0"
9.647 "0" "0" "0"
10.37 "0" "0" "0"
11.14 "0" "0" "0"
11.97 "0" "0" "0"
12.86 "0" "0" "0"
13.82 "0" "0" "0"
14.86 "0" "0" "0"
15.96 "0" "0" "0"
17.15 "0" "0" "0"
18.43 "0" "0" "0"
19.81 "0" "0" "0"
然后我尝试使用我在网站上找到的代码
https://www.r-graph-gallery.com/27-levelplot-with-lattice.html 建议使用宽数据我将其作为矩阵输入,没有通常的 'z ~ x*y' 部分。
dfmat <- as.matrix(df)
levelplot(t(dfmat), col.regions = magma(100))
我不知道怎么修改这个数字。我想更改 y 轴,将大小比例(<0.523 到 19.81,原始 df 数据中的行)设置为对数比例,而不列出所有单个值刻度。同样,我希望能够使用 LocalDateTime 清理 x 轴,以减少合理 space 的刻度。该代码的数字也非常窄,我相信这是因为它试图为数据制作完美的正方形,尽管列数多于行数。
我可以使用 Igor 根据需要绘制数据,如下所示,但我希望能够在 R 中复制它。
我试图以 'z~x*y' 格式输入数据,但我没有成功,我未能正确绘制数据,结果得到了这个。
如有任何帮助或建议,我们将不胜感激!如果您还有其他问题或需要更多信息,我会尽力提供。
我已经很久没有用过 lattice 了;这是 ggplot2 实现。
library(dplyr)
library(tidyr)
library(tibble)
library(ggplot2)
library(viridisLite)
# tidy format needed
df1 <- df %>%
rownames_to_column(var = "Aerodynamic Diameter (um)") %>%
pivot_longer(cols = -one_of("Aerodynamic Diameter (um)"),
names_to = "Timestamp",
values_to = "Value") %>%
mutate(
`Aerodynamic Diameter (um)` = as.numeric(`Aerodynamic Diameter (um)`),
Timestamp = as.POSIXct(Timestamp, format = "%Y-%m-%d %H:%M:%S"))
# Igor padded values, so manually set tile width
ggplot(data = df1,
mapping = aes(
x = Timestamp,
y = `Aerodynamic Diameter (um)`,
fill = Value)) +
geom_tile(height = 0.1, width = 2000) +
scale_fill_gradientn("",
colours = magma(50, begin = 0.2),
breaks = 0:7 * 2, limits = c(0, 14)) +
scale_y_log10(breaks = c(5:10/10, 2:10, 20),
expand = c(0, 0)) +
scale_x_datetime(expand = c(0, 0)) +
xlab(as.Date(df1$Timestamp[1])) +
ylab("Aerodynamic Diameter (\u03BCm)") +
theme(legend.key.height = unit(1.4, 'cm'))
我正在尝试使用 levelplot 在热图中绘制一些气溶胶粒子数据。我目前正在使用如下所示的广泛数据集:
df <- read.delim("location/data.txt", sep = ",")
rownames(df) <- APSDIAM
colnames(df) <- LocalDateTime
df
2021-03-03 15:19:50 2021-03-03 15:24:50 2021-03-03 15:29:50 2021-03-03 15:34:50
<0.523 "13.5077" "9.68141" "3.87432" "1.56717"
0.542 "9.60621" "8.17904" "3.33433" "1.51037"
0.583 "9.33741" "8.45423" "3.68633" "1.59357"
0.626 "8.35823" "8.60143" "3.74393" "1.54237"
0.673 "7.41105" "8.30703" "3.57113" "1.59997"
0.723 "6.65587" "7.88464" "3.50073" "1.62557"
0.777 "6.16308" "7.43025" "3.09754" "1.37597"
0.835 "4.7935" "6.68147" "2.82234" "1.39517"
0.898 "4.39671" "5.91988" "2.59195" "1.10718"
0.965 "3.55833" "4.8895" "2.43195" "0.972781"
1.037 "2.82234" "4.15992" "1.73437" "0.665587"
1.114 "2.43835" "3.66713" "1.49757" "0.639987"
1.197 "1.91356" "2.93114" "1.07518" "0.454391"
1.286 "1.47837" "2.27835" "1.09438" "0.447991"
1.382 "1.38237" "1.93916" "0.940781" "0.460791"
1.486 "1.26717" "1.63197" "0.710386" "0.339193"
1.596 "0.99838" "1.53597" "0.620788" "0.211196"
1.715 "0.844783" "1.48477" "0.435191" "0.223996"
1.843 "0.735985" "1.05598" "0.49279" "0.191996"
1.981 "0.601588" "0.825583" "0.441591" "0.211196"
2.129 "0.47999" "0.639987" "0.294394" "0.166397"
2.288 "0.390392" "0.563189" "0.223996" "0.121598"
2.458 "0.358393" "0.531189" "0.204796" "0.0319994"
2.642 "0.268795" "0.230395" "0.140797" "0.0447991"
2.839 "0.159997" "0.300794" "0.159997" "0.0191996"
3.051 "0.198396" "0.198396" "0.0767985" "0.0383992"
3.278 "0.140797" "0.147197" "0.0383992" "0.051199"
3.523 "0.0959981" "0.121598" "0.0639987" "0.0191996"
3.786 "0.0703986" "0.0191996" "0.0191996" "0.0191996"
4.068 "0.0319994" "0.0639987" "0.0447991" "0.0127997"
4.371 "0.0447991" "0.0383992" "0.00639987" "0.00639987"
4.698 "0.0127997" "0.0127997" "0.0191996" "0.0191996"
5.048 "0.0319994" "0" "0.0127997" "0.0127997"
5.425 "0.00639987" "0.0127997" "0.00639987" "0"
5.829 "0" "0.00639987" "0" "0"
6.264 "0.00639987" "0" "0" "0"
6.732 "0.00639987" "0" "0" "0"
7.234 "0" "0" "0" "0"
7.774 "0" "0" "0" "0"
8.354 "0" "0" "0" "0"
8.977 "0" "0" "0" "0"
9.647 "0" "0" "0" "0"
10.37 "0" "0" "0" "0"
11.14 "0" "0" "0" "0"
11.97 "0" "0" "0" "0"
12.86 "0" "0" "0" "0"
13.82 "0" "0" "0" "0"
14.86 "0" "0" "0" "0"
15.96 "0" "0" "0" "0"
17.15 "0" "0" "0" "0"
18.43 "0" "0" "0" "0"
19.81 "0" "0" "0" "0"
2021-03-03 15:39:50 2021-03-03 16:09:50 2021-03-03 16:14:50 2021-03-03 16:19:50
<0.523 "0.810384" "0.352793" "0.332793" "0.347993"
0.542 "0.780784" "0.313594" "0.275194" "0.351993"
0.583 "0.780784" "0.217596" "0.319994" "0.281594"
0.626 "0.812784" "0.249595" "0.217596" "0.262395"
0.673 "0.844783" "0.211196" "0.262395" "0.236795"
0.723 "1.03038" "0.115198" "0.185596" "0.217596"
0.777 "0.857583" "0.179196" "0.191996" "0.140797"
0.835 "0.870383" "0.172797" "0.159997" "0.140797"
0.898 "0.684786" "0.0639987" "0.102398" "0.0703986"
0.965 "0.563189" "0.102398" "0.0959981" "0.0767985"
1.037 "0.435191" "0.0831983" "0.108798" "0.0767985"
1.114 "0.396792" "0.0703986" "0.051199" "0.0255995"
1.197 "0.319994" "0.051199" "0.0319994" "0.0383992"
1.286 "0.319994" "0.0191996" "0.0191996" "0.0191996"
1.382 "0.249595" "0.00639987" "0.00639987" "0.0255995"
1.486 "0.198396" "0.0255995" "0.0127997" "0.0191996"
1.596 "0.159997" "0.0255995" "0.00639987" "0.0255995"
1.715 "0.121598" "0.0127997" "0.0127997" "0.00639987"
1.843 "0.0959981" "0.0127997" "0.0255995" "0"
1.981 "0.115198" "0.0127997" "0" "0.0127997"
2.129 "0.051199" "0.0191996" "0.0319994" "0"
2.288 "0.0575988" "0.00639987" "0.0127997" "0"
2.458 "0.0127997" "0" "0.0127997" "0"
2.642 "0.0383992" "0.00639987" "0.0127997" "0"
2.839 "0.0639987" "0" "0.00639987" "0"
3.051 "0.0191996" "0.00639987" "0" "0.00639987"
3.278 "0.0191996" "0" "0" "0"
3.523 "0.0127997" "0.00639987" "0" "0"
3.786 "0.0191996" "0.00639987" "0" "0"
4.068 "0.00639987" "0" "0" "0"
4.371 "0" "0" "0" "0"
4.698 "0" "0" "0" "0"
5.048 "0" "0" "0" "0"
5.425 "0" "0" "0" "0"
5.829 "0" "0" "0" "0"
6.264 "0" "0" "0" "0"
6.732 "0" "0" "0" "0"
7.234 "0" "0" "0" "0"
7.774 "0" "0" "0" "0"
8.354 "0" "0" "0" "0"
8.977 "0" "0" "0" "0"
9.647 "0" "0" "0" "0"
10.37 "0" "0" "0" "0"
11.14 "0" "0" "0" "0"
11.97 "0" "0" "0" "0"
12.86 "0" "0" "0" "0"
13.82 "0" "0" "0" "0"
14.86 "0" "0" "0" "0"
15.96 "0" "0" "0" "0"
17.15 "0" "0" "0" "0"
18.43 "0" "0" "0" "0"
19.81 "0" "0" "0" "0"
2021-03-03 16:24:50 2021-03-03 16:29:50 2021-03-03 16:59:50 2021-03-03 17:04:50
<0.523 "0.51199" "0.587188" "0.198396" "0.0743985"
0.542 "0.49919" "0.51839" "0.179196" "0.0895982"
0.583 "0.454391" "0.50559" "0.211196" "0.108798"
0.626 "0.287994" "0.390392" "0.300794" "0.0767985"
0.673 "0.294394" "0.383992" "0.172797" "0.127997"
0.723 "0.230395" "0.364793" "0.204796" "0.102398"
0.777 "0.179196" "0.249595" "0.191996" "0.140797"
0.835 "0.140797" "0.185596" "0.198396" "0.134397"
0.898 "0.108798" "0.140797" "0.134397" "0.102398"
0.965 "0.0575988" "0.108798" "0.179196" "0.0767985"
1.037 "0.0831983" "0.0959981" "0.140797" "0.0639987"
1.114 "0.051199" "0.0575988" "0.0959981" "0.0447991"
1.197 "0.0319994" "0.0639987" "0.0767985" "0.051199"
1.286 "0.0255995" "0.0319994" "0.0447991" "0.0703986"
1.382 "0.051199" "0.0319994" "0.0703986" "0.0319994"
1.486 "0" "0.0127997" "0.0319994" "0.0447991"
1.596 "0.0191996" "0.0127997" "0.0127997" "0.0383992"
1.715 "0.0255995" "0.00639987" "0.0383992" "0.0319994"
1.843 "0.0191996" "0.00639987" "0.051199" "0"
1.981 "0.0127997" "0.0191996" "0.0127997" "0.0191996"
2.129 "0" "0.0191996" "0.0127997" "0"
2.288 "0.00639987" "0" "0.00639987" "0.00639987"
2.458 "0.00639987" "0" "0.0255995" "0.0127997"
2.642 "0.0127997" "0.00639987" "0" "0"
2.839 "0" "0" "0" "0"
3.051 "0" "0" "0.0127997" "0"
3.278 "0" "0" "0" "0"
3.523 "0" "0" "0" "0"
3.786 "0" "0" "0" "0"
4.068 "0" "0" "0" "0"
4.371 "0" "0" "0" "0"
4.698 "0" "0" "0" "0"
5.048 "0" "0" "0" "0"
5.425 "0" "0" "0" "0"
5.829 "0" "0" "0" "0"
6.264 "0" "0" "0" "0"
6.732 "0" "0" "0" "0"
7.234 "0" "0" "0" "0"
7.774 "0" "0" "0" "0"
8.354 "0" "0" "0" "0"
8.977 "0" "0" "0" "0"
9.647 "0" "0" "0" "0"
10.37 "0" "0" "0" "0"
11.14 "0" "0" "0" "0"
11.97 "0" "0" "0" "0"
12.86 "0" "0" "0" "0"
13.82 "0" "0" "0" "0"
14.86 "0" "0" "0" "0"
15.96 "0" "0" "0" "0"
17.15 "0" "0" "0" "0"
18.43 "0" "0" "0" "0"
19.81 "0" "0" "0" "0"
2021-03-03 17:09:50 2021-03-03 17:14:50 2021-03-03 17:19:50
<0.523 "0.050399" "0.050399" "0.0543989"
0.542 "0.051199" "0.0639987" "0.0447991"
0.583 "0.0959981" "0.0831983" "0.0703986"
0.626 "0.102398" "0.0831983" "0.0639987"
0.673 "0.0639987" "0.0767985" "0.108798"
0.723 "0.115198" "0.0831983" "0.127997"
0.777 "0.0959981" "0.0831983" "0.108798"
0.835 "0.108798" "0.0895982" "0.0639987"
0.898 "0.0639987" "0.0575988" "0.0703986"
0.965 "0.0255995" "0.0319994" "0.0767985"
1.037 "0.0447991" "0.0127997" "0.0383992"
1.114 "0.0319994" "0.0383992" "0.0191996"
1.197 "0.0447991" "0.0383992" "0.0639987"
1.286 "0.0127997" "0.0127997" "0.00639987"
1.382 "0.0127997" "0.0127997" "0.0383992"
1.486 "0.0127997" "0.0127997" "0.0191996"
1.596 "0.00639987" "0.0191996" "0"
1.715 "0.0127997" "0.0127997" "0.0191996"
1.843 "0.0191996" "0.00639987" "0.00639987"
1.981 "0.0191996" "0.0191996" "0.0191996"
2.129 "0.0127997" "0" "0.0191996"
2.288 "0.00639987" "0.0191996" "0.00639987"
2.458 "0.00639987" "0" "0.0127997"
2.642 "0.00639987" "0.0127997" "0"
2.839 "0" "0" "0"
3.051 "0" "0" "0.00639987"
3.278 "0" "0" "0.00639987"
3.523 "0.00639987" "0" "0"
3.786 "0" "0" "0"
4.068 "0" "0" "0"
4.371 "0" "0" "0"
4.698 "0" "0" "0"
5.048 "0" "0" "0"
5.425 "0" "0" "0"
5.829 "0" "0" "0"
6.264 "0" "0" "0"
6.732 "0" "0" "0"
7.234 "0" "0" "0"
7.774 "0" "0" "0"
8.354 "0" "0" "0"
8.977 "0" "0" "0"
9.647 "0" "0" "0"
10.37 "0" "0" "0"
11.14 "0" "0" "0"
11.97 "0" "0" "0"
12.86 "0" "0" "0"
13.82 "0" "0" "0"
14.86 "0" "0" "0"
15.96 "0" "0" "0"
17.15 "0" "0" "0"
18.43 "0" "0" "0"
19.81 "0" "0" "0"
然后我尝试使用我在网站上找到的代码 https://www.r-graph-gallery.com/27-levelplot-with-lattice.html 建议使用宽数据我将其作为矩阵输入,没有通常的 'z ~ x*y' 部分。
dfmat <- as.matrix(df)
levelplot(t(dfmat), col.regions = magma(100))
我不知道怎么修改这个数字。我想更改 y 轴,将大小比例(<0.523 到 19.81,原始 df 数据中的行)设置为对数比例,而不列出所有单个值刻度。同样,我希望能够使用 LocalDateTime 清理 x 轴,以减少合理 space 的刻度。该代码的数字也非常窄,我相信这是因为它试图为数据制作完美的正方形,尽管列数多于行数。
我可以使用 Igor 根据需要绘制数据,如下所示,但我希望能够在 R 中复制它。
我试图以 'z~x*y' 格式输入数据,但我没有成功,我未能正确绘制数据,结果得到了这个。
如有任何帮助或建议,我们将不胜感激!如果您还有其他问题或需要更多信息,我会尽力提供。
我已经很久没有用过 lattice 了;这是 ggplot2 实现。
library(dplyr)
library(tidyr)
library(tibble)
library(ggplot2)
library(viridisLite)
# tidy format needed
df1 <- df %>%
rownames_to_column(var = "Aerodynamic Diameter (um)") %>%
pivot_longer(cols = -one_of("Aerodynamic Diameter (um)"),
names_to = "Timestamp",
values_to = "Value") %>%
mutate(
`Aerodynamic Diameter (um)` = as.numeric(`Aerodynamic Diameter (um)`),
Timestamp = as.POSIXct(Timestamp, format = "%Y-%m-%d %H:%M:%S"))
# Igor padded values, so manually set tile width
ggplot(data = df1,
mapping = aes(
x = Timestamp,
y = `Aerodynamic Diameter (um)`,
fill = Value)) +
geom_tile(height = 0.1, width = 2000) +
scale_fill_gradientn("",
colours = magma(50, begin = 0.2),
breaks = 0:7 * 2, limits = c(0, 14)) +
scale_y_log10(breaks = c(5:10/10, 2:10, 20),
expand = c(0, 0)) +
scale_x_datetime(expand = c(0, 0)) +
xlab(as.Date(df1$Timestamp[1])) +
ylab("Aerodynamic Diameter (\u03BCm)") +
theme(legend.key.height = unit(1.4, 'cm'))