Showing posts with label graphic example. Show all posts
Showing posts with label graphic example. Show all posts

Wednesday, 18 April 2018

How to use GCDkit in a batch mode II


In one of the earlier blogs, Jeff has presented my exercise showing effective use of batch mode borrowed from our joint workshop at University of Catania.  

Here I would like to carry on and show the new capabilities of GCDkit to use multiple datasets and to overplot them on a single diagram (or plate thereof).

Binary plot

# Loading and storing the 1st dataset
data(atacazo)
accessVar("atacazo")
assign1col("gray")
pokeDataset("atacazo",overwrite.warn=FALSE)

Loading and storing the 2nd dataset
data(sazava)
accessVar("sazava")

Switching back to the atacazo dataset
peekDataset("atacazo")
# Overplotting classification diagram
plotDiagram("TAS",F,F)
overplotDataset("sazava",pch="*",col="red",cex=2)

Spiderplot

# Overplotting on spiderplot
peekDataset("atacazo")

# Atacazo as grey field
spider(WR,"Boynton",0.1,1000,field=TRUE,fill.col=TRUE,
  shaded.col="khaki")
overplotDataset("sazava")


A plate (Harker plots)

# blatna dataset
data(blatna)
accessVar("blatna")
multiple("SiO2","MgO,CaO,Na2O,K2O")
plateXLim(c(53,70)) # Common x axis scaling
plate0YLim() # All y axes start from 0

plateCex(1.5)
plateCexLab(1.5)
plateCol("gray")

# Overplot sazava on top of it
overplotDataset("sazava",cex=2)



# Getting rid of the datasets other than the current (blatna)
purgeDatasets()

Tuesday, 23 May 2017

Batch / Console mode

One of the nice features in the recent versions of GCkit is that it can be ran without any graphical user interface, just by typing commands in the console.

What good is it, will you say ? Well:
  • It saves time. After a while it gets a bit annoying to have to go to "plot", "binary", select X variable, select Y variable "ok", "ok"... Isn't it easier, and faster, to just type binary("SiO2","Rb/Sr") ? I think so.
  • It is reproducible. You can copy a string of commands to a file, and re-run the file every time you need it, perhaps because you've updated the dataset, or you're doing the same thing with all of your data anyway.
  • Since it does not rely on the GUI, it is platform-independent (ha-ha !).  So this allows to use GCDkit on platforms other than windows.

All the commands that are found in the menus can be used from the command line (and, in fact, even more or at least with more flexibility). So you may, for instance, run the following scripts (borrowed from the latest workshop in Catania).
In all examples, you may either copy the commands to a text file, that you save as "something.r", and then drag and drop the r-file to your console; or type each command in succession into the console.
Also, we assume in each example that you have the relevant data files, stored in a directory that happens to be, in this case, C:\\Users\\admin\\Documents\\R code\\.The datafiles are from the book.

Example 1 (loading and grouping data; simple calculations)

setwd("C:\\Users\\admin\\Documents\\R code\\")
loadData("sazava.data",sep="\t")
print(WR[,"A/CNK"])

     Sa-1      Sa-2      Sa-3      Sa-4      Sa-7     SaD-1     Gbs-1    Gbs-20     Gbs-2     Gbs-3
0.8355344 0.7618697 0.8078703 0.7193632 0.9617544 0.8418038 0.4370269 0.5549208 0.7506752 0.8598510
     Po-1      Po-3      Po-4      Po-5
0.9716144 1.0248678 1.0129914 1.169989

groupsByLabel("Intrusion")
summaryByGroup(LILE,show.boxplot=TRUE)
print(results)
results<-CIPW(WR)
spider(WR,"Boynton",plot=FALSE) # Calculation only
print(results)

Example 2 (simple diagrams)

setwd("C:\\Users\\admin\\Documents\\R code\\")
loadData("dolerites_test.data",sep="\t")

# Binary plot

binary(x="SiO2",y="Y",ymin=0,ymax=50,main="My Binary plot")

figCex(1.8)

# A single classification diagram, zoom in

plotDiagram("LarochePlut",F,F)

figXlim(c(1000,2700))

figYlim(c(1000,2500))

figRemove()

# Harker plot (a simple plate)

multipleMjr("SiO2")

plateCex(1.7)

plateCexLab(1.2)

plateXLim(c(45,60))

plateBW()

Example 3 (Custom plates)

setwd("C:\\Users\\admin\\Documents\\R code\\")
loadData("dolerites_test.data",sep="\t")

# Custom plate

multiplePerPage(4,nrow=2,ncol=2,dummy=F,title="Geotectonic")

plotDiagram("Meschede",F,F,main=" ")

plateExtract("Wood",3,main=" ")

plotDiagram("PearceNbThYb",F,F,main=" ")

plotDiagram("PearceNbTiYb",F,F,main=" ")

plateLabelSlots(text=letters,cex=1.5,pos="topleft")

plateCex(1.7)

plateCexLab(1.2)





(this example involves still a lot of clicking in dialogs, so it is not too likely to work in non-windows environments)

Example 4 (spiderplots)

setwd("C:\\Users\\admin\\Documents\\R code\\")
loadData("dolerites_test.data",sep="\t")

groupsByLabel("region")

# REE spider

spider(WR,"Boynton",1,100,pch="*",col="blue",cex=2)

spider.contour("Boynton","MgO","jet.colors",ymin=1,ymax=100,
 
pch=15)


# NMORB Sun and McDonough

spider(WR,"^NMORB..Sun",0.1,500,offset=TRUE)

figMulti(shaded.col="khaki",plot.symb=FALSE,nrow=2,ncol=2)

plateLabelSlots(text=letters,cex=1.5,pos="bottomright")

plateCex(2)

plateCexLab(2)

plateBW()