Daugiau

Įterpiamas priartintas diagrama su viso masto diagrama į R paketą

Įterpiamas priartintas diagrama su viso masto diagrama į R paketą


Aš naudojusppakuotėRbrėžti mėginių taškus palei upę. Tačiau norėčiau priartinti atrinktą visos upės plotą ir nupiešti šį priartintą plotą visame upės ilgyje. Naudojanttaškasfunkcija yra naudinga, nes turiu įvairių kintamųjų viename taške. Norėdami "priartinti", galiu paprastai pakeistiylimirxlimargumentai naudojanttaškasfunkcija.

Naudojantmeuseduomenų rinkinys kaip pavyzdys

biblioteka (sp) biblioteka (grotelės) duomenys (meuse) koordinatės (meuse) = ~ x + y FUll.study <-spplot (meuse) # Suteikia visą tyrimo sritį ZOOM <-spplot (meuse, xlim = c (170000, 181000) ), ylim = c (329714,333611)) # Atsitiktinė sritis, skirta priartinti.

Rezultatai atrodo taip:

Tačiau norimas rezultatas yra maždaug toks:

Bandau rasti būdą, kaip pridėtiZOOMį rajonąPilnas.studijažemėlapis.Įtariu, nestaškasyra priklausomas nuogrotelėstai gali būti neįmanoma. Tokiu atveju turėčiau atskirai sukurti kiekvieno kintamojo žemėlapį ir tikriausiai pridėti atitinkamą priartintą sritįpar (nauja = TRUE), bet tai tik mintis. Aš vis tiek turėčiau išsiaiškinti, kaip nurodyti vietą ir pritaikyti priartintos srities dydį.


Čia yra pasiūlymas naudojant „ggplot“. aš naudoju„ggplotGrob“sujungti visą ir priartintą žemėlapį irtinklelis.apibrėžtiiš „gridExtra“ priedo, kad sujungtumėte skirtingų kintamųjų žemėlapius. Žinoma, galima atlikti daugybę koregavimų.

biblioteka (sp) biblioteka (ggplot2) biblioteka (tinklelis) # vieneto bibliotekai (gridExtra) # tinkleliui.arrange # mastelio ribojimo laukelis xlim <- c (179500,181000); ylim <- c (332000,332500) # priartintos srities dydis - poslinkis nuo viršutinio kairiojo pagrindinio sklypo kampo: x_offs <- 1000; y_offs <- 1300 # viso sklypo „fulltheme“ nustatymai <- theme (panel.grid.major = element_blank (), panel.grid.minor = element_blank (), panel.background = element_blank (), axis.text.x = element_blank ( ), axis.text.y = element_blank (), axis.ticks = element_blank (), axis.title.x = element_blank (), axis.title.y = element_blank ()) # priartinimo schemos zoomtheme nustatymai <- theme ( legend.position = "nėra", axis.line = element_blank (), axis.text.x = element_blank (), axis.text.y = element_blank (), axis.ticks = element_blank (), axis.title.x = element_blank (), axis.title.y = element_blank (), panel.grid.major = element_blank (), panel.grid.minor = element_blank (), panel.background = element_rect (color = 'raudona', fill = "balta "), plot.margin = vienetas (c (0,0, -6, -6)," mm ")) ############### taško pavyzdys ####### ###### data (meuse) # kintamieji, skirti brėžti kintamuosius <- names (meuse) [3:10] plotlist <- list () for (i in vars) {# full plot p.full <- ggplot (meuse , aes_string (x = "x", y = "y", spalva = i)) + geom_point () + fulltheme # priartintas sklypas p.zoom <- ggplot (meuse, aes_string (x = "x", y = "y", spalva = i)) + geom_point () + coord_cartesian (xlim = xlim, ylim = ylim) + zoomtheme # sujungti juos g <- ggplotGrob (p.zoom) plotlist [[length (plotlist) + 1]] <- p.full + annotation_custom (grob = g, xmin = min (naudoti $ x), xmax = min (naudoti $ x) + x_offs, ymin = max (meuse $ y) - y_offs, ymax = max (naudoti $ y))} # plot do.call (tinklelis.arrange, c (plotlist, ncol = 4))

Panašiai „ggplot“ gali valdyti rastrus.

#################################################################### ######## rastrinis pavyzdys ############## biblioteka (rastras) r <- rastras (system.file ("external / test.grd", paketas = "rastras") ) s <- stack (r, r * 2, log (r)) vardai (-ai) <- c ('meuse', 'meuse2', 'meuseLog') meuseRast <- data.frame (rasterToPoints (s)) rastvars <- vardai (meuseRast) [- c (1: 2)] plotrast <- list () for (i in rastvars) {p.fullrast <- ggplot (meuseRast, aes_string (x = "x", y = "y") , fill = i)) + geom_raster () + fulltheme p.zoomrast <- ggplot (meuseRast, aes_string (x = "x", y = "y", fill = i)) + geom_raster () + coord_cartesian (xlim = xlim) , ylim = ylim) + zoomtheme g <- ggplotGrob (p.zoomrast) plotrast [[length (plotrast) + 1]] <- p.fullrast + annotation_custom (grob = g, xmin = min (meuseRast $ x), xmax = min (meuseRast $ x) + x_offs, ymin = max (meuseRast $ y) - y_offs, ymax = max (meuseRast $ y))} # plot do.call (grid.arrange, c (plotrast, nrow = 1))


Galite naudotimaptools :: elidefunkcija išversti a koordinatesErdvinis *objektas. Jei derinsite rezultatą susp. išdėstymasargumentastaškasarba sugrotelėsExtra :: sluoksnisfunkciją, gausite tai, ko jums reikia:

biblioteka (sp) biblioteka (maptools) biblioteka (rastras) biblioteka (grotelės) biblioteka (latticeExtra) duomenų (meuse) koordinatės (meuse) = ~ x + y ZOOM <- apkarpyti (meuse, scale (180000, 181000, 330000, 331500) ) perkeltas <- elide (ZOOM, shift = c (-1200, 2000)) taškas (meuse ["cinkas], masteliai = sąrašas (atkreipti = TIESA)) + sluoksnis ({sp. taškai (ZOOM, col = 'juoda) ') sp. taškai (pasislinkę, col = ")})


Žiūrėti video įrašą: Tinklo diagramų, sugeneruotų su Gephi paaiškinimas