We have data, related to depth intervals (subsea) in some points with geographic coordinates. Here is a small example for R:
data.tr<-read.csv(text="field,lat,lon,d1,d2
location 1,40.311371,50.006781,1938,1528
location 2,40.328378,50.587409,564,923
location 3,41.13569,46.28508,2522,1300
location 4,39.937,49.4525,2900,1030")
d1-d2 are intervals of depths for certain objects of interest in the sea: the interval starts at depth d1, and continues for d2 meter downwards. We can visualize this table using ggplot2
barcharts in accordance with ggplot2's general philosophy, for example, in the following way:
library(dplyr)
library(tidyr)
library(ggplot2)
data.tr.tidied<-data.tr %>%
gather(key=pos,value=depth,-field,-lat,-lon) % to transform to long form
ggplot(data.tr.tidied,aes(x=field,y=depth,alpha=pos,fill=pos))+
geom_col(position=position_stack(reverse=T))+
scale_y_continuous(trans="reverse")+
scale_alpha_discrete(range = c(0.05, 1))
and get the following basic image
The depth intervals where something is happening are shown as bars at corresponding locations and depths. We need to visualize the same information on a 3D scheme with geographical locations (parameters lat,lon of the data). There are some R packages which can plot bar diagrams at given geographical coordinates, but the problem is to get a 3D cube, where the upper face is some GIS image or topomap of common use (particularly, these locations in the example correspond to Caspian Sea), and the bulk of the cube represents these bars as stretching downwards for certain depths, like on the 2D sketch shown. It would be a great advantage to keep using ggplot2 functionalities at that (we have other artworks for our research basically in it).