Я пытаюсь создать тепловую карту с использованием неравномерно выбранных данных. Первоначально, когда, применяя код
ggplot(df,aes(x,y,fill=z))+geom_tile()
, я получаю тепловую карту, которая выглядит следующим образом:
Теперь я м заинтересован в дальнейшем изучении значений х около 0,1. Я выбираю данные и генерирую новую тепловую карту, используя ту же строку кода, и теперь моя тепловая карта выглядит следующим образом:
Я предполагаю, что сейчас ggplot не знает, как создать остальную часть графика, чтобы он выглядел непрерывным. Я думал, пытаясь заполнить пробелы с помощью функции заполнения Tidyr, но я не совсем уверен, как сделать этот подход. Есть ли другой способ, просто используя функции ggplot? Вот пример того, как выглядят данные:
sample_df<-structure(list(x = c(0.51, 1.61, 1.41, 1.61, 0.91, 0.01, 0.31,
1.71, 1.11, 0.21, 0.31, 0.31, 0.61, 0.71, 1.71, 1.91, 0.51, 1.41,
0.08, 0.065), y = c(0.0811, 0.0561, 0.0701, 0.0891, 0.0251, 0.0221,
0.0011, 0.0641, 0.0271, 0.0551, 0.0501, 0.0971, 0.0171, 0.0171,
0.0611, 0.0801, 0.0021, 0.0401, 0.0811, 0.0511), z = c(0.778151250383644,
0.477121254719662, 0.477121254719662, 0.477121254719662, 0.602059991327962,
Inf, Inf, 0.477121254719662, 0.477121254719662, 1.11394335230684,
0.903089986991944, 0.954242509439325, 0.602059991327962, 0.602059991327962,
0.477121254719662, 0.477121254719662, Inf, 0.477121254719662,
2.05307844348342, 2.34439227368511)), row.names = c(NA, -20L), spec = structure(list(
cols = list(epsilon = structure(list(), class = c("collector_double",
"collector")), mu = structure(list(), class = c("collector_double",
"collector")), eta = structure(list(), class = c("collector_double",
"collector")), N0 = structure(list(), class = c("collector_double",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), skip = 1), class = "col_spec"), class = c("spec_tbl_df",
"tbl_df", "tbl", "data.frame"))