From f34c401029f82048056d161985a4ecf51b87ec50 Mon Sep 17 00:00:00 2001 From: Adrian Waddell Date: Wed, 15 Feb 2012 00:00:00 +0000 Subject: [PATCH] version 0.1.2 --- .project | 18 - DESCRIPTION | 15 +- MD5 | 114 +- NAMESPACE | 7 +- NEWS | 5 +- R/AllGenerics.R | 4 +- R/FunctionNavGraph.R | 2 +- R/Visualization2D.R | 3 + R/Viz2D_Axis.R | 2 +- R/Viz2D_Ggobi.R | 2 +- R/Viz2D_tk2d.R | 2 +- R/navGraph.R | 6 +- R/zzz.R | 8 +- demo/00Index | 1 + demo/ng_own_viz.R | 94 + inst/doc/RnavGraph.Rnw | 269 ++- inst/doc/RnavGraph.pdf | Bin 808840 -> 845428 bytes man/NG_Visualization-class.Rd | 44 + man/closeViz-methods.Rd | 21 + man/closeViz.Rd | 39 + man/initializeViz-methods.Rd | 21 + man/initializeViz.Rd | 39 + man/ng_set_colorsetter.Rd | 5 - man/ng_set_sizesetter.Rd | 5 - man/ng_setsetter.Rd | 2 - man/updateViz-methods.Rd | 21 + man/updateViz.Rd | 39 + src/display_stuff.c | 56 +- vignettes/RnavGraph.Rnw | 2034 +++++++++++++++++ {inst/doc => vignettes}/img/Iris2D.png | Bin {inst/doc => vignettes}/img/Iris3Dgraph.png | Bin {inst/doc => vignettes}/img/all.png | Bin {inst/doc => vignettes}/img/aloi.jpg | Bin {inst/doc => vignettes}/img/f1_1.png | Bin {inst/doc => vignettes}/img/f1_2.png | Bin {inst/doc => vignettes}/img/f2_1.png | Bin {inst/doc => vignettes}/img/f2_2.png | Bin {inst/doc => vignettes}/img/ggobicolors.png | Bin {inst/doc => vignettes}/img/graph.eps | 0 {inst/doc => vignettes}/img/graph.png | Bin {inst/doc => vignettes}/img/imageDigits.png | Bin {inst/doc => vignettes}/img/m1_1.png | Bin {inst/doc => vignettes}/img/m1_2.png | Bin {inst/doc => vignettes}/img/m2_1.png | Bin {inst/doc => vignettes}/img/m3_1.png | Bin {inst/doc => vignettes}/img/m4_1.png | Bin {inst/doc => vignettes}/img/m4_2.png | Bin vignettes/img/settings.png | Bin 0 -> 62866 bytes {inst/doc => vignettes}/img/tk2dGlyphs.png | Bin .../img/tk2dImagesObject.png | Bin {inst/doc => vignettes}/img/tk2dcolors.png | Bin {inst/doc => vignettes}/img/tk2dcolors2.png | Bin {inst/doc => vignettes}/img/tk2dimages1.png | Bin {inst/doc => vignettes}/lg.tex | 0 {inst/doc => vignettes}/p_prod.tex | 0 {inst/doc => vignettes}/products.tex | 0 {inst/doc => vignettes}/rep_p_GLG.tex | 0 {inst/doc => vignettes}/temp.tex | 0 {inst/doc => vignettes}/tikz_animation.tex | 0 {inst/doc => vignettes}/tikz_drag.tex | 0 {inst/doc => vignettes}/tikz_edgeSelect.tex | 0 {inst/doc => vignettes}/tikz_modifyGraph.tex | 0 {inst/doc => vignettes}/tikz_tk2d_main.tex | 0 {inst/doc => vignettes}/tikz_walk.tex | 0 64 files changed, 2663 insertions(+), 215 deletions(-) delete mode 100644 .project create mode 100644 demo/ng_own_viz.R create mode 100644 man/NG_Visualization-class.Rd create mode 100644 man/closeViz-methods.Rd create mode 100644 man/closeViz.Rd create mode 100644 man/initializeViz-methods.Rd create mode 100644 man/initializeViz.Rd create mode 100644 man/updateViz-methods.Rd create mode 100644 man/updateViz.Rd create mode 100644 vignettes/RnavGraph.Rnw rename {inst/doc => vignettes}/img/Iris2D.png (100%) rename {inst/doc => vignettes}/img/Iris3Dgraph.png (100%) rename {inst/doc => vignettes}/img/all.png (100%) rename {inst/doc => vignettes}/img/aloi.jpg (100%) rename {inst/doc => vignettes}/img/f1_1.png (100%) rename {inst/doc => vignettes}/img/f1_2.png (100%) rename {inst/doc => vignettes}/img/f2_1.png (100%) rename {inst/doc => vignettes}/img/f2_2.png (100%) rename {inst/doc => vignettes}/img/ggobicolors.png (100%) rename {inst/doc => vignettes}/img/graph.eps (100%) rename {inst/doc => vignettes}/img/graph.png (100%) rename {inst/doc => vignettes}/img/imageDigits.png (100%) rename {inst/doc => vignettes}/img/m1_1.png (100%) rename {inst/doc => vignettes}/img/m1_2.png (100%) rename {inst/doc => vignettes}/img/m2_1.png (100%) rename {inst/doc => vignettes}/img/m3_1.png (100%) rename {inst/doc => vignettes}/img/m4_1.png (100%) rename {inst/doc => vignettes}/img/m4_2.png (100%) create mode 100644 vignettes/img/settings.png rename {inst/doc => vignettes}/img/tk2dGlyphs.png (100%) rename {inst/doc => vignettes}/img/tk2dImagesObject.png (100%) rename {inst/doc => vignettes}/img/tk2dcolors.png (100%) rename {inst/doc => vignettes}/img/tk2dcolors2.png (100%) rename {inst/doc => vignettes}/img/tk2dimages1.png (100%) rename {inst/doc => vignettes}/lg.tex (100%) rename {inst/doc => vignettes}/p_prod.tex (100%) rename {inst/doc => vignettes}/products.tex (100%) rename {inst/doc => vignettes}/rep_p_GLG.tex (100%) rename {inst/doc => vignettes}/temp.tex (100%) rename {inst/doc => vignettes}/tikz_animation.tex (100%) rename {inst/doc => vignettes}/tikz_drag.tex (100%) rename {inst/doc => vignettes}/tikz_edgeSelect.tex (100%) rename {inst/doc => vignettes}/tikz_modifyGraph.tex (100%) rename {inst/doc => vignettes}/tikz_tk2d_main.tex (100%) rename {inst/doc => vignettes}/tikz_walk.tex (100%) diff --git a/.project b/.project deleted file mode 100644 index cd8314e..0000000 --- a/.project +++ /dev/null @@ -1,18 +0,0 @@ - - - Version 05 - - - - - - de.walware.statet.r.builders.RSupport - - - - - - de.walware.statet.base.StatetNature - de.walware.statet.r.RNature - - diff --git a/DESCRIPTION b/DESCRIPTION index b98f8af..2278365 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,15 +1,16 @@ Package: RnavGraph Type: Package Title: Using graphs as a navigational infrastructure. -Version: 0.1.1 -Date: 2011-06-02 +Version: 0.1.2 +Date: 2012-02-15 Author: Adrian R. Waddell and R. Wayne Oldford Maintainer: Adrian Waddell -Url: http://adrian.waddell.ch/ -Description: GUI to explore high dimensional data (including image data) using graphs as navigational infrastructure. +Url: http://www.navgraph.com +Description: GUI to explore high dimensional data (including image + data) using graphs as navigational infrastructure. License: GPL-2 Suggests: PairViz, scagnostics, rgl, grid, MASS, rggobi, RGtk2, hexbin, - RDRToolbox, vegan, RnavGraphImageData + RDRToolbox, vegan, RnavGraphImageData, png, Rgraphviz Depends: R (>= 2.10.0), methods, graphics, tcltk, graph Imports: RBGL LazyLoad: yes @@ -19,6 +20,6 @@ Collate: 'AllGenerics.R' 'ng_data.R' 'ng_graph.R' 'ng_path.R' 'Viz2D_Ggobi.R' 'Viz2D_Axis.R' 'Viz2D_tk2d.R' 'FunctionNavGraph.R' 'graphtools.R' 'navGraph.R' 'scagNav.R' 'zzz.R' -Packaged: 2011-11-22 01:59:52 UTC; adrian +Packaged: 2012-02-17 12:21:03 UTC; adrian Repository: CRAN -Date/Publication: 2011-11-22 08:45:17 +Date/Publication: 2012-02-17 17:18:29 diff --git a/MD5 b/MD5 index f4ea9a8..d883e09 100644 --- a/MD5 +++ b/MD5 @@ -1,26 +1,26 @@ -42dc70d45183cffaafcc0cd963eba5e1 *DESCRIPTION -50e6aceaaa33f68dcec63bd0ed69a5d8 *NAMESPACE -f5d9a0d1efd0b8b7a88badc92b4f9e89 *NEWS -975561750ebf517d442103758808f5a2 *R/AllGenerics.R -3a89d7085371482989bccc875f252add *R/FunctionNavGraph.R +b1c74de1902019922b72646a074be1ec *DESCRIPTION +c2013f30dbf0baba1aaccacd9a1f38d5 *NAMESPACE +13488fab8b0813269a3ecdef9a60d9c9 *NEWS +2eb21102bd24f42a9eaa379c87aa36e3 *R/AllGenerics.R +1eae90f5511b1e0227466cecb11e61a3 *R/FunctionNavGraph.R 698183f7c8d7f656c8bda9b23251958c *R/GraphDisplay.R f9a01a193c02ca5efb88ba0d1fd59177 *R/NavGraphHandler.R ac0fed0cfde2f72b087b418fa6329b6d *R/SettingClasses.R 8649cdcb75fe57d033c1d101f23fc3a2 *R/Visualization.R -af44c988350f0246a2168dffd1b8f42c *R/Visualization2D.R -d4b275be83045e7a2f8c998325e04a42 *R/Viz2D_Axis.R -f7826c4d8da66784814b901cb4ddd5b5 *R/Viz2D_Ggobi.R -b8456e92af433a96f13c7d1592c320fd *R/Viz2D_tk2d.R +7d9997dc3daab26a86ab10ff3568abab *R/Visualization2D.R +c023105f8b05388c4f44f5e8c119075b *R/Viz2D_Axis.R +1a7596ce73f61df0bec6bec0b02001eb *R/Viz2D_Ggobi.R +07c4c9bc26f167109e3a90e7c949cfdc *R/Viz2D_tk2d.R 61f8b9c6b01a6ebe5c5c0da86e9fbd37 *R/graphtools.R -1d324dce1bbb0900483dee3c081c4197 *R/navGraph.R +f0ec55cb22b91af3918f70c881e7bac1 *R/navGraph.R e2046071e11a654375f749ae3f73a299 *R/ng_data.R 341f0517b37a67c8a4f3a8f23e910459 *R/ng_graph.R b329d41fa64771577a44a16fadf604a7 *R/ng_image.R a99f1c3a3c7c5bab62790b432ad4e06c *R/ng_path.R 2df6ec796522c5881afa798e4091d435 *R/scagNav.R -59e83261e9e85cde03449fcdb1f6e190 *R/zzz.R +f0faaa3bcbd4ac6b9f5be64be8f5326f *R/zzz.R 05fa39a7aa4a291f0106a0d5c0f1af5f *data/olive.rda -8e3052319f6b637047d582b58e563930 *demo/00Index +4c65ddaaa2d9011f2f2ecf1ced77cc38 *demo/00Index f6bed440461ba5b5119b13ea84486afe *demo/ng_2d_image_files_aloi.R e32ad4ffe3e274a54bf0120920479a26 *demo/ng_2d_images_alpha_letter.R f4b98a0bd069bbf827c78a1f221b4c1b *demo/ng_2d_images_digits.R @@ -35,47 +35,19 @@ e6195073c4c1053f62f75299ab46dc34 *demo/ng_2d_myplot_grid.R 89f25eb6eaf0221bbc0bd3428111583d *demo/ng_2d_myplot_rgl.R 19090a35be406de6dc437fef90388679 *demo/ng_2d_olive.R 893374fbe4c8212a0239feb08c2cdaaa *demo/ng_2d_scagnostics_olive.R -565ba3355ffdd2649490f106a444f7e1 *inst/doc/RnavGraph.Rnw -c0fc7fb9522e1aa12c513d40c28e87c4 *inst/doc/RnavGraph.pdf -878bc5d97e8fc74bcd1c30ecfee54ac4 *inst/doc/img/Iris2D.png -477b04aa2ae7bae02581a52b705518f3 *inst/doc/img/Iris3Dgraph.png -cd30f1a534564bf00f5c4cf266f8ec7b *inst/doc/img/all.png -009b8efae8b69597b198849bfcb93554 *inst/doc/img/aloi.jpg -6550c8c81e544a37def56fb9a323f2c7 *inst/doc/img/f1_1.png -1f7ed692604c2607304d03894150b02f *inst/doc/img/f1_2.png -6c7a5413dc5235a93d922c01c3d41a80 *inst/doc/img/f2_1.png -46ea8aa7c6fd8690a6e4825577fae793 *inst/doc/img/f2_2.png -22d80a8c8cfc0cb0415ef8c8ec64ff9e *inst/doc/img/ggobicolors.png -e85e39f0c1b31174122301a7ebf530dd *inst/doc/img/graph.eps -65578f85a79af4fee98a76464e1328ab *inst/doc/img/graph.png -b1e6188270d3e23696fa39eb03f83d93 *inst/doc/img/imageDigits.png -25c8907faab1358cdd0009ddd7141303 *inst/doc/img/m1_1.png -0a1e7bdc76999567e86815d11dbe081b *inst/doc/img/m1_2.png -7343d5059fdf3a0b7f10bf6d08ef2fc0 *inst/doc/img/m2_1.png -401e400fdc0dbdc1bfbfb372df2f13c6 *inst/doc/img/m3_1.png -4593ccbe6481fce1ac3f88a656b723a8 *inst/doc/img/m4_1.png -1ee7ea1c187f556aa4f5cb25c6476bb7 *inst/doc/img/m4_2.png -fc413f742ddf8b23403a83ace580cf23 *inst/doc/img/tk2dGlyphs.png -e013f0b9593f0719daaa6f1d4021b8e4 *inst/doc/img/tk2dImagesObject.png -d375579ac402230f63022b6c4c175d84 *inst/doc/img/tk2dcolors.png -da4df93cb36f339047580637e3cb2e03 *inst/doc/img/tk2dcolors2.png -e779e463f7a934c1bdb9915ec1fe86c7 *inst/doc/img/tk2dimages1.png -43fad6779d744553274c9bf95c1833c8 *inst/doc/lg.tex -e13b04983886f49dac831bda2cba3aa2 *inst/doc/p_prod.tex -dd48da26f924e1d4d2653d3105578d84 *inst/doc/products.tex -4b6a83fceb0a46bd44a28412e738589e *inst/doc/rep_p_GLG.tex -dc58885a2f671bc0d1584f82463777cd *inst/doc/temp.tex -2c834ba48bb44cb8c139d56a17c6a8c4 *inst/doc/tikz_animation.tex -aafd56543b925aed202d49f92d882273 *inst/doc/tikz_drag.tex -cc550adbced477dcddcbea1f5437a6b9 *inst/doc/tikz_edgeSelect.tex -3b3f4674b263a815e75f0e6a66d18852 *inst/doc/tikz_modifyGraph.tex -28d4af98c9a46f85b9261de3ca6029ea *inst/doc/tikz_tk2d_main.tex -d0c5c9a08c6b1dcb3ac39801d14d9a44 *inst/doc/tikz_walk.tex +ff1cda694de51a83619676e3aca1c099 *demo/ng_own_viz.R +0a75373364cfcf4acae0aa67e48c3533 *inst/doc/RnavGraph.Rnw +e084b049d0c279a64fb3879ebc2d99a2 *inst/doc/RnavGraph.pdf b32561c5cecdc451ee9a893f3efecd4b *inst/tcl/GraphDisplay.tcl ffbe67dcab0a0c7cf371524ffcba5a4d *inst/tcl/tkScatterplotV1.tcl 94bfc13ab09e12cfb4bbc2b23e0f4c05 *inst/tcl/tkScatterplotV3.tcl +7fe06be4cd19b953d792103066d4f82d *man/NG_Visualization-class.Rd fcf942d65d03b25a11106409c14af668 *man/RnavGraph-package.Rd +07922988b115e438a8e5add4336c8c4f *man/closeViz-methods.Rd +700a1961452feac558f03008d4472a0d *man/closeViz.Rd 16a162c79bcfcde2903c1a68051cf96b *man/completegraph.Rd +7d1c17f72800605005eeb066e8d6a350 *man/initializeViz-methods.Rd +097a6a3720a0d3ee8d81ff1f9dde583f *man/initializeViz.Rd fec7fc31e3554fea6c084b41c91277a6 *man/linegraph-methods.Rd e12bacf23993c4833cf2f18e24fa523f *man/linegraph.Rd 23fc1cc5fa7dc02e4cba238cf144d005 *man/names-methods.Rd @@ -97,10 +69,10 @@ c4adb6b9a195636bd632ac7d9f98ffa2 *man/ng_set-methods.Rd 20eca46584cd0f5fdd3fa813afc74eff *man/ng_set.Rd a18077f974df647145afbc7b7be162ff *man/ng_set_--methods.Rd 5a778a47bffaa80d1b14abb1dc81837f *man/ng_set_color_--methods.Rd -e7f2e37780f69804800bf24df4f60407 *man/ng_set_colorsetter.Rd +2c796181da603415f70c15cb68840ed6 *man/ng_set_colorsetter.Rd eb5cc7203ef6e31da1ac058b6be5f405 *man/ng_set_size_--methods.Rd -54a4889c51d158d2e449b2c2d6b8d972 *man/ng_set_sizesetter.Rd -41cf0b2979793d8723fbf6327e3fd8d0 *man/ng_setsetter.Rd +dab227fdd3ebe78b0019edd970f30e73 *man/ng_set_sizesetter.Rd +d4adcce739a2d0ea40775f6decaa9306 *man/ng_setsetter.Rd fd830993143b83dc528b652468fb0ef3 *man/ng_update.Rd bdf78bafb92240d4cc24ff5bbf26ebe0 *man/ng_walk.Rd 28ccdf988d3266fda946af0b3194b1ce *man/olive.Rd @@ -112,6 +84,44 @@ af1140459efe391285be1eff17bb98d0 *man/scagGraph.Rd 13495c077cf5f60c74ce6338a5c7b500 *man/shortnames.Rd 4f10aaa642791491f9f5682292a5bc22 *man/shortnames_--methods.Rd 1527379a32776e5ad9114d4eaa2ebb60 *man/shortnamessetter.Rd +a233838b132c5818970c6e4843fc94b3 *man/updateViz-methods.Rd +21695414dce36a7a74d23d503d92d3a5 *man/updateViz.Rd fed9c5a7460a05800eabd118db8fc5f3 *src/Makevars -5a0116afd444d3d14245405f57f6f379 *src/display_stuff.c +29e0eb8662afe7e7b664ba8120fd9867 *src/display_stuff.c c6976d3548df7b5c048cdb5924166d8f *src/image_scale.c +0a75373364cfcf4acae0aa67e48c3533 *vignettes/RnavGraph.Rnw +878bc5d97e8fc74bcd1c30ecfee54ac4 *vignettes/img/Iris2D.png +477b04aa2ae7bae02581a52b705518f3 *vignettes/img/Iris3Dgraph.png +cd30f1a534564bf00f5c4cf266f8ec7b *vignettes/img/all.png +009b8efae8b69597b198849bfcb93554 *vignettes/img/aloi.jpg +6550c8c81e544a37def56fb9a323f2c7 *vignettes/img/f1_1.png +1f7ed692604c2607304d03894150b02f *vignettes/img/f1_2.png +6c7a5413dc5235a93d922c01c3d41a80 *vignettes/img/f2_1.png +46ea8aa7c6fd8690a6e4825577fae793 *vignettes/img/f2_2.png +22d80a8c8cfc0cb0415ef8c8ec64ff9e *vignettes/img/ggobicolors.png +e85e39f0c1b31174122301a7ebf530dd *vignettes/img/graph.eps +65578f85a79af4fee98a76464e1328ab *vignettes/img/graph.png +b1e6188270d3e23696fa39eb03f83d93 *vignettes/img/imageDigits.png +25c8907faab1358cdd0009ddd7141303 *vignettes/img/m1_1.png +0a1e7bdc76999567e86815d11dbe081b *vignettes/img/m1_2.png +7343d5059fdf3a0b7f10bf6d08ef2fc0 *vignettes/img/m2_1.png +401e400fdc0dbdc1bfbfb372df2f13c6 *vignettes/img/m3_1.png +4593ccbe6481fce1ac3f88a656b723a8 *vignettes/img/m4_1.png +1ee7ea1c187f556aa4f5cb25c6476bb7 *vignettes/img/m4_2.png +34f2d8d63c5a0b0d766c01cdefc09d08 *vignettes/img/settings.png +fc413f742ddf8b23403a83ace580cf23 *vignettes/img/tk2dGlyphs.png +e013f0b9593f0719daaa6f1d4021b8e4 *vignettes/img/tk2dImagesObject.png +d375579ac402230f63022b6c4c175d84 *vignettes/img/tk2dcolors.png +da4df93cb36f339047580637e3cb2e03 *vignettes/img/tk2dcolors2.png +e779e463f7a934c1bdb9915ec1fe86c7 *vignettes/img/tk2dimages1.png +43fad6779d744553274c9bf95c1833c8 *vignettes/lg.tex +e13b04983886f49dac831bda2cba3aa2 *vignettes/p_prod.tex +dd48da26f924e1d4d2653d3105578d84 *vignettes/products.tex +4b6a83fceb0a46bd44a28412e738589e *vignettes/rep_p_GLG.tex +dc58885a2f671bc0d1584f82463777cd *vignettes/temp.tex +2c834ba48bb44cb8c139d56a17c6a8c4 *vignettes/tikz_animation.tex +aafd56543b925aed202d49f92d882273 *vignettes/tikz_drag.tex +cc550adbced477dcddcbea1f5437a6b9 *vignettes/tikz_edgeSelect.tex +3b3f4674b263a815e75f0e6a66d18852 *vignettes/tikz_modifyGraph.tex +28d4af98c9a46f85b9261de3ca6029ea *vignettes/tikz_tk2d_main.tex +d0c5c9a08c6b1dcb3ac39801d14d9a44 *vignettes/tikz_walk.tex diff --git a/NAMESPACE b/NAMESPACE index a138b0d..59b81ff 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -24,8 +24,8 @@ importFrom(RBGL,kamadaKawaiSpringLayout,fruchtermanReingoldForceDirectedLayout) scagGraph, scagEdgeWeights, plot, - ng_get_color, - ng_get_size + ng_get_color, + ng_get_size ) #exportPattern("^ng_") @@ -39,7 +39,8 @@ export("ng_set_size<-") #export(plot) ##visualization #exportClass(NG_Visualization, NG_Viz2DAxis) -#export(inititializeViz, updateViz, closeViz) +exportClass(NG_Visualization) +export(initializeViz, updateViz, closeViz) ## scagGraph #export(scagNav,scagGraph,scagEdgeWeights) diff --git a/NEWS b/NEWS index c321ec1..3b9236c 100644 --- a/NEWS +++ b/NEWS @@ -1,8 +1,11 @@ +New to Version 0.1.2 +-------------------- +* Added Slicing + New to Version 0.1.1 -------------------- * Brushing Bug Fix for tk2d - New to Version 0.1.0 -------------------- * new functions/methods: ng_get_color, ng_set_color<-, ng_get_size, ng_set_size<- diff --git a/R/AllGenerics.R b/R/AllGenerics.R index c64e25e..b263d38 100644 --- a/R/AllGenerics.R +++ b/R/AllGenerics.R @@ -53,8 +53,8 @@ setGeneric(name = "adjacent", ## NG_Visualization setGeneric( - name = "inititializeViz", - def = function(viz,ngEnv){standardGeneric("inititializeViz")}) + name = "initializeViz", + def = function(viz,ngEnv){standardGeneric("initializeViz")}) setGeneric( name = "updateViz", diff --git a/R/FunctionNavGraph.R b/R/FunctionNavGraph.R index 129cd6f..ff1f29e 100644 --- a/R/FunctionNavGraph.R +++ b/R/FunctionNavGraph.R @@ -27,7 +27,7 @@ ## switching a graph calls .closePlots and .initializePlots ## changing the bullet state invokes .updatePlots .initializePlots <- function(ngEnv) { - assign(ngEnv$selViz,sapply(get(ngEnv$selViz,envir = ngEnv),function(viz)inititializeViz(viz,ngEnv)),envir = ngEnv) + assign(ngEnv$selViz,sapply(get(ngEnv$selViz,envir = ngEnv),function(viz)initializeViz(viz,ngEnv)),envir = ngEnv) } .updatePlots <- function(ngEnv) { diff --git a/R/Visualization2D.R b/R/Visualization2D.R index 7e6dbcc..2da3810 100644 --- a/R/Visualization2D.R +++ b/R/Visualization2D.R @@ -233,3 +233,6 @@ ng_2d_dist <- function(viz,ngEnv) { } return(d) } + + + diff --git a/R/Viz2D_Axis.R b/R/Viz2D_Axis.R index 0474be1..d6c2460 100644 --- a/R/Viz2D_Axis.R +++ b/R/Viz2D_Axis.R @@ -45,7 +45,7 @@ ng_2d_myplot <- function(data,graph,fnName, device = "base", scaled=TRUE){ setMethod( - f = "inititializeViz", + f = "initializeViz", signature = "NG_Viz2DAxis", definition = function(viz,ngEnv){ diff --git a/R/Viz2D_Ggobi.R b/R/Viz2D_Ggobi.R index f826a14..a7158bb 100644 --- a/R/Viz2D_Ggobi.R +++ b/R/Viz2D_Ggobi.R @@ -44,7 +44,7 @@ ng_2d_ggobi <- function(data,graph){ ## Initialize Plots setMethod( - f = "inititializeViz", + f = "initializeViz", signature = "NG_Viz2D_Ggobi", definition = function(viz,ngEnv){ diff --git a/R/Viz2D_tk2d.R b/R/Viz2D_tk2d.R index 27a5094..7aa903e 100644 --- a/R/Viz2D_tk2d.R +++ b/R/Viz2D_tk2d.R @@ -76,7 +76,7 @@ ng_2d <- function(data, graph, images = NULL, glyphs = NULL) { ## Initialize Plots setMethod( - f = "inititializeViz", + f = "initializeViz", signature = "NG_Viztk2d", definition = function(viz,ngEnv){ diff --git a/R/navGraph.R b/R/navGraph.R index 1105b1b..59014eb 100644 --- a/R/navGraph.R +++ b/R/navGraph.R @@ -58,7 +58,7 @@ navGraph <- function(data, graph = NULL, viz = NULL, settings = NULL) { if(all(sapply(get(arg),function(x){is(x,arg_class)}))){ assign(paste(arg,"List", sep = ''),get(arg)) }else{ - stop(paste("[navGraph] elements in list ",arg," are not from class NG_",arg, sep = '')) + stop(paste("[navGraph] elements in list ",arg," are not from class ",arg_class, sep = '')) } } else { stop(paste("[navGraph] argument ",arg," is neither a list of NG_", arg," objects nor a NG_", arg," object",sep = '')) @@ -927,7 +927,7 @@ navGraph <- function(data, graph = NULL, viz = NULL, settings = NULL) { ## Tk Canvas Scatterplot - whichScaledData <- sapply(vizList,function(x){any(class(x) %in% c("NG_Viztk2d","NG_Viz2DAxis"))}) + whichScaledData <- sapply(vizList,function(x){is(x,"NG_Viztk2d")|is(x,"NG_Viz2DAxis")}) if(any(whichScaledData)) { ngEnv$scaledData <- list() @@ -960,7 +960,7 @@ navGraph <- function(data, graph = NULL, viz = NULL, settings = NULL) { ngEnv$t.vizcounter <- 1 vizList <- lapply(vizList, FUN = function(viz){ - if(class(viz) == "NG_Viztk2d") { + if(is(viz,"NG_Viztk2d")) { viz@viz_name <- paste("viz",t.vizcounter,sep = '') vizN <- viz@viz_name diff --git a/R/zzz.R b/R/zzz.R index 45f5701..5cdb4c2 100644 --- a/R/zzz.R +++ b/R/zzz.R @@ -18,9 +18,7 @@ ## load Img tk extension sysname <- Sys.info()[1] didLoad <- TRUE - if(sysname == "Windows") { - ## TODO: Img extension for windows. Alternative R functions? - } else if (sysname == "Darwin") { + if (sysname == "Darwin") { addTclPath("/System/Library/Tcl") didLoad <- tclRequire('Img') } else { @@ -28,7 +26,7 @@ } if(identical(didLoad,FALSE)) { - warning("Can not load the tk Img extension. Hence you can not use the 'ng_image_files' R function.") + warning("Can not load the tk Img extension. Hence you can not use the 'ng_image_files' R function. Read the package vignette on how to set up tcl/tk.") } } @@ -37,4 +35,4 @@ packageStartupMessage("\nRnavGraph Version ", utils::packageDescription("RnavGraph", field="Version"), '\nPlease read the package vignette. Use vignette("RnavGraph").\n\n') -} \ No newline at end of file +} diff --git a/demo/00Index b/demo/00Index index aa5d3cd..7a5b399 100644 --- a/demo/00Index +++ b/demo/00Index @@ -12,3 +12,4 @@ ng_2d_myplot_grid Scatterplots using the grid plotting device, data = iris ng_2d_myplot_rgl Scatterplots using the rgl plotting device, data = iris ng_2d_myplot_hexbin Bivariate Binning into Hexagon Cells, data = iris ng_2d_scagnostics_olive Scagnostics example using the olive data set +ng_own_viz Create own visualization instructions using initializeViz, updateViz and closeViz diff --git a/demo/ng_own_viz.R b/demo/ng_own_viz.R new file mode 100644 index 0000000..cb6b5f3 --- /dev/null +++ b/demo/ng_own_viz.R @@ -0,0 +1,94 @@ +require(RnavGraph) || stop("RnavGraph library not available") +local({ + ## Import the data + ng.iris <- ng_data(name = "iris", data = iris[,1:4], + shortnames = c('s.L', 's.W', 'p.L', 'p.W'), + group = iris$Species, + labels = substr(iris$Species,1,2)) + + ## get the variable graph node names + V <- shortnames(ng.iris) + + ## create the linegraph and its complement + G <- completegraph(V) + LG <- linegraph(G) + LGnot <- complement(LG) + + ## geberate NG_graph objects + ng.lg <- ng_graph(name = '3D Transition', graph = LG, layout = 'circle') + ng.lgnot <- ng_graph(name = '4D Transition', graph = LGnot, layout = 'circle') + + + + + ## Create New Visualization Instructions + ## Class + setClass( + Class="testVizClass", + representation = + representation( + ## No additional slots + ), + contains = "NG_Visualization" + ) + ## object creater + myViz <- function(data,graph) { + if(is(data,"NG_data") == FALSE){ + stop("data is no NG_data object.\n") + } + if(is(graph,"NG_graph") == FALSE){ + stop("graph is no NG_graph object.\n") + } + + return(new( + "testVizClass", + graph = graph@name, + data = data@name + )) + } + + ## methods + setMethod( + f = "initializeViz", + signature = "testVizClass", + definition = function(viz,ngEnv){ + print(paste('You switched to the graph', viz@graph)) + return(viz) + }) + + setMethod( + f = "updateViz", + signature = "testVizClass", + definition = function(viz,ngEnv){ + print(paste('You current state is:', + ngEnv$bulletState$from, 'to', + ngEnv$bulletState$to, 'and', + floor(ngEnv$bulletState$percentage*100), 'percent in between')) + return(viz) + }) + setMethod( + f = "closeViz", + signature = "testVizClass", + definition = function(viz,ngEnv){ + print(paste('Bye Bye', viz@graph)) + return(viz) + }) + + + ## custom visualization instructions + vizNew <- myViz(ng.iris,ng.lg) + + ## visualization instructions for 2d scatterplots + viz3dTransition <- ng_2d(ng.iris,ng.lg, glyphs=c("s.L","s.W","p.L","p.W")) + viz4dTransition <- ng_2d(ng.iris,ng.lgnot, glyphs=c("s.L","s.W","p.L","p.W")) + + + ## pack them into list + viz <- list(viz3dTransition, viz4dTransition, vizNew) + graphs <- list(ng.lg, ng.lgnot) + + ## start navGraph + nav <- navGraph(data = ng.iris, graph = graphs, viz = viz, settings=list(tk2d=list(linked=FALSE))) +}) + +cat(paste("\n\nThe source code of this demo file is located at:\n",system.file("demo", "ng_2d_iris.R", package="RnavGraph"),"\n\n\n")) diff --git a/inst/doc/RnavGraph.Rnw b/inst/doc/RnavGraph.Rnw index 88a1340..9ba6b25 100644 --- a/inst/doc/RnavGraph.Rnw +++ b/inst/doc/RnavGraph.Rnw @@ -37,23 +37,49 @@ %\end{center} \section{Installation} -We tried to keep the dependencies low, however to try all demos or the compile the package from source you need quite a few packages running on your computer. Linux users need the \texttt{libtk-img-dev}, \texttt{tcl-dev} and \texttt{tk-dev} system libraries installed. We recommend to install the suggested (optional, but needed for demos) packages, run the following sequence of code an \texttt{R} session with administrator/root rights +\texttt{RnavGraph} depends on a working \texttt{tcl/tk} build and on two \texttt{R} packages that do not come with an \texttt{R} base installation, i.e. the \texttt{graph} and \texttt{RBGL} packages from the bioconductor repositories. However we suggest you to install a couple of other packages from the \texttt{CRAN} repositories in order run all the package demos.\\ + +Getting the \texttt{tcl/tk} build (version 8.5) set up correctly requires different steps on each OS: +\begin{itemize} +\item \textbf{OSX}: A \texttt{tcl/tk} build for \texttt{X11} is required. Go to the R project webpage (www.r-project.org) and follow link ``download R'', choose the \texttt{CRAN} server closest to you, follow the ``Download R for MacOS X'' link and then the ``tools'' link in the ``Subdirectories'' section. Download and install the \texttt{tcl/tk} 8.5 build. +\item \textbf{Linux}: Linux users need the \texttt{libtk-img-dev}, \texttt{tcl-dev} and \texttt{tk-dev} system libraries for \texttt{tcl/tk} version 8.5 installed. +\item \textbf{Windows}: If you plan to import images from files (\texttt{.png,.jpg}, etc.) you need a working \texttt{Img} tcl extension. It is easiest to install the free \texttt{ActiveTcl} build and link \texttt{R} against it. To do so + \begin{itemize} + \item download \texttt{ActiveTcl} from \verb|http://www.activestate.com/activetcl| (maybe 32 bit and 64 bit if you use both \texttt{R} versions) + \item install \texttt{ActiveTcl} say under \verb|C:/Tcl32| or \verb|C:/Tcl64| + \item edit the Rgui shortcut (right click and select properties) by adding \verb|MY_TCLTK=C:/Tcl32| at the end of the target property. + \end{itemize} + % see https://stat.ethz.ch/pipermail/r-help/2005-August/077811.html +\end{itemize} + +\texttt{RnavGraph} requires \texttt{tcl/tk} version 8.5. Any other version won't work with \texttt{RnavGraph}. You may check your \texttt{tcl/tk} version accessible from \texttt{R} by starting \texttt{R} and entering +<>= +library(tcltk) +.Tcl('set tcl_version') +@ + +Once \texttt{tcl/tk} is set up correctly, start an \texttt{R} session (under linux with root rights) and enter the following code to install the dependencies. + <>= -install.packages(c("PairViz", "scagnostics", "rgl", "grid", - "MASS", "RGtk2", "hexbin", "vegan"), dependencies = TRUE) source("http://www.bioconductor.org/biocLite.R") biocLite("graph") biocLite("RBGL") biocLite("RDRToolbox") + +install.packages(c("PairViz", "scagnostics", "rgl", "grid", + "MASS", "RGtk2", "hexbin", "vegan", "png"), dependencies = TRUE) @ -\texttt{RnavGraph} and \texttt{RnavGraphImageData} are then installed as follows + +Check for errors and warnings. \texttt{RnavGraph} and \texttt{RnavGraphImageData} are then installed as follows <>= install.packages("RnavGraph") install.packages("RnavGraphImageData") @ -In order to install \texttt{rggobi} and \texttt{Rgraphviz} you need to make sure to install the program \texttt{graphviz} and \texttt{ggobi} before the corresponding \texttt{R} packages. +In order to install \texttt{rggobi} and \texttt{Rgraphviz} you need to make sure to install the programs \texttt{graphviz} and \texttt{ggobi} before installing the corresponding \texttt{R} packages.\\ +If you experience any problems, watch the installation videos on \verb|www.navgraph.com| or contact us. +\newpage \section{Introduction} \texttt{RnavGraph} provides interactive visualization tools for exploring high dimensional space through lower dimensional trajectories, based on the concepts first presented in Hurley and Oldford (2011). @@ -61,10 +87,6 @@ In order to install \texttt{rggobi} and \texttt{Rgraphviz} you need to make sure \subsection{Getting started} The \texttt{RnavGraph} package is available from the Comprehensive R Archive Network (CRAN). We used extensively S4 classes and the Tcl and Tk API via the \texttt{tcltk} R package. Most of the visualization, both for the graph and the 2d scatterplots, build upon the Tk canvas widget.\\ -\texttt{RnavGraph} depends on the packages: \texttt{methods}, \texttt{graphics}, \texttt{tcltk}, \texttt{graph} and \texttt{RBGL}. However to be able to run all demos and examples we suggest to install the following packages: \texttt{Rgraphviz}, \texttt{PairViz}, \texttt{scagnostics}, \texttt{rgl}, \texttt{grid}, \texttt{MASS}, \texttt{hexbin}, \texttt{RDRToolbox} and, optionally, \texttt{rggobi}. These packages are available through the CRAN and/or Bioconductor R repositories. \\ - -Linux users should make sure that \texttt{tcl} and \texttt{tk} are installed. Further the package needs the following libraries (on a Ubuntu 10.04 system): \texttt{libtk-img}, \texttt{libtk-img-dev}, \texttt{tcl-dev} and \texttt{tk-dev}.\\ - Once the package and all of its dependencies have been installed, \texttt{RnavGraph} is loaded using <>= library(RnavGraph) @@ -378,7 +400,7 @@ and finally we can pass them all to the \texttt{navGraph} GUI initializing funct <>= nav <- navGraph(graph = graphs, data = ng.iris, viz = viz) @ -where \texttt{nav} is the navGraph handler.\\ +where \texttt{nav} is the navGraph handler, more about it later.\\ This example session shows essentially the work flow of using \texttt{navGraph}. The rest of this vignette discusses each step in detail. It also shows a variety of visualizations. @@ -415,13 +437,13 @@ shortnames(ng.iris) shortnames(ng.iris) <- c('s.L', 's.W', 'p.L', 'p.W') @ -let's see the output summary of \texttt{ng.iris} +let's see the output summary of the modified \texttt{ng.iris} object <<>>= print(ng.iris) @ -all the other data stored in a \texttt{NG\_data} object can be accessed via the \texttt{ng\_get} and modified via the \texttt{ng\_set} function. +all the information stored in a \texttt{NG\_data} object can be accessed via the \texttt{ng\_get} and modified via the \texttt{ng\_set} function. <<>>= ng_get(ng.iris) ## See what can be accessed @@ -440,7 +462,7 @@ ng_set(ng.iris,"labels") <- as.character(iris$Species) \subsection{group argument} -The \texttt{group} argument of the \texttt{ng\_data} function deserves its own subsection, as it maps to the color of the points, images, glyphs, etc. We herefore create a small toy example: +The \texttt{group} argument of the \texttt{ng\_data} function deserves its own subsection, as it defines the color of the points, images, glyphs, etc. in the visualization displays. We herefore create a small toy example: <<>>= x <- rep(1:30, each = 30) @@ -478,7 +500,7 @@ herefore. \caption{Mapping of the \texttt{group} argument to colors in the ggobi display.} \end{figure} -For the \modify{\texttt{tk2d}} display, the \texttt{group} variable could also be a vector of strings contained in the \texttt{colors()} output. For example +For \texttt{RnavGraph}s default display (\texttt{tk2d}, see later), the \texttt{group} variable could also be a vector of strings contained in the \texttt{colors()} output. For example <>= x <- rep(1:3, each = 3) @@ -510,7 +532,7 @@ vignette(package="RBGL") vignette(package="Rgraphviz") @ -The \texttt{graph()} package does, to our understanding, not deliver any simple creator functions, that is the user is left to use the \texttt{new()} creator function. +The \texttt{graph} package does, to our understanding, not deliver any simple creator functions, that is the user is left to use the \texttt{new()} creator function. <<>>= adjM <- matrix(c(0,4,1,0,2,0,3,2,2,2,0,0,0,2,0,0), ncol = 4) @@ -550,7 +572,7 @@ G <- newgraph(nodeNames = LETTERS[1:5], mat = ftEmat) plot(G, "neato") @ \end{center} -Note how the node ``E'' was added to the graph. Graphs can also be directed, however \texttt{RnavGraph} does not constrain the bullet in direction if an edge exists. Hence this feature is for the current \texttt{RnavGraph} version not from importance, however for completeness +Note how the node ``E'' was added to the graph because it was specified in the \texttt{nodeNames} argument of \texttt{newgraph}. Graphs can also be directed, however \texttt{RnavGraph} does not constrain the bullet in direction if an edge exists. Hence this feature is for the current \texttt{RnavGraph} version not from importance, however for completeness the following code works as expected \begin{center} <>= @@ -570,14 +592,14 @@ plot(G, "neato") @ \end{center} -Weights can also added to Graphs via the weights argument. Note however that \texttt{navGraph} does not visualize them, however they might be important for greedy path finding algorithms +Weights can also be added to Graphs via the weights argument. Note however that \texttt{navGraph} does not visualize them, but they might be important for greedy path finding algorithms <<>>= weights <- c(2,1,3,4) G <- newgraph(nodeNames = LETTERS[1:5], mat = ftEmat, weights = weights) edgeData(G, attr = "weight") @ -Or alternatively you can add weights after the graph creation process +Alternatively you can add weights after the graph creation process <<>>= G <- newgraph(nodeNames = LETTERS[1:5], mat = ftEmat, weights = weights, directed = TRUE) edgeData(G, attr = "weight") @@ -606,39 +628,40 @@ weightsM <- matrix(c(0,0,5,0,2,0,1,3,0,0,0,0,0,7,0,0), ncol = 4) G <- newgraph(nodeNames = V, mat= adjM, weights = weightsM, directed = TRUE, isAdjacency=TRUE) edgeData(G, attr = "weight") @ -Further the \texttt{ftM2adjM} function converts a from-to-edge matrix into a adjacency matrix +Further, the \texttt{ftM2adjM} function converts a from-to-edge matrix into a adjacency matrix <<>>= ftM2adjM(ftEmat) @ \subsubsection{linegraph and its complement} -After creating a variable graph, getting its linegraph and the complement of the linegraph yields the 3d- and 4d transition graph. We provide the \texttt{linegraph} and the \texttt{graph} package provides the \texttt{complement} function herefore. The linegraph has the separator \texttt{sep} argument to distinguish the node names. You must chose a string that does not occur within the node names. +After creating a variable graph, getting its linegraph and the complement of the linegraph yields the 3d- and 4d transition graph. We provide the \texttt{linegraph} function, and the \texttt{graph} package provides the \texttt{complement} function. The \texttt{linegraph} function has the separator \texttt{sep} argument to distinguish the node names. You must chose a string that does not occur within any of the node names within the graph. <<>>= G <- completegraph(V) LG <- linegraph(G, sep = '::') nodes(LG) @ -\modify{Notice, if G had edge weights, then they are lost now. Also the line graph is only defined for undirected graphs at the moment.} +\modify{Notice, if G had edge weights, then they are lost now. Also, the line graph is only defined for undirected graphs at the moment.} -\subsection{The \texttt{NG\_data} object} -The user can get his graphs in whatever ways he want. In the end, the node names must be in sync with the shortnames or names of the \texttt{NG\_data} object, and the graph must be from the \texttt{graph} class and subsequently the \texttt{NG\_graph} class.\\ +\subsection{The \texttt{NG\_graph} object} +The good thing about using the \texttt{graph} package is, that it makes the graph construction process very flexible. In the end, however, the node names of the graph must be in sync with the shortnames or the names of the \texttt{NG\_data} object, and the graph must be from the \texttt{graph} class and subsequently the \texttt{NG\_graph} class.\\ -It stays to create an \texttt{NG\_data} object +It stays to create an \texttt{NG\_graph} object <<>>= ng.LG <- ng_graph(name = "3D Transition", graph = LG, sep = '++', layout = "circle") ng.LG @ -Note that you have to specify the \texttt{sep} argument again. The reason herefore is that you could pass on any graph with any dimensionality of node names (e.g. ``A:B:C:D'' for four dimensions). In addition, you can specify the graph layout. Currently \texttt{circle}, \texttt{random} \modify{(currently not working)}, \texttt{kamadaKawaiSpring} and \texttt{fruchtermanReingold} are possible options for the layout. We use the \texttt{RBGL} package to get the latter two layouts. The complement does not need any special considerations +Note that you have to specify the \texttt{sep} argument again. The reason herefore is that you could pass on any graph with any dimensionality of node names (e.g. ``A:B:C:D'' for four dimensions). In addition, you can specify the graph layout. Currently \texttt{circle}, \texttt{random} \modify{(currently not working)}, \texttt{kamadaKawaiSpring} and \texttt{fruchtermanReingold} are possible options for the layout. We use the \texttt{RBGL} package to get the latter two layouts. The \texttt{complement} function does not need any special considerations: <<>>= LGnot <- complement(LG) -ng.LGnot <- ng_graph(name = "4D Transition", graph = LGnot, sep = "::", layout = "circle") +ng.LGnot <- ng_graph(name = "4D Transition", + graph = LGnot, sep = "::", layout = "circle") @ -The name of each \texttt{NG\_graph} object, as for the \texttt{NG\_data} object, must be unique within all graphs passed on to the \texttt{navGraph} function. \texttt{NG\_graph} objects can be plotted +The name of each \texttt{NG\_graph} object, as for the \texttt{NG\_data} object, must be unique within all graphs passed on to the \texttt{navGraph} function. \texttt{NG\_graph} objects can also be plotted, however they get rendered by \texttt{RnavGraph} according to the layout argument. \setkeys{Gin}{width=0.8\textwidth} \begin{center} <>= @@ -648,17 +671,17 @@ plot(ng.LGnot) @ \end{center} -As for the \texttt{NG\_data} object, you can access or modify with the \texttt{ng\_get} and \texttt{ng\_set} function, respectively. +Further, similarly as for the \texttt{NG\_data} object, you can access or modify with the \texttt{ng\_get} and \texttt{ng\_set} function, respectively. <<>>= ng_get(ng.LG) ng_set(ng.LG, "name") <- "3d transition graph" @ -\modify{Careful, some things are linked: graph, visitedEdges and layout. Changing one should affect the whole object (which it does not at the moment)}. +\modify{Careful with the use of \texttt{ng\_set}, some things are linked: graph, visitedEdges and layout. Changing one should affect the whole object (which it does not at the moment). So it's better not to use \texttt{ng\_set} on \texttt{NG\_graph} objects.} \section{Visualization Instructions} -Once the \texttt{NG\_data} and \texttt{NG\_graph} objects have been defined, they have to be connected with some visualization instructions. That is, the visualization instructions tell \texttt{navGraph} what and how \texttt{navGraph} should visualize when the ball gets moved along the edges of the graph. Conceptually, \texttt{navGraph} allows for any visualization of the data, as long the user can implement them. That is, there are no constrains to dimensionality of data represented by a node or the ``morphing'' defined along an edge. \modify{This feature is not documented yet, however you can achieve this with the \texttt{ng\_2d\_myplot} function}. However the \texttt{RnavGraph} package implements the 2d-scatterplot example \modify{for the moment} and provides an interface for the user to implement their own --possibly new-- ideas.\\ +Once the \texttt{NG\_data} and \texttt{NG\_graph} objects have been defined, they have to be connected with some visualization instructions. That is, the visualization instructions tell \texttt{navGraph} what and how \texttt{navGraph} should visualize when the ball gets moved along the edges of the graph. Conceptually, \texttt{navGraph} allows for any visualization of the data, as long the user can implement them. That is, there are no constrains to dimensionality of data represented by a node or the ``morphing'' defined along an edge. This task is especially easy if the \texttt{ng\_2d\_myplot} function is used. However for best efficiency the methods \texttt{initializeViz}, \texttt{updateViz} and \texttt{closeViz} can be used to implement own --possibly new-- ideas.\\ -For the 2d- scatterplot example, we need a device that plots some objects at the $x$ and $y$ euclidean coordinate. The objects could be either dots, images, glyphs, text or anything else you can imagine (and implement). There are many plotting devices available in \texttt{R} (e.g. traditional graphics, grid, rgl and ggobi) and \texttt{navGraph} can deal with most of them. However when it comes to speed and \modify{double buffering}, only few of them produce satisfactory output. In addition, different devices allow for different objects to be plotted. \modify{We have implemented a new device, lets call it \texttt{tk2d},} that builds upon the tk canvas widget (so does the interactive graph). Alternatively to \texttt{tk2d} one can use the \texttt{rggobi} package and \texttt{ggobi} to visualize the scatterplots. \texttt{ggobi} however does only allow to visualize dots, rectangles and \modify{crosses} in different colors. \texttt{Ggobi} has not been maintained for a while and hence does not run well on \modify{all to my knowledge?} current operating systems. For what follows, we will give a detailed explanation of each device. \modify{Most likely you only want to read the \texttt{tk2d} and \texttt{ggobi} subsection and then return to this section once you have more custom needs}. +For the 2d- scatterplot example, we need a device that plots some objects at the $x$ and $y$ euclidean coordinate. The objects could be either dots, images, glyphs, text or anything else you can imagine (and implement). There are many plotting devices available in \texttt{R} (e.g. traditional graphics, grid, rgl and ggobi) and \texttt{navGraph} can deal with most of them. However when it comes to speed and \modify{double buffering}, only few of them produce satisfactory output. In addition, different devices allow for different objects to be plotted. \modify{We have implemented a new device, lets call it \texttt{tk2d},} that builds upon the tk canvas widget (so does the interactive graph). Alternatively to \texttt{tk2d} one can use the \texttt{rggobi} package and \texttt{ggobi} to visualize the scatterplots. \texttt{ggobi} however does only allow to visualize dots, rectangles and \modify{crosses} in different colors. \texttt{Ggobi} has not been maintained for a while and hence does not run well on (\modify{all to my knowledge}) current operating systems. For what follows, we will give a detailed explanation of each device. \modify{Most likely you only want to read the \texttt{tk2d} and \texttt{ggobi} subsection and then return to this section once you have more custom needs}. \subsection{\texttt{tk2d}} @@ -761,13 +784,13 @@ Once the \texttt{tk2d} device is started, there is a whole set of interaction to viz1 <- ng_2d(data = ng.iris, graph = ng.lg) viz1 @ -Notice the output of the \texttt{viz1} object. It says that it addresses the \texttt{tk2d} device which displays a scatterplot and that it connects the \texttt{NG\_graph} object with the name ``\Sexpr{viz1@graph}'' with the \texttt{NG\_data} object with the name ``\Sexpr{viz1@data}''. Hence if you weren't to choose the graph and data names unique, \texttt{navGraph} would not know how to link them correctly. \texttt{navGraph} has no bound on the number of visualization instructions you can pass on as an argument. So lets define another \texttt{tk2d} visualization object +Notice the output of the \texttt{viz1} object. It says that it addresses the \texttt{tk2d} device which displays a scatterplot and that it connects the \texttt{NG\_graph} object with the name ``\Sexpr{viz1@graph}'' with the \texttt{NG\_data} object with the name ``\Sexpr{viz1@data}''. Hence if you weren't to choose the graph and data names unique, \texttt{navGraph} would not know how to link them correctly. \texttt{navGraph} has no lower bound on the number of visualization instructions you can pass on as an argument. So lets define another \texttt{tk2d} visualization object <<>>= viz2 <- ng_2d(data = ng.iris, graph = ng.lgnot) @ \subsubsection{Working with Images (from some text source)} -The main reason we implemented the \texttt{tk2d} device is because we wanted the \texttt{RnavGraph} package to be useful to explore image data. All images get imported as tcl \texttt{image} objects since they later will be displayed on a tk canvas widget. This has the implication that the user needs a running \texttt{Img} tcl extension set up for the tcltk version R connects to via the \texttt{tcltk} R package. If the images however eventually exist as an R object of some sort (e.g. a matrix), the tcl \texttt{Img} extension is not needed. For the examples in this vignette and for some of the demos, we require the \texttt{RnavGraphImageData} package. +The main reason we have implemented the \texttt{tk2d} device is because we wanted the \texttt{RnavGraph} package to be useful to explore image data. All images get imported as tcl \texttt{image} objects since they later will be displayed on a tk canvas widget. If you want to import images from image files (such as jpg or png), you need running \texttt{Img} tcl extension set up for the tcltk version R connects to via the \texttt{tcltk} R package, see the section installation instructions. If the images, however, eventually exist as an R object of some sort (e.g. a matrix), the tcl \texttt{Img} extension is not needed. For the examples in this vignette and for some of the demos, we require the \texttt{RnavGraphImageData} package. <<>>= library(RnavGraphImageData) @ @@ -775,18 +798,18 @@ you can get an overview of the data provided by the package with <>= data(package='RnavGraphImageData') @ -\modify{Much of this data is from the webpage of Sam Roweis \tiny{http://www.cs.nyu.edu/$\sim$roweis/data.html}}.\\ +Much of this data is from the webpage of Sam Roweis \verb|http://www.cs.nyu.edu/$\sim$roweis/data.html|.\\ Lets start with the USPS \texttt{digits} image data <<>>= data(digits) dim(digits) @ -from the help documentation (\modify{not done yet}) for the data set +from the help documentation for the data set <>= help("digits") @ -we get that the \texttt{digits} data consists of \modify{$16\times 16$ 8-bit grayscale images of ``0'' through ``9''; 1100 examples of each class}. That is, one image is stored in one column (which is often the case in the machine learning field). For example the data of one handwritten $8$ is +we get that the \texttt{digits} data consists of $16\times 16$ 8-bit grayscale images of ``0'' through ``9''; 1100 examples of each class. That is, one image is stored in one column (which is often the case in the machine learning field). For example the data of one handwritten $8$ is <>= matrix(digits[,7*1100+1],ncol = 16, byrow=FALSE) @ @@ -798,15 +821,17 @@ matrix(digits[,7*1100+1],ncol = 16, byrow=FALSE) options(width=w) @ \end{tiny} -Hence the gray scales are coded from $0$ to $255$. Since visualizing $11000$ digits is computationally expensive, we will continue with a sub-sample of the data +Hence the gray scales are coded from $0$ to $255$. Since visualizing $11000$ digits is computationally expensive, we will continue with a sub-sample of the data for this demo <<>>= sel <- sample(x=1:11000,size = 600) p.digits <- digits[,sel] @ % $ -In order for \texttt{tk2d} to be able to display the images, they need to be wrapped into a \texttt{NG\_image} object. Now, contrary to all the \texttt{NG\_...} objects we have encountered so far, the \texttt{NG\_image} class does not wrap the image data within itself. The \texttt{NG\_image} object contains only the names (character strings) of the images that (the names) tcl did automatically assign. That is, when importing an image into tcl, tcl names them consecutively, i.e. \texttt{image1}, \texttt{image2}, ..., so that they can readily be displayed when needed. Coming back to our \texttt{digits} example, the \texttt{ng\_image\_array\_gray} R function creates a \texttt{NG\_image} object from a \texttt{data.frame} object with values ranging from $0$ to $255$. +In order for \texttt{tk2d} to be able to display the images, they need to be wrapped into a \texttt{NG\_image} object. Now, contrary to all the \texttt{NG\_...} objects we have encountered so far, the \texttt{NG\_image} class does not wrap the image data within itself. The \texttt{NG\_image} object contains only the names (character strings) of the images that \texttt{tcl} did automatically assign. That is, when importing an image into tcl, tcl names them consecutively, i.e. \texttt{image1}, \texttt{image2}, ..., so that they can readily be displayed when needed. Coming back to our \texttt{digits} example, the \texttt{ng\_image\_array\_gray} R function creates a \texttt{NG\_image} object from a \texttt{data.frame} object with values ranging from $0$ to $255$. <<>>= -ng.i.digits <- ng_image_array_gray('USPS Handwritten Digits',p.digits,16,16,invert = TRUE, img_in_row = FALSE) +ng.i.digits <- ng_image_array_gray('USPS Handwritten Digits', + p.digits,16,16,invert = TRUE, + img_in_row = FALSE) @ the images can be seen with @@ -817,7 +842,7 @@ which would yield something like (it's random because of the sampling!) \begin{center} \includegraphics[width = 5cm]{img/tk2dimages1.png} \end{center} -where the scroll bar can be used to navigate through all the images. The name you specified does not have to be unique since here the image ids are the only important part. \modify{The name is only used for the \texttt{print} output of the \texttt{NG\_image} object}. We also need data on the images. Many scenario are possible, i.e. we could have measured data for each image or we could perform some kind of feature extraction for each image or we reduce the dimensionality (number of pixel) of each image to something manageable, say $4$ or $5$ dimension --rather than the commonly conveniently chosen two dimensions--. For the rest of this vignette, we choose the dimensionality reduction approach using isomap provided in the \texttt{vegan} (or also by the \texttt{RDRToolbox}) R package. +where the scroll bar can be used to navigate through all the images. The name you specified does not have to be unique since here the image ids are the only important part. \modify{The name is only used for the \texttt{print} output of the \texttt{NG\_image} object}. We also need meta-data on the images. Many scenario are possible, i.e. we could have measured data for each image or we could perform some kind of feature extraction for each image or we reduce the dimensionality (number of pixel) of each image to something manageable, say $4$ or $5$ dimension --rather than the commonly conveniently chosen two dimensions--. For the rest of this vignette, we choose the dimensionality reduction approach using isomap provided in the \texttt{vegan} (or also by the \texttt{RDRToolbox}) R package. <<>>= library(vegan) @ @@ -870,7 +895,7 @@ For other examples of importing greyscale images from txt data file see the \tex \subsubsection{Working with color Images (jpeg, png, etc...)} -If your image data source is a bmp, gif, ico, jpeg, pcx, pixmap, png, ppm, postscript, sgi, sun, tga, tiff, window, xbm or xpm file, the \texttt{ng\_image\_files} R function helps you to import the images into the \texttt{tcl} layer provided the \texttt{Img} tcl extension works properly. If you need to precess the image data in \texttt{R}, the R packages \ref{tab:ImagesInR} provide some functionality, however not for all the formats the \texttt{Img} tcl extension is capable of importing. Note however with the \texttt{shell} R command and an installed Imagemagik you can convert any images to almost any format you could wish for.\\ +If your image source is a file such as a bmp, gif, ico, jpeg, pcx, pixmap, png, ppm, postscript, sgi, sun, tga, tiff, window, xbm or xpm file, the \texttt{ng\_image\_files} R function helps you to import these images into the \texttt{tcl} layer provided the \texttt{Img} tcl extension works properly. If you need to precess the image data in \texttt{R}, the R packages in table \ref{tab:ImagesInR} provide some functionality, however not for all the formats the \texttt{Img} tcl extension is capable of importing. Note however with the \texttt{shell} R command and an installed \texttt{Imagemagik} you can convert any images to almost any format you could wish for.\\ <>= shell("convert image.png image.jpg") @ @@ -891,7 +916,6 @@ shell("convert image.png image.jpg") \caption{\modify{Table (almost) directly from the useR book "Morphometrics with R" page 33.}} \end{table} - We work with a data set from the Library of Amsterdam \modify{http://staff.science.uva.nl/$\sim$aloi/}. The download is the ``Quater resolution (192 $\times$ 144)'' which whose size is 60MB and contains $1000-250$ objects with each three different viewing angles \modify{2250} images. We have attached a resized version ($38x29$ pixels) in the \texttt{RnavGraphImageData} package in order to save space. \begin{center} @@ -905,7 +929,7 @@ aloi_images <- list.files(path=imgPath, full.names=TRUE) length(aloi_images) aloi_images[1:5] @ -We sample 400 images, so that we do not have to deal with all 2250 images. +We sample 400 images, so that we do not have to deal with all 2250 images at once. <>= sel <- sample(1:length(aloi_images),replace=FALSE) p.aloi_images <- aloi_images[sel] @@ -915,7 +939,7 @@ p.aloi_images <- aloi_images[sel] \modify{Note that the \texttt{rimage} package needs the \texttt{fftw-dev} (in ubuntu) package to perform Fast Fourier Transformations.}\\ -Now, lets import the images first into the tcl layer, herefore the \modify{universal function (for jpg,png, ...)} is \texttt{ng\_image\_files}: +Now, lets import the images first into the tcl layer, herefore the \modify{universal function (for jpg, png, etc.)} is \texttt{ng\_image\_files}: <>= ng.i.objects <- ng_image_files(name="ALOI objects", path=p.aloi_images) @ @@ -924,7 +948,7 @@ and again, you can see the images using ng.i.objects @ -In order to work with the image date we use the \texttt{readPNG} function from the \texttt{png} package. \modify{\texttt{readPNG} returns a three dimensional array with the red-blue-green contents for each pixel. For the ease of our demonstration we just get for each image the sum of each, red,green,blue, content} +In order to work with the image data in \texttt{R}, we use the \texttt{readPNG} function from the \texttt{png} package. \modify{\texttt{readPNG} returns a three dimensional array with the red-blue-green contents for each pixel. For the ease of our demonstration we just get for each image the total (sum) of red, green and blue content.} <>= library(png) imgData <- t(sapply(p.aloi_images, FUN=function(path){ @@ -935,7 +959,7 @@ imgData <- t(sapply(p.aloi_images, FUN=function(path){ return(c(r,g,b)) })) @ -Initializing a \texttt{navGraph} session on this data with the images stays the same as in the previous example +Initializing a \texttt{navGraph} session on this data and the images stays the same as in the previous example <>= ng.iso.objects <- ng_data(name = "ISO_objects", data = data.frame(imgData), @@ -954,7 +978,8 @@ vizObjects1 <- ng_2d(data = ng.iso.objects, graph = ng.LG, images = ng.i.objects vizObjects2 <- ng_2d(data = ng.iso.objects, graph = ng.LGnot, images = ng.i.objects) ## start navGraph -nav <- navGraph(data = ng.iso.objects, graph = list(ng.LG, ng.LGnot), viz = list(vizObjects1, vizObjects2)) +nav <- navGraph(data = ng.iso.objects, graph = list(ng.LG, ng.LGnot), + viz = list(vizObjects1, vizObjects2)) @ and you should expect to see something like @@ -1057,8 +1082,10 @@ A star glyph is a visual representation of one data entity. If the entity has p- \modify{We decided to use the last image as our star glyph visualization}. We take a look at glyphs using the \texttt{iris} data example. Data and graph object have been defined previous in this vignette. It just stays to define the visualization instructions with the glyph definition <<>>= -vizGlyph1 <- ng_2d(data = ng.iris, graph=ng.lg, glyph=names(ng.iris)[c(1,2,3,4,3,2,3,4,1)]) -vizGlyph2 <- ng_2d(data = ng.iris, graph=ng.lgnot, glyph=shortnames(ng.iris)[c(1,2,3,4,3,2,3,4,1)]) +vizGlyph1 <- ng_2d(data = ng.iris, graph=ng.lg, + glyph=names(ng.iris)[c(1,2,3,4,3,2,3,4,1)]) +vizGlyph2 <- ng_2d(data = ng.iris, graph=ng.lgnot, + glyph=shortnames(ng.iris)[c(1,2,3,4,3,2,3,4,1)]) vizGlyph2 @ Note that you can either use the \texttt{shortnames} or the \texttt{names} to define the glyph sequence. It stays to call \texttt{navGraph} @@ -1087,7 +1114,7 @@ and finally start \texttt{navGraph} <>= nav <- navGraph(ng.iris, list(ng.lg,ng.lgnot), list(vizGgobi1, vizGgobi2)) @ -or as shown earlier +or if you only pass on the \texttt{NG\_data} object, you may use <>= nav <- navGraph(ng.iris, settings=list(defaultDisplay = "ggobi")) @ @@ -1096,7 +1123,7 @@ nav <- navGraph(ng.iris, settings=list(defaultDisplay = "ggobi")) \subsection{Custom visualization instructions} %The \texttt{RnavGraph} package allows for additional specific visualization instructions. If you are new to \texttt{navGraph}, you likely should skip this part and move on to the section ``Starting a navGraph Session''. We first initialize the \texttt{iris} data again -\subsubsection{traditional graphic device} +\subsubsection{with the \texttt{ng\_2d\_myplot} function} If you want to create your own visualization from scratch instead of using for example the \texttt{tk2d} display, you can define a display function that takes any subset of the following as arguments\\ \begin{center} @@ -1115,7 +1142,7 @@ If you want to create your own visualization from scratch instead of using for e \end{center} \vspace{1em} -Let's give an example with the traditional graphic device. First of all, a plotting function is needed +Let's go over an example with the traditional graphic device. First of all, a plotting function is needed <<>>= myPlot <<- function(x,y,group,labels) { plot(x,y,col = group, pch = 19) @@ -1124,7 +1151,7 @@ myPlot <<- function(x,y,group,labels) { \modify{note that the order argument only gives an order while the bullet is traversing a 3d rotation (no order at a node).}\\ then, a visualization instruction has to be defined using \texttt{ng\_2d\_myplot} <<>>= -viz1 <- ng_2d_myplot(ng.iris,ng.lg,fnName = "myPlot" ,device = "base") +viz1 <- ng_2d_myplot(ng.iris,ng.lg,fnName = "myPlot", device = "base") viz1 @ @@ -1132,7 +1159,7 @@ and finally, you can call \texttt{navGraph} as used <>= nav <- navGraph(ng.iris,ng.lg, viz1) @ -Note, that by default the base graphics system stores all the plotting instructions onto a device in order to be able to redraw the device if it gets moved or scaled etc... In context with \texttt{navGraph} were we are to plot and re-plot the data many times, this behavior is a nuisance and slows down your computer. Hence you can turn this behavior of the current display of (once it exists) with the following command +Note, that by default the base graphics system stores all the plotting instructions onto a device in order to be able to redraw the device if it gets moved or scaled etc... In context with \texttt{navGraph} were we are to plot and re-plot the data many times, this behavior is a nuisance and slows down your computer. Hence you can turn off this behavior for the current active display (once it exists) with the following command <>= dev.control(displaylist = "inhibit") @ @@ -1141,6 +1168,79 @@ dev.control(displaylist = "inhibit") Further, see the demos: \texttt{ng\_2d\_myplot\_base} and \texttt{ng\_2d\_myplot\_base}. +\subsubsection{with the \texttt{initializeViz}, \texttt{updateViz} and \texttt{closeViz} methods} +This is a more advanced way to get custom visualization instructions running. If you do not know much about the S4 object model you are probably better off using the \texttt{ng\_2d\_myplot} method described above. In fact, if you do not plan to learn much about how \texttt{RnavGraph} works, you probably should skip this section.\\ + +\texttt{RnavGraph} works internally with a ``\texttt{viz}'' object (S4). For every bullet status update or graph change, the method \texttt{initializeViz}, \texttt{updateViz} or \texttt{closeViz} gets called with the \texttt{viz} object as the first argument. We will give here a complete working example where we just print on the \texttt{R} promt what transition we are currently on. If you decide to implement your own visualization instructions this way, it's best to also study the \verb|Viz2D_Axis.R| file, found in the package source. This will server for a more complex example.\\ + +First, you need to create a new class for your particular \texttt{viz} object, say \texttt{testVizClass}. \texttt{testVizClass} needs to inherit from the \texttt{NG\_Visualization} class. \texttt{NG\_Visualization} provides, among others, two slots for data name and graph name that the visualization instructions connect. We do not need to store additional information for our example, hence the following class definition will do +<>= +setClass( + Class="testVizClass", + representation = + representation( + ## No additional slots + ), + contains = "NG_Visualization" + ) +@ +Now that we have defined a new class for our \texttt{viz} object, we need an object creator, much as \texttt{ng\_2d}: +<>= +myViz <- function(data,graph) { + if(is(data,"NG_data") == FALSE){ + stop("data is no NG_data object.\n") + } + if(is(graph,"NG_graph") == FALSE){ + stop("graph is no NG_graph object.\n") + } + + return(new( + "testVizClass", + graph = graph@name, + data = data@name + )) +} +@ +The object creator function \texttt{myViz} needs to know at least which graph and data set to associate the visualization instructions to. Only pass the graph- and data name to the \texttt{new} function. Next, we need to define what to do when the bullet get moved along the navigation graph. First we define how the visualization gets initialized when we switch to the particular graph that is associated with the \texttt{viz} object: +<>= +setMethod( + f = "initializeViz", + signature = "testVizClass", + definition = function(viz,ngEnv){ + print(paste('You switched to the graph', viz@graph)) + return(viz) + }) +@ +As already mentioned, these methods are very much the core functionality of the \texttt{navGraph} function, hence they need careful handling. The \texttt{ngEnv} object points to the \texttt{navGraph} session environment so that the data and graph, etc..., can be accessed from the visualization instructions. Now we look at the \texttt{updateViz} method which gets called every time the bullet gets moved +<>= +setMethod( + f = "updateViz", + signature = "testVizClass", + definition = function(viz,ngEnv){ + print(paste('You current state is:', + ngEnv$bulletState$from, 'to', + ngEnv$bulletState$to, 'and', + floor(ngEnv$bulletState$percentage*100), 'percent in between')) + return(viz) + }) +@ +Finally the method gets called when we switch away from the graph that is linked to our visualization instructions +<>= +setMethod( + f = "closeViz", + signature = "testVizClass", + definition = function(viz,ngEnv){ + print(paste('Bye Bye', viz@graph)) + return(viz) + }) +@ + +You can test this code with the demo \texttt{ng\_own\_viz}. +<>= +demo("ng_own_viz") +@ + + \subsubsection{grid} See demo: \texttt{ng\_2d\_myplot\_grid}. \subsubsection{rgl} @@ -1214,7 +1314,7 @@ The \texttt{navGraph} R function has four arguments: \texttt{data}, \texttt{grap \end{tikzpicture} \end{center} } -where each connecting line represents an \texttt{NG\_visualization} instruction object. One could also only choose a subset of these visualization instructions. Once the graphical user interface is started, the user can then choose the graph he wants to explore and \texttt{navGraph} switches to the visualizations connected to this graph. \modify{Hence, for a single \texttt{navGraph} the user ``looks'' form a single graph perspective at all the data connected via their visualization instructions}. For the iris example we have the following scenario +where each connecting line represents an \texttt{NG\_visualization} instruction object. One could also only choose a subset of these visualization instructions. Once the graphical user interface is started, the user can then choose the graph he wants to explore and \texttt{navGraph} switches to the visualizations connected to this graph. \modify{Hence, for a single \texttt{navGraph} the user ``looks'' form a single graph perspective (from the left side in the diagram above) at all the data connected via their visualization instructions}. For the iris example we have the following scenario {\fontsize{11pt}{20pt} @@ -1238,7 +1338,7 @@ where each connecting line represents an \texttt{NG\_visualization} instruction If the \texttt{navGraph} only gets a \texttt{NG\_data}- or a list of \texttt{NG\_data} objects, it creates the graphs and visualization instructions for a 3d and 4d transition graphs connected to the data with the \texttt{tk2d} display. \subsubsection{Settings} -The \texttt{settings} argument of the \texttt{navGraph} function determines the look and feel of the graph interaction interface. \modify{Currently on can not control the look and feel of the \texttt{tk2d} display}. The \texttt{settings} argument has to be a list optionally containing other named lists. The grand scheme of what can be modified looks like +The \texttt{settings} argument of the \texttt{navGraph} function determines the look and feel of the graph interaction interface. \modify{Currently one can not control the look and feel of the \texttt{tk2d} display}. The \texttt{settings} argument has to be a list optionally containing other named lists. The grand scheme of what can be modified looks like \begin{center} \begin{tabular}{|p{4cm}|p{4cm}|p{4cm}|p{4cm}|} @@ -1267,11 +1367,22 @@ The \texttt{settings} argument of the \texttt{navGraph} function determines the where the \texttt{color} elements must be character string (recognized as a color) and the \texttt{interaction} and \texttt{display} elements must be numeric. For example the following settings object would work <>= -navGraph(..., settings=list(color=list(background="green"), interaction=list(bulletRadius=4, nodeRadius=3))) +navGraph(..., settings=list(color=list(background="green"), + interaction=list(bulletRadius=4, nodeRadius=3))) @ Note that \modify{everything} is case sensitive according to the table.\\ -Additionally, there is an additional option that can be specified in settings. If only a \texttt{NG\_data} object gets passed to \texttt{navGraph} one can choose between the \texttt{tk2d} and \texttt{ggobi} as a display. +All, except the \texttt{tk2}, settings can be controlled once a \texttt{navGraph} session is running via the \texttt{File > Settings} menu in the navigation graph GUI, see figure \ref{fig:settings}. + +\begin{figure}[h]\label{fig:settings} + \centering +\begin{center} + \includegraphics[width = 0.7 \textwidth]{img/settings.png} +\end{center} + \caption{\texttt{File > Settings} menu in the navigation graph GUI.} +\end{figure} + +Additionally, there is an additional option that can be specified in settings. If only a \texttt{NG\_data} object gets passed to \texttt{navGraph} one can choose between the \texttt{tk2d} and \texttt{ggobi} as a display.\\ <>= navGraph(ng.iris, settings=list(defaultDisplay = "ggobi")) @@ -1280,8 +1391,7 @@ or <>= navGraph(ng.iris, settings=list(defaultDisplay = "tk2d")) @ -default is the \texttt{tk2d} display. - +The default is the \texttt{tk2d} display. \subsection{Graphical User Interface} Once \texttt{navGraph} has initialized the all displays, you will see one window with a graph similar to @@ -1316,7 +1426,7 @@ The bullet can be dragged in a intuitive way along the edges of the graph. \item Bullet on A:B \begin{itemize} \item All adjoining nodes and their connecting edges are highlighted via line with or color. - \item The number in the upper left corner indicates the percentage the bullet progressed towards another node + \item The number in the upper left corner indicates the percentage the bullet has progressed towards another node \end{itemize} \item Bullet between A:B and C:D \begin{itemize} @@ -1328,13 +1438,13 @@ The bullet can be dragged in a intuitive way along the edges of the graph. \end{itemize} \end{enumerate} -When you drag the bullet in State 1 towards a node, \texttt{navGraph} won't constrain the bullets move for some small radius around the current node position. This way, as soon as you cross the pre-specified radius, \texttt{navGraph} calculates which edge is closest to the direction you moved the bullet and constrains the bullet to move along this edge. If your graph is so large that it is very hard for you to land on the desired edge, you can also select an adjoining node while in state 1. If the node you select is not adjoining, the bullet jumps to this non adjoining node. +When you drag the bullet in State 1 towards a node, \texttt{navGraph} won't constrain the bullets move for some small radius around the current node position. This way, as soon as you cross the pre-specified radius, \texttt{navGraph} calculates which edge is closest to the direction you moved the bullet and constrains the bullet to move along this edge. If your graph is so large that it is very hard for you to land on the desired edge, you can also select an adjoining node with a single left mouse click while in state 1. If the node you select is not adjoining, the bullet jumps to this non adjoining node. {\fontsize{11pt}{20pt} \input{tikz_edgeSelect.tex} } -Note that once you move along an edge, you can also use your scroll wheel on the mouse to move the bullet. \modify{This is conceptually correct, however \texttt{navGraph} also has an ``active'' (mouse over) node and edge state with a different color. (not shown in the images above).} +Note that once you move along an edge, you can also use your scroll wheel on the mouse to control the bullet. \subsubsection{Modify the Graph Layout} The user can also modify the layout of the graph by dragging nodes on the canvas while pressing the \texttt{CTRL} key. @@ -1343,7 +1453,7 @@ The user can also modify the layout of the graph by dragging nodes on the canvas \input{tikz_modifyGraph.tex} } -There are no constraints for the nodes to be moved around \modify{even the canvas border!}. However the labels of the nodes must be moved within the defined \texttt{labelDistRadius} in the interaction settings (colored blue here). +There are no constraints for the nodes to be moved around even outside the canvas border!. However the labels of the nodes must be moved within the in the settings defined \texttt{labelDistRadius} radius (coloured blue here). \subsubsection{Animate} Once you move the bullet on an edge, you can let the bullet move towards one of the two nodes that define the edge by double clicking on that node. If you click on another node, the bullet jumps there. For the case of the bullet being on one node, you can double click on an adjoining node, the first click will act as edge selection and the second click as an animation command. The animation speed is determined by the \texttt{animationTime} variable in the interaction settings. That is, \texttt{animationTime}/\texttt{NSteps} is the pause before the bullet moves an increment towards the node. \modify{Note however that the time from one node to the other is not equal \texttt{animationTime}, since the updating displays and doing other ``housekeeping'' in \texttt{navGraph} also take up time. (More precisely as long as if you select \texttt{animationTime}=0).} @@ -1354,14 +1464,14 @@ Once you move the bullet on an edge, you can let the bullet move towards one of \subsubsection{Paths} -Instead of guiding the bullet by dragging it along edges, you can also select a path in order to later animate the path (\modify{in the sense of animation above}). You create a path by selecting adjoining nodes while having the shift key pressed down. Once you are done, you can double click on the last node and \texttt{navGraph} will animate \modify{or walk} along the just specified path +Instead of guiding the bullet by dragging it along edges, you can also select a path in order to later animate the path (\modify{in the sense of animation above}). You create a path by selecting adjoining nodes while having the Shift key pressed down. Once you are done, you can double click on the last node while still holding the Shift key pressed down and \texttt{navGraph} will animate \modify{or walk} along the just specified path {\fontsize{11pt}{20pt} \input{tikz_walk.tex} } -Note that as soon as you release the shift key, you are \modify{out of the path mode}. However if you go to the Tools > Paths menu on the graph display window, you will find you path as \texttt{Active Path} saved. \modify{The Paths toolbox has some bugs. That is, the scroll bar in the Saved Paths list does not work (if you ever happen to add so many paths). This seems a tk issue, and we plan to address this at a later time point.} The V button stands for ``view path'', the W button for ``walk path'' (animate) \modify{and the R button for record paths you explore while dragging the bullet NOT IMPLEMENTED}.\\ +Note that as soon as you release the shift key, you are \modify{out of the path mode}. However if you go to the Tools > Paths menu on the graph display window, you will find your path as \texttt{Active Path} saved.\\ -You can also animate a path with the \texttt{ng\_walk} function. The \texttt{ng\_walk} function takes as an argument a navGraph handler and a path either in the form of a vector of node names or in the form of a single string where the sequence of node names is separated by a space. Lets see an example +You can also animate a path with the \texttt{ng\_walk} function from the \texttt{R} prompt. The \texttt{ng\_walk} function takes as an argument a navGraph handler and a path either in the form of a vector of node names or in the form of a single string where the sequence of node names is separated by a space. Lets see an example <>= nav <- navGraph(ng.iris) @@ -1377,7 +1487,7 @@ Note that every path sent to \texttt{ng\_walk} gets stored as the active path in \modify{Currently, a path is considered to be a sequence of adjoining nodes (no gaps).} \subsubsection{The navGraph Handler} -The navGraph handler links the graphical user interface with the R prompt. A good example its use was the \texttt{ng\_walk} function we introduced in the last section. The navGraph handler contains all the data, graphs and settings \modify{but not the images} of the \texttt{navGraph} session in progress. Hence if you work with large data, you want to avoid having a many navGraph handlers in your workspace. The navGraph handler gets returned from a \texttt{navGraph} function call +The navGraph handler links the graphical user interface with the R prompt. A good example of its use was the \texttt{ng\_walk} function we introduced in the last section. The navGraph handler contains all the data, graphs and settings \modify{but not the images} of the \texttt{navGraph} session in progress. Hence if you work with large data, you want to avoid having a many navGraph handlers in your workspace. The navGraph handler gets returned from a \texttt{navGraph} function call <>= library(RnavGraph) @@ -1401,12 +1511,12 @@ Note that the last updated field changed. Updating the navGraph handler is parti <<>>= ng_get(nav) @ -the objects graphs,data and viz are lists of their corresponding \texttt{NG\_object}. However if only one element is in the list, \texttt{ng\_get} unlists the object +the objects graphs, data and viz are lists of their corresponding \texttt{NG\_object}. However if only one element is in the list, \texttt{ng\_get} unlists the object <<>>= ng_get(nav,"data") ng_get(ng_get(nav,"data"),"group")[1:5] @ -the coding for the \texttt{tk2d} display is ``c;s''. Getting the group for each data point only works with the \texttt{tk2d} and \texttt{ggobi} data display. For any other custom display the user must provide his own way to get the new group classifiers whenever he incorporates a brushing tool. The navGraph handler can also be used to restart a navGraph session +the coding for the \texttt{tk2d} display is ``c;s''. However, note that you can also obtain color and size with the \texttt{ng\_get\_color} and \texttt{ng\_get\_size}function discussed below. Getting the group for each data point only works with the \texttt{tk2d} and \texttt{ggobi} data display. For any other custom display the user must provide his own way to get the new group classifiers whenever he incorporates a brushing tool. The navGraph handler can also be used to restart a navGraph session <>= nav1 <- navGraph(nav) @ @@ -1426,7 +1536,7 @@ If a \texttt{ggobi} and \texttt{tk2d} display show the same data, then the \text \subsection{The \texttt{tk2d} Display} -The \texttt{tk2d} display was programmed by us for the \texttt{RnavGraph} package. It accommodates displaying dots, images, glyphs and text. It also provides the user with a lot of interactivity possibilities such as brushing, zooming and resizing of the window. Further if for a particular graph two \texttt{tk2d} windows display the same data, then the data points are linked between the windows. This means that if you for example change the color and size of some points on one display, the same points in the other window also change color and size.\\ +The \texttt{tk2d} display was programmed by us especially for the \texttt{RnavGraph} package. It accommodates displaying dots, images, glyphs and text. It also provides the user with a lot of interactivity possibilities such as brushing, zooming and resizing of the window. Further if for a particular graph two \texttt{tk2d} windows display the same data, then the data points are linked between the windows. This means that if you for example change the color or size of some points on one display, the same points in the other window also change color or size.\\ The \texttt{tk2d} window for the iris data looks as follows @@ -1437,12 +1547,14 @@ The \texttt{tk2d} window for the iris data looks as follows The display is designed to be intuitive. So getting familiar with it should not pose any big problems. \subsubsection{Zooming and Moving the viewing region} -The \texttt{tk2d} displays the data always twice, in the ``main view'' on the left and in the ``world view'' in the upper right corner. The ``world view'' in the upper right corner always displays all the data points and provides as its name suggest a view of ``your whole data world''. The ``main view'' allows the user to zoom in and out, brush points and deactivate and reactivate points. The zoom factor of the ``main view'' is displayed above the map view. The mouse scroll wheel is used to zoom in and out either while the mouse is placed within the ``world view'' or ``main view''. If the user zooms in or out in the ``main view'' the center of zooming is where the mouse cursor points at, where in the ``world view'' the zooming center is always in the middle of the viewing rectangle. When you zoom in, your current view at the data is shown in the ``world view'' with a rectangle of the same color as background color of the ``main view''.\\ +The \texttt{tk2d} display shows the data always twice, in the ``main view'' on the left and in the ``world view'' in the upper right corner. The ``world view'' in the upper right corner always displays all the data points and provides as its name suggest a view of ``your whole data world''. The ``main view'' allows the user to zoom in and out, brush points and deactivate and reactivate points. The zoom factor of the ``main view'' is displayed above the world view. The mouse scroll wheel is used to zoom in and out either while the mouse is placed within the ``world view'' or ``main view''. If the user zooms in or out in the ``main view'' the center of zooming is where the mouse cursor points at, where in the ``world view'' the zooming center is always in the middle of the viewing rectangle. When you zoom in, your current view at the data is shown in the ``world view'' with a rectangle of the same color as background color of the ``main view''.\\ If zoomed in, you can move your current view in the ``main view'' by pressing the right mouse button and dragging your view to the desired place. In the ``world view'' you can just drag and drop the viewing rectangle (left mouse button). \subsubsection{Brushing and Selecting} -The \texttt{tk2d} display allows to change the color, size and hiding (deactivate) of each object. We use size and color since they are (the only) two attributes that are shared between points, glyphs, images and text. \modify{Currently the text size however does not change!}. You can select points \modify{objects} only in the ``main view'' by either selecting and deselecting them with a left mouse click or by using the brush tool. Selecting them with a mouse click deselects the previously with a mouse click selected point. If you want to select points permanently you need to press the Shift key. When you check the brush checkbox, a gray rectangle appears in the upper right corner. You can resize the brush rectangle by dragging the solid rectangle on its right lower corner. You can move the rectangle by clicking anywhere in the ``main view'' and the brush rectangle jumps to your mouse cursor and also moves with it while your mouse button is still pressed. By default, the points below the brush rectangle don't get brushed permanently. If you want to brush permanently you need to press the Shift key while brushing. Points can only be deselected individually by clicking on them with the shift key pressed, or all together by either pressing the none button or by double clicking the right mouse button while pointing the courser on the main view. +The \texttt{tk2d} display allows to change the color and size of objects, but also to hide (deactivate) objects. We use size and color since they are (the only) two attributes that are shared between points, glyphs, images and text. \modify{Currently the text size however does not change!}. You can select points \modify{objects} only in the ``main view'' by either selecting and deselecting them with a left mouse click or by using the brush tool. Selecting them with a mouse click deselects the previously with a mouse click selected point. If you want to select points permanently you need to press the Shift key.\\ + +When you check the brush checkbox, a gray rectangle appears in the upper right corner. You can resize the brush rectangle by dragging the solid rectangle on its right lower corner. You can move the rectangle by clicking anywhere in the ``main view'' and the brush rectangle jumps to your mouse cursor and also moves with it while your mouse button is still pressed. By default, the points below the brush rectangle don't get brushed permanently. If you want to brush permanently you need to press the Shift key while brushing. Points can only be deselected individually by clicking on them with the shift key pressed, or all together by either pressing the none button or by double clicking the right mouse button while pointing the courser on the main view. \subsubsection{Moving Individual Points Temporarily} If you need to spread out some points in order to get a closer look at each point, you can either zoom in or move the selected points by mouse drag and drop while pressing the \texttt{Ctrl} key. Once you change the bullet state, all points go back to their location according the bullet state. @@ -1452,7 +1564,7 @@ Once you have grouped a set of points by assigning them different color and size \subsubsection{Changing Color and Size} -Once you have some points selected, you can change their size and color. You can change the size of the points immediately pressing the ``abs'' or ``rel'' + or -. The \texttt{tk2d} gives each object a size attribute. absolute (abs) resizing changes all selected objects to the minimum of the object's sizes plus or minus one size. The relative (rel) resizing increments or decrements all sizes by one. If you were to select five objects with the sizes $\{2,3,3,4,6\}$ and press the rel - button, your new sizes would be $\{1,2,2,3,5\}$ and if you were to press the rel - button again you would get $\{0,1,1,2,5\}$. \modify{Note that you can get negative sizes which theoretically would not show on the ``main view'' anymore, we chose however to display them with minimal possible display size. This might be confusing at the beginning}. If you have a set of points selected with the sizes $\{2,3,3,4,6\}$ and you were to press the abs + button you would get $\{3,3,3,3,3\}$ or the abs - button you would get $\{1,1,1,1,1\}$. Size changes take effect immediately.\\ +Once you have some points selected, you can change their size and color. You can change the size of the points immediately pressing the ``abs'' or ``rel'' + or -. The \texttt{tk2d} gives each object a size attribute. Absolute (abs) resizing changes all selected objects to the minimum of the object's sizes plus or minus one size. The relative (rel) resizing increments or decrements all sizes by one. If you were to select five objects with the sizes $\{2,3,3,4,6\}$ and press the rel - button, your new sizes would be $\{1,2,2,3,5\}$ and if you were to press the rel - button again you would get $\{0,1,1,2,5\}$. \modify{Note that you can get negative sizes which theoretically would not show on the ``main view'' anymore, we chose however to display them with minimal possible display size. This might be confusing at the beginning}. If you have a set of points selected with the sizes $\{2,3,3,4,6\}$ and you were to press the abs + button you would get $\{3,3,3,3,3\}$ or the abs - button you would get $\{1,1,1,1,1\}$. Size changes take effect immediately.\\ Changing the color of objects takes place once you have some points brushed and select a colorbox. However you wont notice the change until you deselect all the points. (Use Selection none, invert or all). @@ -1540,7 +1652,7 @@ nav3 <- navGraph(ng.iris, settings = list(tk2d=list(linked = FALSE))) \section{Scagnostics and RnavGraph} -Scagnostics allows one to find graphs that have certain properties, such as the nodes representing clumpy, stringy or convex scatterplots. \modify{Scagnostics is...}. We will demonstrate how you can use scagnostics to the define the variable graphs. The example data in this section is the olive data, provided in the \texttt{RnavGraph} package. +Scagnostics allows one to find graphs that have certain properties, such as the nodes representing clumpy, stringy or convex scatterplots. See Wilkinson, Anand and Grossman 2005. We will demonstrate how you can use scagnostics to the define the variable graphs. The example data in this section is the olive data, provided in the \texttt{RnavGraph} package. <<>>= library(scagnostics) data(olive) @@ -1916,10 +2028,7 @@ We'd like to thank the R community who contributes actively to the \texttt{R} ma \section*{References} \begin{itemize} - -\item Hurley, C. and R.W. Oldford (2011), - ``Graphs as navigational infrastructure for high dimensional data spaces'', ({\it Computational Statistics}, to appear). - - +\item Hurley, C. B.; and R. W. Oldford. ``Graphs as Navigational Infrastructure for High Dimensional Data Spaces.'' Computational Statistics (February 2011). +\item Wilkinson, Leland; Anushka Anand; Robert Grossman. ``Graph-theoretic Scagnostics.'' Proceedings - IEEE Symposium on Information Visualization (2005): 157-164. \end{itemize} \end{document} diff --git a/inst/doc/RnavGraph.pdf b/inst/doc/RnavGraph.pdf index 0be86689265a5a7287f903d6d12afcf81a61d578..0f51720e2826f00742732530093b7bf746b80aef 100644 GIT binary patch delta 270800 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�K#2rize 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 L4I6Z~>T&!ZuBC3t delta 235065 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 z z?I{#m%s!fo1QIqT`Ht$9_RKxIGd3E{<+p9Ka|b8)iecdyPhliFLRP(EA**(vMA)xT zN@&ZIVajwR|G)k6Syyrs7kT=Z3{YT(UTcSAqreY{u%W9odIO0>-kZIkH@s?HJ zfYqXkZXOixftdDX8(gbwc-L!DqenSOgr>V0Xl-y)`?&2rs@;a=+`lE&)5Qzhcn%!# z*Uw3QwtZS;?S6X%XH?$p@mV^^^ zssho?W|usHrhq+1DKhW~RpWAyX#r%wANxnq9_*}ng)5x2i6*Z#Z2L)2H^)RRlGa

04-!Z( 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¨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 Z+$~()FS**-G6LQ}N5m*9s;Z;L_0) of points. } } -\details{ - -} -\value{ -} %\references{%% ~put references to the literature/web site here ~} \author{ Adrian Waddell and Wayne Oldford diff --git a/man/ng_setsetter.Rd b/man/ng_setsetter.Rd index ab5408c..7267359 100644 --- a/man/ng_setsetter.Rd +++ b/man/ng_setsetter.Rd @@ -25,9 +25,7 @@ ng_set(object, what) <- value \details{ Using ng_set is risky because we don't guarantee that the objects gets updated correctly. We recommend to just re-create the object. } -\value{ -} %\references{%% ~put references to the literature/web site here ~} \author{ Adrian Waddell and Wayne Oldford diff --git a/man/updateViz-methods.Rd b/man/updateViz-methods.Rd new file mode 100644 index 0000000..849d678 --- /dev/null +++ b/man/updateViz-methods.Rd @@ -0,0 +1,21 @@ +\name{updateViz-methods} +\docType{methods} +\alias{updateViz-methods} +\alias{updateViz,NG_Visualization-method} +\alias{updateViz,NG_Viz2DAxis-method} +\alias{updateViz,NG_Viz2D_Ggobi-method} +\alias{updateViz,NG_Viztk2d-method} + +\title{Initialization of a new Display} +\description{ +If custom visualization class (NG_Visualization) has been defined. This is the method that gets called if the bullet changes its state. + +See package vignette for more detail. +} +\section{Methods}{ +\describe{ + +\item{\code{signature(obj = "NG_Visualization")}}{} + +}} +\keyword{methods} diff --git a/man/updateViz.Rd b/man/updateViz.Rd new file mode 100644 index 0000000..cd1c4b9 --- /dev/null +++ b/man/updateViz.Rd @@ -0,0 +1,39 @@ +\name{updateViz} +\alias{updateViz} +%- Also NEED an '\alias' for EACH other topic documented here. +\title{ + Method that gets called when bullet state is changed on a graph that is connected with the particular visualization instructions +} +\description{ + See the vignette for more details. +} +\usage{ +updateViz(viz,ngEnv) +} +%- maybe also 'usage' for other objects documented here. +\arguments{ + \item{viz}{ + Object of class NG_Visualization +} + \item{ngEnv}{ + Environment of navGraph session. +} +} +%\details{ } +\value{ + Object of NG_Visualization (viz from argument) +} + +\author{ +Adrian Waddell and Wayne Oldford +} + +%% ~Make other sections like Warning with \section{Warning }{....} ~ + +\seealso{ +\code{\link{initializeViz}}, \code{\link{closeViz}} +} +\examples{ +## See vignette +} + diff --git a/src/display_stuff.c b/src/display_stuff.c index 372cb22..3115548 100644 --- a/src/display_stuff.c +++ b/src/display_stuff.c @@ -189,22 +189,22 @@ static int display_shapes_Cmd( if(Tcl_GetIntFromObj(interp, deactivated[i], &obj_deactive)) { obj_deactive = 0; - puts("could not read deactive element."); + // puts("could not read deactive element."); } if(!obj_deactive) { if(Tcl_GetDoubleFromObj(interp, xcoord[i], &x)) { x = 0; - puts("could not read x element."); + // puts("could not read x element."); } if(Tcl_GetDoubleFromObj(interp, ycoord[i], &y)) { y = 0; - puts("could not read y element."); + // puts("could not read y element."); } if(Tcl_GetIntFromObj(interp, size[i], &obj_size)) { obj_size = 1; - puts("could not read object size element."); + // puts("could not read object size element."); } x_screen = (x-c_x)*w2*sq_zf+w2; @@ -216,7 +216,7 @@ static int display_shapes_Cmd( obj_color = Tcl_GetStringFromObj(color[i], NULL); if(Tcl_GetIntFromObj(interp, selected[i], &obj_selected)) { - puts("could not read whether point is selected or not"); + // puts("could not read whether point is selected or not"); obj_selected = 0; } @@ -233,7 +233,7 @@ static int display_shapes_Cmd( } } } else { - puts("update points: Data vectors are not of the same length."); + // puts("update points: Data vectors are not of the same length."); } sprintf(tclCmd,"%s.canvas raise brush",ttID); @@ -494,21 +494,21 @@ static int display_zoombox_Cmd( if(Tcl_GetIntFromObj(interp, deactivated[i], &obj_deactive)) { obj_deactive = 0; - puts("could not read deactive element."); + // puts("could not read deactive element."); } if(!obj_deactive) { if(Tcl_GetDoubleFromObj(interp, xcoord[i], &x)) { x = 0; - puts("could not read x element."); + // puts("could not read x element."); } if(Tcl_GetDoubleFromObj(interp, ycoord[i], &y)) { y = 0; - puts("could not read y element."); + // puts("could not read y element."); } if(Tcl_GetIntFromObj(interp, selected[i], &obj_selected)) { - puts("could not read whether point is selected or not"); + // puts("could not read whether point is selected or not"); obj_selected = 0; } @@ -793,29 +793,29 @@ static int display_images_Cmd( if(Tcl_GetIntFromObj(interp, deactivated[i], &obj_deactive)) { obj_deactive = 0; - puts("could not read deactive element."); + // puts("could not read deactive element."); } if(!obj_deactive) { //printf("p%i ",i); if(Tcl_GetDoubleFromObj(interp, xcoord[i], &x)) { x = 0; - puts("could not read x element."); + // puts("could not read x element."); } //printf("x-"); if(Tcl_GetDoubleFromObj(interp, ycoord[i], &y)) { y = 0; - puts("could not read y element."); + // puts("could not read y element."); } //printf("y-"); if(Tcl_GetDoubleFromObj(interp, image_w2[i], &image_width2)) { image_width2 = 5; - puts("could not read w2 element."); + // puts("could not read w2 element."); } //printf("w2-"); if(Tcl_GetDoubleFromObj(interp, image_h2[i], &image_height2)) { image_height2 = 5; - puts("could not read h2 element."); + // puts("could not read h2 element."); } //printf("h2-"); @@ -828,12 +828,12 @@ static int display_images_Cmd( //printf("cond-"); if(Tcl_GetIntFromObj(interp, selected[i], &obj_selected)) { - puts("could not read whether point is selected or not"); + // puts("could not read whether point is selected or not"); obj_selected = 0; } //printf("sel-"); if(Tcl_GetIntFromObj(interp, image_halo[i], &obj_image_halo)) { - puts("could not read halo tcl variable"); + // puts("could not read halo tcl variable"); obj_selected = 0; } //printf("halo-"); @@ -867,7 +867,7 @@ static int display_images_Cmd( } } } else { - puts("update images: Data vectors are not of the same length."); + // puts("update images: Data vectors are not of the same length."); } @@ -1062,22 +1062,22 @@ static int display_glyphs_Cmd( for (i = 0; i < nx; i++) { if(Tcl_GetIntFromObj(interp, deactivated[i], &obj_deactive)) { obj_deactive = 0; - puts("could not read deactive element."); + // puts("could not read deactive element."); } if(!obj_deactive) { if(Tcl_GetDoubleFromObj(interp, xcoord[i], &x)) { x = 0; - puts("could not read x element."); + // puts("could not read x element."); } //printf("x-"); if(Tcl_GetDoubleFromObj(interp, ycoord[i], &y)) { y = 0; - puts("could not read y element."); + // puts("could not read y element."); } if(Tcl_GetIntFromObj(interp, size[i], &obj_size)) { obj_size = 1; - puts("could not read object size element."); + // puts("could not read object size element."); } @@ -1090,7 +1090,7 @@ static int display_glyphs_Cmd( obj_color = Tcl_GetStringFromObj(color[i], NULL); if(Tcl_GetIntFromObj(interp, selected[i], &obj_selected)) { - puts("could not read whether point is selected or not"); + // puts("could not read whether point is selected or not"); obj_selected = 0; } @@ -1293,21 +1293,21 @@ static int display_text_Cmd( if(Tcl_GetIntFromObj(interp, deactivated[i], &obj_deactive)) { obj_deactive = 0; - puts("could not read deactive element."); + // puts("could not read deactive element."); } if(!obj_deactive) { if(Tcl_GetDoubleFromObj(interp, xcoord[i], &x)) { x = 0; - puts("could not read x element."); + // puts("could not read x element."); } if(Tcl_GetDoubleFromObj(interp, ycoord[i], &y)) { y = 0; - puts("could not read y element."); + // puts("could not read y element."); } if(Tcl_GetIntFromObj(interp, selected[i], &obj_selected)) { - puts("could not read whether point is selected or not"); + // puts("could not read whether point is selected or not"); obj_selected = 0; } @@ -1330,7 +1330,7 @@ static int display_text_Cmd( Tcl_Eval(interp,tclCmd); } } else { - puts("update points: Data vectors are not of the same length."); + // puts("update points: Data vectors are not of the same length."); } diff --git a/vignettes/RnavGraph.Rnw b/vignettes/RnavGraph.Rnw new file mode 100644 index 0000000..9ba6b25 --- /dev/null +++ b/vignettes/RnavGraph.Rnw @@ -0,0 +1,2034 @@ +\documentclass[12pt,oneside,titlepage,letter]{article} + +\usepackage[margin = 0.75in]{geometry} + +\setlength{\parindent}{0cm} + +\SweaveOpts{prefix=TRUE,prefix.string=sweave_p} + +\usepackage[intlimits]{amsmath} % AMS-Latex +\usepackage{amssymb} % AMS-Latex +\usepackage{tikz} +\usepackage{ifthen} + + +\newcommand{\modify}[1]{{\color{blue}#1}} + + +\title{RnavGraph: an R package to visualize high dimensional data using graphs as navigational infrastructure} +\author{Adrian Waddell and Wayne Oldford} + + +\date{\today} + +%\VignetteIndexEntry{Detailed manual to the RnavGraph package} +%\VignetteDepends{RnavGraph} +%\VignetteKeywords{navGraph} +%\VignettePackage{RnavGraph} +\begin{document} + +\maketitle + +\tableofcontents + +\newpage +%\begin{center} +%{\Huge {\bf RnavGraph} -- Navigating dimensional data} +%\end{center} + +\section{Installation} +\texttt{RnavGraph} depends on a working \texttt{tcl/tk} build and on two \texttt{R} packages that do not come with an \texttt{R} base installation, i.e. the \texttt{graph} and \texttt{RBGL} packages from the bioconductor repositories. However we suggest you to install a couple of other packages from the \texttt{CRAN} repositories in order run all the package demos.\\ + +Getting the \texttt{tcl/tk} build (version 8.5) set up correctly requires different steps on each OS: +\begin{itemize} +\item \textbf{OSX}: A \texttt{tcl/tk} build for \texttt{X11} is required. Go to the R project webpage (www.r-project.org) and follow link ``download R'', choose the \texttt{CRAN} server closest to you, follow the ``Download R for MacOS X'' link and then the ``tools'' link in the ``Subdirectories'' section. Download and install the \texttt{tcl/tk} 8.5 build. +\item \textbf{Linux}: Linux users need the \texttt{libtk-img-dev}, \texttt{tcl-dev} and \texttt{tk-dev} system libraries for \texttt{tcl/tk} version 8.5 installed. +\item \textbf{Windows}: If you plan to import images from files (\texttt{.png,.jpg}, etc.) you need a working \texttt{Img} tcl extension. It is easiest to install the free \texttt{ActiveTcl} build and link \texttt{R} against it. To do so + \begin{itemize} + \item download \texttt{ActiveTcl} from \verb|http://www.activestate.com/activetcl| (maybe 32 bit and 64 bit if you use both \texttt{R} versions) + \item install \texttt{ActiveTcl} say under \verb|C:/Tcl32| or \verb|C:/Tcl64| + \item edit the Rgui shortcut (right click and select properties) by adding \verb|MY_TCLTK=C:/Tcl32| at the end of the target property. + \end{itemize} + % see https://stat.ethz.ch/pipermail/r-help/2005-August/077811.html +\end{itemize} + +\texttt{RnavGraph} requires \texttt{tcl/tk} version 8.5. Any other version won't work with \texttt{RnavGraph}. You may check your \texttt{tcl/tk} version accessible from \texttt{R} by starting \texttt{R} and entering +<>= +library(tcltk) +.Tcl('set tcl_version') +@ + +Once \texttt{tcl/tk} is set up correctly, start an \texttt{R} session (under linux with root rights) and enter the following code to install the dependencies. + +<>= +source("http://www.bioconductor.org/biocLite.R") +biocLite("graph") +biocLite("RBGL") +biocLite("RDRToolbox") + +install.packages(c("PairViz", "scagnostics", "rgl", "grid", + "MASS", "RGtk2", "hexbin", "vegan", "png"), dependencies = TRUE) +@ + +Check for errors and warnings. \texttt{RnavGraph} and \texttt{RnavGraphImageData} are then installed as follows +<>= +install.packages("RnavGraph") +install.packages("RnavGraphImageData") +@ + +In order to install \texttt{rggobi} and \texttt{Rgraphviz} you need to make sure to install the programs \texttt{graphviz} and \texttt{ggobi} before installing the corresponding \texttt{R} packages.\\ + +If you experience any problems, watch the installation videos on \verb|www.navgraph.com| or contact us. +\newpage +\section{Introduction} +\texttt{RnavGraph} provides interactive visualization tools for exploring high dimensional space through lower dimensional trajectories, based on the concepts first presented in Hurley and Oldford (2011). + + +\subsection{Getting started} +The \texttt{RnavGraph} package is available from the Comprehensive R Archive Network (CRAN). We used extensively S4 classes and the Tcl and Tk API via the \texttt{tcltk} R package. Most of the visualization, both for the graph and the 2d scatterplots, build upon the Tk canvas widget.\\ + +Once the package and all of its dependencies have been installed, \texttt{RnavGraph} is loaded using +<>= +library(RnavGraph) +@ +A closer look into \texttt{RnavGraph} reveals that a relatively large set of functions are available that provide a programmable user interface to the package. +<>= +ls("package:RnavGraph") +@ + +We try to explain all these functions within this vignette, though the R \texttt{help} function should also be used to get a more detailed description on any particular function, as needed. +In addition, we provide the \texttt{RnavGraph} package with several demos that may be helpful, via +<>= +demo(package = "RnavGraph") +@ +The source code of these demos can be found in the system directory shown in the output from +<>= +system.file("demo", package="RnavGraph") +@ +Many of the demos require data from the \texttt{RnavGraphImageData} package also written by us.\\ + +All said, though, this vignette should itself provide the best introduction to \texttt{RnavGraph} and its full functionality. +\subsection{A simple example} +We start with a simple example, using the famous Anderson Iris data, to quickly introduce the +basic functionality of \texttt{RnavGraph} and to give you a feel for its interface. +To begin, then, execute the following in R: +<>= +library(RnavGraph) +ng.iris <- ng_data(name = "iris", data = iris[,1:4], + shortnames = c('s.L', 's.W', 'p.L', 'p.W'), + group = iris$Species, + labels = substr(iris$Species,1,2)) +@ +As the name suggests, \texttt{ng\_data} sets up a ``navgraph'' or ``ng'' data object (more on this later). +Its \texttt{data} argument takes a \texttt{data.frame} identifying the numeric variables to be explored. The Iris data consists of measurements of the \texttt{Sepal.Length}, \texttt{Sepal.Width}, \texttt{Petal.Length}, and \texttt{Petal.Width} on $50$ flowers of each of three \texttt{Species} of Iris. (The above construction uses the argument \texttt{shortnames}, instead of the variable names, just to give more compact labelling in the subsequent displays.) \\ + +The Iris data provides a set of 150 points in a four-dimensional space; our objective is to visually explore the structure of this data. To begin this exploration, we simply call \texttt{navGraph} on the prepared data. +<>= +navGraph(ng.iris) +@ +Alternatively, if you have \texttt{rggobi} working in R and would like to visualize the data via \texttt{ggobi}, call +<>= +navGraph(ng.iris, settings=list(defaultDisplay = "ggobi")) +@ +Either of these calls will produce a {\em navigation graph} (or {\em navgraph} for short) as shown in +Figure \ref{fig:session1}(a) + + +\begin{figure}[h] + \centering + \begin{tabular}{cc} + \includegraphics[width = 2.0in]{img/Iris3Dgraph.png} & + \includegraphics[width = 4in]{img/Iris2D.png} \\ + {\small (a) The 3D transition graph}& + {\small (b) The associated display: 2D plot}\\ + \end{tabular} + \caption{navGraph on the Anderson Iris data.} +\label{fig:session1} +\end{figure} +and a ``visualization'' such as that of Figure \ref{fig:session1}(b). +Here, Figure \ref{fig:session1}(b) is a \texttt{2D} display, native to \texttt{navGraph}, as produced by the first of the above \texttt{navGraph} calls (the second call would produce a \texttt{ggobi} session instead). +The variates \texttt{Sepal.Length} and \texttt{Sepal.Width} determine the coordinates of the points in the scatterplot and the \texttt{group}, here \texttt{Iris\$Species}, determine the point colours. +If you select ``text'' in the \texttt{2D} plot, the point symbols will be replaced by the text strings +identified by the \texttt{labels} argument in the definition of the ``ng data'' \texttt{ng.iris}.\\ + +The graph of Figure \ref{fig:session1}(a), the {\em navigation graph}, is programmatically linked to the \texttt{2D plot} data visualization of Figure \ref{fig:session1}(b). +The large yellow circle on the rightmost node of the graph is called the ``bullet''; its position in the graph represents a well-defined location in the high-dimensional data space which, in turn, determines what is actually displayed in the visualization of Figure \ref{fig:session1}(b). In Figure \ref{fig:session1}(a), it sits on a node labelled \texttt{s.L:s.W} and so Figure \ref{fig:session1}(b) displays a scatterplot for the variates \texttt{Sepal.Length} and \texttt{Sepal.Width} (``shortnames'' being \texttt{s.L} and \texttt{s.W}, respectively).\\ + +Note how the other nodes are coloured differently, and the edges to them highlighted, depending upon whether they share an edge with the bullet's current node or not. +You can move the bullet to a connected node simply by double-clicking on the destination node, by selecting the destination node and scrolling, or by simply selecting and dragging the bullet itself. +Whatever way you choose, the bullet will dynamically traverse the edge from origin to destination node while, at the same time, the scatterplot display +will ``follow'' the bullet's path smoothly updating its display.\\ + +Try it, moving the bullet from the original node \texttt{s.L:s.W} to the upper left node \texttt{s.W:p.W}. +The effect in the scatterplot will be that of rotating the \texttt{s.L} axis into that of the \texttt{p.W} axis. +The shared variate, \texttt{s.W} will remain in place. \\ + +Now make a number of connected moves in sequence along the graph. +As you move the bullet along a path, the scatterplot will continually update via rigid rotations. +Note also that each time the bullet arrives at a new node, its potential destination nodes and edges are highlighted anew, and those edges which have already been traversed are coloured slightly different from those which have not yet been visited. Your connected sequence of edges constitutes a path on the navigation graph which, when followed by the bullet, causes the 2D display +to update, dynamically following various 3D trajectories through the four dimensional space +of the Iris data. \\ + +The effect is made more apparent by explicitly choosing the entire path in advance. This is done using ``shift-select''. Simply hold the shift-key down continuously and select each node (single-click) in turn along +a path of your choice. The path will be highlighted as you go. Double-click for the final destination +and the bullet will immediately start to walk the path you have identified. This will allow you to focus on the movement in the scatterplot display as the path is walked.\\ + +Having just walked a path, you might care to re-run it. To do so, choose the ``Tools'' menu on the navgraph display and select the menu item ``Paths''. A new window will open where the path just walked is recorded as the ``Active Path''. This path may be viewed on the navgraph by pressing the ``view'' button, or walked again by pressing the ``walk'' button. The active path may also be saved by pushing the ``save'' button and, once saved, made active again by double-clicking on the path in the list of saved paths. It is also possible to select paths and type in comments related to the selected path. In this way, the user can record interesting paths, describe the interesting features found, and walk them again at a later date. Simply close the paths display when finished.\\ + +(The graphical user interface is described later in much more detail.) + +\subsection{Underlying graph theory} +The graph theory underlying RnavGraph is given in detail in the paper by Hurley and Oldford (2011) +and we direct the reader there to gain a fuller appreciation. In this section, we give only a brief summary of some of the ideas.\\ + +In the Iris example just considered, the nodes of Figure \ref{fig:session1}(a) are connected {\bf only if} they share a variate. As a consequence of this, any travel along an edge is consistent with a + a rigid rotation through a three dimensional subspace from one two-dimensional space (or scatterplot) to another. Because the edges are restricted in this way, Hurley and Oldford (2011) call such a graph, a {\em 3D transition graph}.\\ + +The {\em complement} of a 3D transition graph is the graph having the same nodes but with edges +appearing only between nodes that have {\bf no} variates in common. That is only those edges missing between nodes in Figure \ref{fig:session1}(a) will appear in its complement. Hurley and Oldford (2011) call this graph the corresponding {\em 4D transition graph}. \\ + +In our Iris example, choosing the ``Graph'' menu from the navgraph display of Figure \ref{fig:session1}(a) gives a menu of graphs to choose from. Selecting the menu item ``iris: 4D'' will +cause the 4D transition graph to be displayed in place of the 3D transition graph and will also update the +scatterplot display. \\ + +Since nodes no longer share a variable, moving the bullet along an edge in a +4D transition graph causes the 2D subspace (or scatterplot) at one node to smoothly transition +to the 2D subspace (or scatterplot) at the destination node. This is effected by having both axes of one subspace simultaneously transformed into the axes of the other subspace along a geodesic in the four dimensional space defined by all 4 axes. In this way, the path is essentially like that followed in \texttt{ggobi} but restricted to the four variates. Walking a path on a 4D transition graph amounts to exploring the entire (possibly higher) dimensional space via four dimensional trajectories.\\ + +At this point, you might give the 4D transition a try. You will see that the 4D transitions are not rigid rotations and so might look a little unnatural.\\ + +Hurley and Oldford (2011) describe a variety of ways to construct meaningful 3D and 4D transition graphs. Fundamentally, these all begin with a graph on the variates themselves.\\ + +Hurley and Oldford (2011) define a variable graph $G$ as any graph, whose nodes are variates, and whose edges indicate an interest (however defined) in the pair of variates each edge joins in the graph $G$.\\ + +For example, if we consider again the Iris data with $p=4$ variates and assume that all pairs of variates are of equal interest, then $G$ could be the {\em complete graph} on four variates given by +the leftmost graph of Figure \ref{LLGLGNOT} (where \textit{A = Sepal.Length, B = Sepal.Width, C = Petal.Length, D = Petal.Width}). +\begin{figure}[h] + \centering + \input{lg.tex}% \includegraphics[width = 0.9 \textwidth]{lg.jpg} + \caption{Complete graph $G$ with the individual variables as nodes. Line graph $L(G)$ which is equivalent to the 3d-transition graph. $\overline{L(G)}$ the 4d transition graph.} + \label{LLGLGNOT} +\end{figure} +\\ + +A handy constructor from graph theory is the {\em line graph} of a graph $G$ denoted by $L(G)$. +This and other constructors are given in detail in Hurley and Oldford (2011). Suffice to say here is that every edge in $G$ becomes a node in $L(G)$ and nodes in $L(G)$ have edges between them if and only if the corresponding edges in $G$ meet at a node in $G$. +For our purposes, it is enough to know that $L(G)$ will be a 3D transition graph, whatever the graph $G$ (provided it is a variable graph). Moreover, the complement of $L(G)$ will be a 4D transition graph. These three graphs are shown for the Iris data in Figure \ref{LLGLGNOT}.\\ + +Another means of constructing 3D and 4D transition graphs given by Hurley and Oldford (2011) is the use of various {\em graph products}. +If the variables --from the data-- separate into two sets, say $\mathcal{U} = \{U_1,U_2,...,U_m\}$ and $\mathcal{V} = \{V_1,V_2,...,V_n\}$, and for each set there is a corresponding variable graph which connects the pairs of interest, then the {\em Cartesian product} of the two graphs will produce a 3D transition graph preserving the pairs of interest and its complement, the {\em tensor product} on graphs will be the corresponding 4D transition graph. +Figure \ref{fig:prduct} shows these, and other, graph products. +\begin{figure}[h] + \begin{tiny} + \begin{center} + %\includegraphics[width = \textwidth]{products.jpg} + \input{products.tex} + \end{center} + \end{tiny} + \caption{Graph products} + \label{fig:prduct} +\end{figure} +Although RnavGraph does not yet implement these products, it will in the next release.\\ + +Please see Hurley and Oldford (2011) for more details. + +\subsection{General Structure of \texttt{RnavGraph} } +Before going further, it is important to realize that neither the underlying theory nor the implementation of \texttt{RnavGraph} presupposes that the only visualization of interest is that of +rotating scatterplots.\\ + +The theory, so far (though Hurley and Oldford, 2011, go beyond 2D nodes), only takes it that each +node of a transition graph represents 2D information of some sort and that an edge connects +two sets of 2D information which either share a single dimension (a 3D transition) or share no dimension (a 4D transition). When imagining scatterplots at each node, it is easy to see that walking a path on the graph amounts to following a low dimensional trajectory through the higher dimensional space.\\ + +\texttt{RnavGraph} allows the user to define what visualization the vertices (or nodes) represent and what the transition (along the edges) represent. Moreover, moving a bullet along graph edge simply means updating the visualization with information on the current position between two nodes. +What a visualization chooses to do with such information depends entirely on the visualization.\\ + +The implementation of RnavGraph is general in that it makes no assumptions about either the views being displayed +or the nature of the transitions between them. +\texttt{RnavGraph} integrates \textit{data to be analyzed}, \textit{a graph to navigate} and \textit{visualization instructions} to be executed as the graph is traversed. \\ + +\texttt{RnavGraph} provides an S4 class for each of these components to encapsulate the corresponding information, namely the classes \texttt{NG\_data}, \texttt{NG\_graph} and \texttt{NG\_Visualization}, respectively (their associated constructor functions will be explained later). The \texttt{navGraph()} function in R takes \texttt{graph}, \texttt{data} and \texttt{visualization} objects as arguments and starts up the corresponding graphical user interface. Figure \ref{fig:exampleSession} shows a stylized session. + +\usetikzlibrary{calc} +\def\wi{0.8cm} +\pgfdeclareimage[width=\wi]{f1_1}{img/f1_1} +\pgfdeclareimage[width=\wi]{f1_2}{img/f1_2} +\pgfdeclareimage[width=\wi]{f2_1}{img/f2_1} +\pgfdeclareimage[width=\wi]{f2_2}{img/f2_2} +\pgfdeclareimage[width=\wi]{m1_1}{img/m1_1} +\pgfdeclareimage[width=\wi]{m1_2}{img/m1_2} +\pgfdeclareimage[width=\wi]{m2_1}{img/m2_1} +\pgfdeclareimage[width=\wi]{m3_1}{img/m3_1} +\pgfdeclareimage[width=\wi]{m4_1}{img/m4_1} +\pgfdeclareimage[width=\wi]{m4_2}{img/m4_2} + + +\begin{figure}[h] +\begin{center} +\begin{tikzpicture} + [node/.style={circle, draw=black!50, fill=black!50, minimum size=3mm}, + bullet/.style={circle, draw=black, fill=black!10,thick, minimum size=6mm}, + notvisited/.style={draw=black}, + active/.style={draw=black!30,line width=4pt}] + \begin{scope} + \node at (-1, 0) [node, label=left:{\scriptsize A:D}] (N1) {}; + \node at ( 0,-1) [node, label=below:{\scriptsize B:C}] (N2) {}; + \node at ( 1, 0) [node, label=right:{\scriptsize C:D}] (N3) {}; + \node at ( 0, 1) [node, label=above:{\scriptsize A:B}] (N4) {}; + \draw[notvisited] (N3) -- (N2) -- (N1) -- (N4) -- (N2); + \draw[active] (N3) -- (N1); + \node at ( 0.4, 0) [bullet] {}; + \draw (-2,-1.6) -- (2,-1.6) -- (2,1.6) -- (-2,1.6) -- (-2,-1.6); + \node at (-2,1.8) [anchor=west] {interactive graph}; + \end{scope} + + + %% 2d Scatterplot + \begin{scope}[shift={(4.4,0)}] + \node at ( -0.8, -0.8) {\pgfbox[center,center]{\pgfuseimage{f1_1}}}; + \node at ( -0.2, -0.6) {\pgfbox[center,center]{\pgfuseimage{f1_2}}}; + \node at ( 2.6, 0.6) {\pgfbox[center,center]{\pgfuseimage{f2_1}}}; + \node at ( 3, -0.4) {\pgfbox[center,center]{\pgfuseimage{f2_2}}}; + \node at ( 1.6, 0.8) {\pgfbox[center,center]{\pgfuseimage{m1_1}}}; + \node at ( 1.0, 1) {\pgfbox[center,center]{\pgfuseimage{m1_2}}}; + \node at ( -1, 0.6) {\pgfbox[center,center]{\pgfuseimage{m2_1}}}; + \node at ( 0, 0.6) {\pgfbox[center,center]{\pgfuseimage{m3_1}}}; + \node at ( 1.2, -0.6) {\pgfbox[center,center]{\pgfuseimage{m4_1}}}; + \node at ( 2, -1) {\pgfbox[center,center]{\pgfuseimage{m4_2}}}; + \draw (-1.6,-1.6) -- (3.6,-1.6) -- (3.6,1.6) -- (-1.6,1.6) -- (-1.6,-1.6); + \node at (-1.6,1.8) [anchor=west] {linked 2d image scatterplot}; + \end{scope} + + + + \begin{scope}[shift={(10.4,0)}] + \newcommand{\radius}{0.4} + + \foreach \x/\y/\a/\b/\c/\d in { + -0.8/-0.8/ 0.8/0.5/0.6/0.2, % f1_1 + -0.2/-0.6/ 0.8/0.4/0.7/0.2, % f1_2 + 2.6/0.6/ 0.2/0.9/0.4/0.7, % f2_1 + 3/-0.4/ 0.1/0.9/0.5/0.5, % f2_2 + 1.6/0.8/ 0.3/0.7/0.4/0.6, % m1_1 + 1.0/1/ 0.25/0.6/0.5/0.5, % m1_2 + -1/0.6/ 0.1/0.9/0.5/0.5, % m2_1 + 0/0.6/ 0.4/0.8/0.4/0.2, % m3_1 + 1.2/-0.6/ 0.6/0.6/0.1/0.8, % m4_1 + 2/-1/ 0.6/0.6/0.1/0.8 % m4_2 + } { + \foreach \alpha/\perc in {0/\a,40/\b,80/\c,120/\d,160/\a,200/\c,240/\d,280/\b,320/\d} { + \coordinate (\alpha) at ($(\x,\y)!\perc!\alpha:(\x,\y+\radius)$) {}; + } + \draw[fill = black!20] (0) -- (40) -- (80) -- (120) -- (160) + -- (200) -- (240) -- (280) -- (320) -- cycle; + } + \draw (-1.6,-1.6) -- (3.6,-1.6) -- (3.6,1.6) -- (-1.6,1.6) -- (-1.6,-1.6); + \node at (-1.6,1.8) [anchor=west] {linked 2d glyph scatterplot}; + \end{scope} +\end{tikzpicture} +\end{center} + \caption{A possible session of \texttt{RnavGraph}. Note that here the ball is connected to two sets of visualization instructions. That is, to an scatterplot with images and a scatterplot with glyphs.} + \label{fig:exampleSession} +\end{figure} + +A \texttt{navGraph} function call returns a \textit{navGraph} handler object which allows the user to control and receive certain states of the running navGraph GUI.\\ + + +\texttt{navGraph} offers different ways to instantiate a session. +The most straightforward way is to only define a \texttt{NG\_data} object and then let \texttt{navGraph} set up the default environment with 2d scatterplots and 3d- and 4d transition graphs. +This is what we did in the introductory example.\\ + Alternatively, the user can define the \texttt{NG\_data}, \texttt{NG\_graph} and \texttt{NG\_Visualization} objects themselves + and hence have a much finer control and broader set of functionality to access. \\ + + In the following subsection, we redo the simple example but, this time, with more detailed control over the constructions. + +\subsubsection{The simple example, in detail.} +In the Iris data example, we simply relied on \texttt{RnavGraph} to fill in the details. +Now, we revisit this example; this time filling in the details so as to demonstrate the fine control +over graphs, data, and visualization instructions which \texttt{RnavGraph} offers to the user.\\ + +The following code may also be found in the \texttt{ng\_2d\_iris} demo. + +<>= +demo("ng_2d_iris", package = "RnavGraph") +@ + +Now, as before, the first step is to create the data object + +<>= +ng.iris <- ng_data(name = "iris", data = iris[,1:4], + shortnames = c('s.L', 's.W', 'p.L', 'p.W'), + group = iris$Species, + labels = substr(iris$Species,1,2)) +@ + +Note how the \texttt{Species} variable was passed on to the \texttt{group} argument and not to the \texttt{data} argument. Further, the \texttt{shortnames} argument takes alternative variable names. That is, we'd like to use these \texttt{shortnames} to name the vertices of the variable graph. +<<>>= +V <- shortnames(ng.iris) +@ +We now create the three graphs presented in the figure \ref{LLGLGNOT}: +<<>>= +G <- completegraph(V) +LG <- linegraph(G) +LGnot <- complement(LG) +@ +These three objects are from the \texttt{graph} class +<<>>= +class(G) +@ +The \texttt{RnavGraph} package provides, as outlined earlier, a own graph class because \texttt{navGraph} needs additional information +<<>>= +ng.lg <- ng_graph(name = '3D Transition', graph = LG, layout = 'circle') +ng.lgnot <- ng_graph(name = '4D Transition', graph = LGnot, layout = 'circle') +@ +Note that the names of the graph objects must be unique within all graph objects passed on to \texttt{navGraph}. The same holds for the data names, as \texttt{navGraph} uses these names to link a graph and data via a visualization object.\\ + +As the last step, we need to define visualization rules. For the 3d and 4d transition of 2d scatterplots we can use the \texttt{ng\_2d()} function as follows +<<>>= +viz3dTransition <- ng_2d(ng.iris,ng.lg) +@ +\texttt{navGraph} takes multiple visualization instruction objects, so for demonstration purposes let's define another visualization instruction object +<<>>= +viz4dTransition <- ng_2d(ng.iris,ng.lgnot) +@ +In summary, we have now one data object \texttt{ng.iris}, two graph objects \texttt{ng.lg} and \texttt{ng.lgnot}, and two visualization instruction objects \texttt{viz3dTransition} and \texttt{viz4dTransition}. When dealing with multiple objects from the same class, we need to pack them into a \texttt{list} +<<>>= +viz <- list(viz3dTransition, viz4dTransition) +graphs <- list(ng.lg, ng.lgnot) +@ +and finally we can pass them all to the \texttt{navGraph} GUI initializing function +<>= +nav <- navGraph(graph = graphs, data = ng.iris, viz = viz) +@ +where \texttt{nav} is the navGraph handler, more about it later.\\ + +This example session shows essentially the work flow of using \texttt{navGraph}. The rest of this vignette discusses each step in detail. It also shows a variety of visualizations. + +\section{Data} +Every \texttt{NG\_data} object needs a unique name and a data set in the form of a \texttt{data.frame} with solely numeric variables. The \texttt{shortnames}, \texttt{group} and \texttt{label} argument are optional. It is important that the \texttt{data.frame} used only contains numeric variables, as this is the only data type supported for visualization at the moment and it simplifies some \texttt{navGraph} internal procedures. Hence, when trying to pass on non-numeric variables, \texttt{ng\_data()} throws an error.\\ +% <>= +% ng.test <- ng_data("test", data = data.frame(a = c("A","B","C","B"))) +% @ +% <>= +% try(ng.test <- ng_data("test", data = data.frame(a = c("A","B","C","B")))) +% @ + + +The \texttt{name} argument takes a string which must be unique between all \texttt{NG\_data} objects passed on to \texttt{navGraph}. \texttt{navGraph} will, based on the data- and graph- names, link graph and data via the visualization instructions. A minimal working \texttt{NG\_data} object can be created with +<<>>= +ng.iris <- ng_data(name = "iris", data = iris[,1:4]) +@ +\texttt{NG\_data} objects, as most other objects provided by the \texttt{RnavGraph} package, show a summary if you print them with \texttt{print} or just enter their variable name into the R promt +<<>>= +ng.iris +@ + +The variable names of \texttt{NG\_data} objects, like the variable names of \texttt{data.frame} objects, can be displayed and changed with the \texttt{names} function: + +<<>>= +names(ng.iris) ## get variable names +names(ng.iris) <- c("SepL", "SepL", "PetL", "PetW") +@ + +the same holds true for the shortnames: + +<<>>= +shortnames(ng.iris) +shortnames(ng.iris) <- c('s.L', 's.W', 'p.L', 'p.W') +@ + +let's see the output summary of the modified \texttt{ng.iris} object + +<<>>= +print(ng.iris) +@ + +all the information stored in a \texttt{NG\_data} object can be accessed via the \texttt{ng\_get} and modified via the \texttt{ng\_set} function. + +<<>>= +ng_get(ng.iris) ## See what can be accessed +ng_get(ng.iris,"data")[1:3,] +ng_get(ng.iris,"name") +ng_get(ng.iris,"group") +ng_get(ng.iris,"labels") +@ + +Modifying parts from the \texttt{NG\_data} objects can be achieved using the \texttt{ng\_set} function + +<<>>= +ng_set(ng.iris) +ng_set(ng.iris,"labels") <- as.character(iris$Species) +@ + + +\subsection{group argument} +The \texttt{group} argument of the \texttt{ng\_data} function deserves its own subsection, as it defines the color of the points, images, glyphs, etc. in the visualization displays. We herefore create a small toy example: + +<<>>= +x <- rep(1:30, each = 30) +y <- rep(1:30, 30) +ng.test <- ng_data(name = "test", data = data.frame(x = x, y = y, z = 1:900), + group = 1:900) +@ + +This produces a rectangular grid of $900$ points where each point has a different group: + +<>= +nav <- navGraph(ng.test) +@ + +The output of \texttt{navGraph} is shown in figure \ref{fig:tk2dCols}. \texttt{navGraph} matches the first nine groups to the colors shown in its brushing menu and the rest to the colors returned by the R function \texttt{colors()}. Note that \texttt{navGraph} only distinguishes between as many groups as \texttt{colors()} knows colors. If more groups exist, the remaining points get mapped to the first color in the brushing menu. + +\begin{figure}[h] + \label{fig:tk2dCols} + \centering + \includegraphics[width = 0.6\textwidth]{img/tk2dcolors.png} + \caption{Mapping of the \texttt{group} argument to colors in the default tk2d window.} +\end{figure} + +If the data gets visualized with \texttt{ggobi}, the mapping from the \texttt{group} argument to the display items happens as shown in figure \ref{fig:ggobicolors}. Use the code + +<>= +nav <- navGraph(ng.test, settings = list(defaultDisplay = "ggobi")) +@ +herefore. + +\begin{figure}[h] + \label{fig:ggobicolors} + \centering + \includegraphics[width = 0.6\textwidth]{img/ggobicolors.png} + \caption{Mapping of the \texttt{group} argument to colors in the ggobi display.} +\end{figure} + +For \texttt{RnavGraph}s default display (\texttt{tk2d}, see later), the \texttt{group} variable could also be a vector of strings contained in the \texttt{colors()} output. For example + +<>= +x <- rep(1:3, each = 3) +y <- rep(1:3, 3) +ng.test <- ng_data(name = "test2", data = data.frame(x = x, y = y, z = 1:9), + group = c('red','red','green','blue','blue','blue','blue','orange','orange')) +nav <- navGraph(ng.test) +@ + +yield the output shown in figure \ref{fig:tk2dCols2}. + +\begin{figure}[h] + \label{fig:tk2dCols2} + \centering + \includegraphics[width = 2cm]{img/tk2dcolors2.png} + \caption{Mapping of the \texttt{group} argument containing color names.} +\end{figure} + + +\section{Graph} +Defining an \texttt{NG\_graph} object happens in two stages. First, a \texttt{graph} object from the \texttt{graph} package has to be created. Second, a \texttt{NG\_graph} object gets created from the \texttt{graph} object. This has the advantage, that a \texttt{R} standard graph gets created using the full flexibility provided by other packages building on the \texttt{graph} package such as the \texttt{RGBL} and \texttt{Rgraphviz} package. + +\subsection{The \texttt{graph} package} +We recommend to take a brief look at the following vignettes in order to get an overview of some of the functionality of \texttt{R} handling graphs. + +<>= +vignette(package="graph") +vignette(package="RBGL") +vignette(package="Rgraphviz") +@ + +The \texttt{graph} package does, to our understanding, not deliver any simple creator functions, that is the user is left to use the \texttt{new()} creator function. + +<<>>= +adjM <- matrix(c(0,4,1,0,2,0,3,2,2,2,0,0,0,2,0,0), ncol = 4) +rownames(adjM) <- c('A','B','C','D') +colnames(adjM) <- c('A','B','C','D') +G <- new("graphAM", adjMat = adjM, edgemode = "directed") +G +@ +If the \texttt{Rgraphviz} package is installed, one can plot a \texttt{graph} object + \setkeys{Gin}{width=0.4\textwidth} +\begin{center} +<>= +library(Rgraphviz) +plot(G) +@ +\end{center} + +We have written some functions which ease the graph creation part. Often the users want to start from a complete variable graph. We provide the \texttt{completegraph} function which takes a vector of node names as the argument + +\begin{center} +<>= +V <- c('s.L', 's.W', 'p.L', 'p.W') +G <- completegraph(V) +plot(G, "neato") +@ +\end{center} + +We also introduce the \texttt{newgraph} R function which either takes an adjacency- or a from-to-edge matrix to create a graph + +\begin{center} +<>= +from <- c("A","A","C","C") +to <- c("B","C","B","D") +ftEmat <- cbind(from,to) + +G <- newgraph(nodeNames = LETTERS[1:5], mat = ftEmat) +plot(G, "neato") +@ +\end{center} +Note how the node ``E'' was added to the graph because it was specified in the \texttt{nodeNames} argument of \texttt{newgraph}. Graphs can also be directed, however \texttt{RnavGraph} does not constrain the bullet in direction if an edge exists. Hence this feature is for the current \texttt{RnavGraph} version not from importance, however for completeness the following code works as expected + +\begin{center} +<>= +G <- newgraph(nodeNames = LETTERS[1:5], mat = ftEmat, directed = TRUE) +plot(G, "neato") +@ +\end{center} + +The from-to-edge matrix can also be numeric +\begin{center} +<>= +from <- c(1,1,3,3) +to <- c(2,3,2,4) +ftEmat <- cbind(from,to) +G <- newgraph(nodeNames = LETTERS[1:5], mat = ftEmat) +plot(G, "neato") +@ +\end{center} + +Weights can also be added to Graphs via the weights argument. Note however that \texttt{navGraph} does not visualize them, but they might be important for greedy path finding algorithms +<<>>= +weights <- c(2,1,3,4) +G <- newgraph(nodeNames = LETTERS[1:5], mat = ftEmat, weights = weights) +edgeData(G, attr = "weight") +@ + +Alternatively you can add weights after the graph creation process +<<>>= +G <- newgraph(nodeNames = LETTERS[1:5], mat = ftEmat, weights = weights, directed = TRUE) +edgeData(G, attr = "weight") +edgeData(G, from = "A", to = "B", attr = "weight") +edgeData(G, from = "A", to = "B", attr = "weight") <- 8 +@ + +As mentioned earlier, the \texttt{newgraph} function takes also adjacency matrices as an argument, use the argument \texttt{isAdjacency=TRUE} +\begin{center} +<>= +adjM <- matrix(c(0,1,1,0,1,0,1,1,1,1,0,0,0,1,0,0), ncol = 4) +all(adjM == t(adjM)) ## is symmetric (undirected) +G <- newgraph(nodeNames = V, mat= adjM, isAdjacency=TRUE) +plot(G,"neato") +@ +\end{center} +Note that all the graphs from the \texttt{graph} class have the function \texttt{nodes} and \texttt{edges} defined +<<>>= +nodes(G) +edges(G) +@ +If you use an adjacency matrix to create a graph, you can also pass on a weight matrix +<<>>= +adjM <- matrix(c(0,0,1,0,1,0,1,1,0,0,0,0,0,1,0,0), ncol = 4) +weightsM <- matrix(c(0,0,5,0,2,0,1,3,0,0,0,0,0,7,0,0), ncol = 4) +G <- newgraph(nodeNames = V, mat= adjM, weights = weightsM, directed = TRUE, isAdjacency=TRUE) +edgeData(G, attr = "weight") +@ +Further, the \texttt{ftM2adjM} function converts a from-to-edge matrix into a adjacency matrix +<<>>= +ftM2adjM(ftEmat) +@ + +\subsubsection{linegraph and its complement} +After creating a variable graph, getting its linegraph and the complement of the linegraph yields the 3d- and 4d transition graph. We provide the \texttt{linegraph} function, and the \texttt{graph} package provides the \texttt{complement} function. The \texttt{linegraph} function has the separator \texttt{sep} argument to distinguish the node names. You must chose a string that does not occur within any of the node names within the graph. + +<<>>= +G <- completegraph(V) +LG <- linegraph(G, sep = '::') +nodes(LG) +@ +\modify{Notice, if G had edge weights, then they are lost now. Also, the line graph is only defined for undirected graphs at the moment.} + + + + +\subsection{The \texttt{NG\_graph} object} +The good thing about using the \texttt{graph} package is, that it makes the graph construction process very flexible. In the end, however, the node names of the graph must be in sync with the shortnames or the names of the \texttt{NG\_data} object, and the graph must be from the \texttt{graph} class and subsequently the \texttt{NG\_graph} class.\\ + +It stays to create an \texttt{NG\_graph} object + +<<>>= +ng.LG <- ng_graph(name = "3D Transition", graph = LG, sep = '++', layout = "circle") +ng.LG +@ +Note that you have to specify the \texttt{sep} argument again. The reason herefore is that you could pass on any graph with any dimensionality of node names (e.g. ``A:B:C:D'' for four dimensions). In addition, you can specify the graph layout. Currently \texttt{circle}, \texttt{random} \modify{(currently not working)}, \texttt{kamadaKawaiSpring} and \texttt{fruchtermanReingold} are possible options for the layout. We use the \texttt{RBGL} package to get the latter two layouts. The \texttt{complement} function does not need any special considerations: +<<>>= +LGnot <- complement(LG) +ng.LGnot <- ng_graph(name = "4D Transition", + graph = LGnot, sep = "::", layout = "circle") +@ +The name of each \texttt{NG\_graph} object, as for the \texttt{NG\_data} object, must be unique within all graphs passed on to the \texttt{navGraph} function. \texttt{NG\_graph} objects can also be plotted, however they get rendered by \texttt{RnavGraph} according to the layout argument. + \setkeys{Gin}{width=0.8\textwidth} +\begin{center} +<>= +par(mfrow = c(1,2)) +plot(ng.LG) +plot(ng.LGnot) +@ +\end{center} + +Further, similarly as for the \texttt{NG\_data} object, you can access or modify with the \texttt{ng\_get} and \texttt{ng\_set} function, respectively. +<<>>= +ng_get(ng.LG) +ng_set(ng.LG, "name") <- "3d transition graph" +@ +\modify{Careful with the use of \texttt{ng\_set}, some things are linked: graph, visitedEdges and layout. Changing one should affect the whole object (which it does not at the moment). So it's better not to use \texttt{ng\_set} on \texttt{NG\_graph} objects.} + +\section{Visualization Instructions} +Once the \texttt{NG\_data} and \texttt{NG\_graph} objects have been defined, they have to be connected with some visualization instructions. That is, the visualization instructions tell \texttt{navGraph} what and how \texttt{navGraph} should visualize when the ball gets moved along the edges of the graph. Conceptually, \texttt{navGraph} allows for any visualization of the data, as long the user can implement them. That is, there are no constrains to dimensionality of data represented by a node or the ``morphing'' defined along an edge. This task is especially easy if the \texttt{ng\_2d\_myplot} function is used. However for best efficiency the methods \texttt{initializeViz}, \texttt{updateViz} and \texttt{closeViz} can be used to implement own --possibly new-- ideas.\\ + +For the 2d- scatterplot example, we need a device that plots some objects at the $x$ and $y$ euclidean coordinate. The objects could be either dots, images, glyphs, text or anything else you can imagine (and implement). There are many plotting devices available in \texttt{R} (e.g. traditional graphics, grid, rgl and ggobi) and \texttt{navGraph} can deal with most of them. However when it comes to speed and \modify{double buffering}, only few of them produce satisfactory output. In addition, different devices allow for different objects to be plotted. \modify{We have implemented a new device, lets call it \texttt{tk2d},} that builds upon the tk canvas widget (so does the interactive graph). Alternatively to \texttt{tk2d} one can use the \texttt{rggobi} package and \texttt{ggobi} to visualize the scatterplots. \texttt{ggobi} however does only allow to visualize dots, rectangles and \modify{crosses} in different colors. \texttt{Ggobi} has not been maintained for a while and hence does not run well on (\modify{all to my knowledge}) current operating systems. For what follows, we will give a detailed explanation of each device. \modify{Most likely you only want to read the \texttt{tk2d} and \texttt{ggobi} subsection and then return to this section once you have more custom needs}. + + +\subsection{\texttt{tk2d}} +The \texttt{tk2d} device can either display dots, images, glyphs or text (strings). + +\begin{figure}[h] +\begin{center} +\begin{tikzpicture} + [dot/.style={circle, draw=black!50, fill=black!50, minimum size=1.5mm}] + + + %% 2d Scatterplot dots + \begin{scope} + \node at ( -0.8, -0.8) [dot] {}; + \node at ( -0.2, -0.6) [dot] {}; + \node at ( 2.6, 0.6) [dot] {}; + \node at ( 3, -0.4) [dot] {}; + \node at ( 1.6, 0.8) [dot] {}; + \node at ( 1.0, 1) [dot] {}; + \node at ( -1, 0.6) [dot] {}; + \node at ( 0, 0.6) [dot] {}; + \node at ( 1.2, -0.6) [dot] {}; + \node at ( 2, -1) [dot] {}; + \draw (-1.6,-1.6) -- (3.6,-1.6) -- (3.6,1.6) -- (-1.6,1.6) -- (-1.6,-1.6); + \node at (-1.6,1.8) [anchor=west] {linked 2d dots scatterplot}; + \end{scope} + + + + + %% 2d Scatterplot images + \begin{scope}[shift = {(8.4,0)}] + \node at ( -0.8, -0.8) {\pgfbox[center,center]{\pgfuseimage{f1_1}}}; + \node at ( -0.2, -0.6) {\pgfbox[center,center]{\pgfuseimage{f1_2}}}; + \node at ( 2.6, 0.6) {\pgfbox[center,center]{\pgfuseimage{f2_1}}}; + \node at ( 3, -0.4) {\pgfbox[center,center]{\pgfuseimage{f2_2}}}; + \node at ( 1.6, 0.8) {\pgfbox[center,center]{\pgfuseimage{m1_1}}}; + \node at ( 1.0, 1) {\pgfbox[center,center]{\pgfuseimage{m1_2}}}; + \node at ( -1, 0.6) {\pgfbox[center,center]{\pgfuseimage{m2_1}}}; + \node at ( 0, 0.6) {\pgfbox[center,center]{\pgfuseimage{m3_1}}}; + \node at ( 1.2, -0.6) {\pgfbox[center,center]{\pgfuseimage{m4_1}}}; + \node at ( 2, -1) {\pgfbox[center,center]{\pgfuseimage{m4_2}}}; + \draw (-1.6,-1.6) -- (3.6,-1.6) -- (3.6,1.6) -- (-1.6,1.6) -- (-1.6,-1.6); + \node at (-1.6,1.8) [anchor=west] {linked 2d image scatterplot}; + \end{scope} + + + + \begin{scope}[shift={(0,-5)}] + \newcommand{\radius}{0.4} + + \foreach \x/\y/\a/\b/\c/\d in { + -0.8/-0.8/ 0.8/0.5/0.6/0.2, % f1_1 + -0.2/-0.6/ 0.8/0.4/0.7/0.2, % f1_2 + 2.6/0.6/ 0.2/0.9/0.4/0.7, % f2_1 + 3/-0.4/ 0.1/0.9/0.5/0.5, % f2_2 + 1.6/0.8/ 0.3/0.7/0.4/0.6, % m1_1 + 1.0/1/ 0.25/0.6/0.5/0.5, % m1_2 + -1/0.6/ 0.1/0.9/0.5/0.5, % m2_1 + 0/0.6/ 0.4/0.8/0.4/0.2, % m3_1 + 1.2/-0.6/ 0.6/0.6/0.1/0.8, % m4_1 + 2/-1/ 0.6/0.6/0.1/0.8 % m4_2 + } { + \foreach \alpha/\perc in {0/\a,40/\b,80/\c,120/\d,160/\a,200/\c,240/\d,280/\b,320/\d} { + \coordinate (\alpha) at ($(\x,\y)!\perc!\alpha:(\x,\y+\radius)$) {}; + } + \draw[fill = black!20] (0) -- (40) -- (80) -- (120) -- (160) + -- (200) -- (240) -- (280) -- (320) -- cycle; + } + \draw (-1.6,-1.6) -- (3.6,-1.6) -- (3.6,1.6) -- (-1.6,1.6) -- (-1.6,-1.6); + \node at (-1.6,1.8) [anchor=west] {linked 2d glyph scatterplot}; + \end{scope} + + %% 2d Scatterplot text + \begin{scope}[shift = {(8.4,-5)}] + \node at ( -0.8, -0.8) {Jane}; + \node at ( -0.2, -0.6) {Jane}; + \node at ( 2.6, 0.6) {Lea}; + \node at ( 3, -0.4) {Lea}; + \node at ( 1.6, 0.8) {Max}; + \node at ( 1.0, 1) {Max}; + \node at ( -1, 0.6) {Joe}; + \node at ( 0, 0.6) {Mike}; + \node at ( 1.2, -0.6) {Bill}; + \node at ( 2, -1) {Bill}; + \draw (-1.6,-1.6) -- (3.6,-1.6) -- (3.6,1.6) -- (-1.6,1.6) -- (-1.6,-1.6); + \node at (-1.6,1.8) [anchor=west] {linked 2d text scatterplot}; + \end{scope} + + +\end{tikzpicture} +\end{center} + \caption{\texttt{tk2d} can visualize dots, images, glyphs and text.} + \label{fig:tk2d} +\end{figure} + +Once the \texttt{tk2d} device is started, there is a whole set of interaction tools like brushing, changing colors, resizing images etc. We will discuss them in the ``Starting a \texttt{navGraph} Session'' section. For now lets define some visualization instructions that use the \texttt{tk2d} device and only show dots + +<<>>= +viz1 <- ng_2d(data = ng.iris, graph = ng.lg) +viz1 +@ +Notice the output of the \texttt{viz1} object. It says that it addresses the \texttt{tk2d} device which displays a scatterplot and that it connects the \texttt{NG\_graph} object with the name ``\Sexpr{viz1@graph}'' with the \texttt{NG\_data} object with the name ``\Sexpr{viz1@data}''. Hence if you weren't to choose the graph and data names unique, \texttt{navGraph} would not know how to link them correctly. \texttt{navGraph} has no lower bound on the number of visualization instructions you can pass on as an argument. So lets define another \texttt{tk2d} visualization object +<<>>= +viz2 <- ng_2d(data = ng.iris, graph = ng.lgnot) +@ + +\subsubsection{Working with Images (from some text source)} +The main reason we have implemented the \texttt{tk2d} device is because we wanted the \texttt{RnavGraph} package to be useful to explore image data. All images get imported as tcl \texttt{image} objects since they later will be displayed on a tk canvas widget. If you want to import images from image files (such as jpg or png), you need running \texttt{Img} tcl extension set up for the tcltk version R connects to via the \texttt{tcltk} R package, see the section installation instructions. If the images, however, eventually exist as an R object of some sort (e.g. a matrix), the tcl \texttt{Img} extension is not needed. For the examples in this vignette and for some of the demos, we require the \texttt{RnavGraphImageData} package. +<<>>= +library(RnavGraphImageData) +@ +you can get an overview of the data provided by the package with +<>= +data(package='RnavGraphImageData') +@ +Much of this data is from the webpage of Sam Roweis \verb|http://www.cs.nyu.edu/$\sim$roweis/data.html|.\\ + +Lets start with the USPS \texttt{digits} image data +<<>>= +data(digits) +dim(digits) +@ +from the help documentation for the data set +<>= +help("digits") +@ +we get that the \texttt{digits} data consists of $16\times 16$ 8-bit grayscale images of ``0'' through ``9''; 1100 examples of each class. That is, one image is stored in one column (which is often the case in the machine learning field). For example the data of one handwritten $8$ is +<>= +matrix(digits[,7*1100+1],ncol = 16, byrow=FALSE) +@ +\begin{tiny} +<>= +w <- options("width")$width +options(width=120) +matrix(digits[,7*1100+1],ncol = 16, byrow=FALSE) +options(width=w) +@ +\end{tiny} +Hence the gray scales are coded from $0$ to $255$. Since visualizing $11000$ digits is computationally expensive, we will continue with a sub-sample of the data for this demo +<<>>= +sel <- sample(x=1:11000,size = 600) +p.digits <- digits[,sel] +@ +% $ +In order for \texttt{tk2d} to be able to display the images, they need to be wrapped into a \texttt{NG\_image} object. Now, contrary to all the \texttt{NG\_...} objects we have encountered so far, the \texttt{NG\_image} class does not wrap the image data within itself. The \texttt{NG\_image} object contains only the names (character strings) of the images that \texttt{tcl} did automatically assign. That is, when importing an image into tcl, tcl names them consecutively, i.e. \texttt{image1}, \texttt{image2}, ..., so that they can readily be displayed when needed. Coming back to our \texttt{digits} example, the \texttt{ng\_image\_array\_gray} R function creates a \texttt{NG\_image} object from a \texttt{data.frame} object with values ranging from $0$ to $255$. +<<>>= +ng.i.digits <- ng_image_array_gray('USPS Handwritten Digits', + p.digits,16,16,invert = TRUE, + img_in_row = FALSE) +@ + +the images can be seen with +<>= +ng.i.digits +@ +which would yield something like (it's random because of the sampling!) +\begin{center} + \includegraphics[width = 5cm]{img/tk2dimages1.png} +\end{center} +where the scroll bar can be used to navigate through all the images. The name you specified does not have to be unique since here the image ids are the only important part. \modify{The name is only used for the \texttt{print} output of the \texttt{NG\_image} object}. We also need meta-data on the images. Many scenario are possible, i.e. we could have measured data for each image or we could perform some kind of feature extraction for each image or we reduce the dimensionality (number of pixel) of each image to something manageable, say $4$ or $5$ dimension --rather than the commonly conveniently chosen two dimensions--. For the rest of this vignette, we choose the dimensionality reduction approach using isomap provided in the \texttt{vegan} (or also by the \texttt{RDRToolbox}) R package. +<<>>= +library(vegan) +@ +We need to transpose the \texttt{digit} data first, since each image is saved as one column and not within a row (the statistics- and computer science field seem to disagree on a common convention). +<>= +p.digitsT <- t(p.digits) +@ +Next, we need to generate a distance matrix (euclidean distance of one image to another) and perform isomap on the distances +<>= +dise <- vegdist(p.digitsT, method="euclidean") +ord <- isomap(dise,k = 8, ndim=6, fragmentedOK = TRUE) +@ +Next we create an \texttt{NG\_data} object +<>= +digits_group <- rep(c(1:9,0), each = 1100) + +ng.iso.digits <- ng_data(name = "ISO_digits", + data = data.frame(ord$points), + shortnames = paste('i',1:6, sep = ''), + group = digits_group[sel], + labels = as.character(digits_group[sel])) +@ +and the \texttt{NG\_graph} objects +<>= +V <- shortnames(ng.iso.digits) +G <- completegraph(V) +LG <- linegraph(G) +LGnot <- complement(LG) +ng.LG <- ng_graph(name = "3D Transition", graph = LG) +ng.LGnot <- ng_graph(name = "4D Transition", graph = LGnot) +@ +%$ +And finally, the visualization instruction allow for adding the images to the \texttt{tk2d} plot +<>= +vizDigits1 <- ng_2d(data = ng.iso.digits, graph = ng.LG, images = ng.i.digits) +vizDigits2 <- ng_2d(data = ng.iso.digits, graph = ng.LGnot, images = ng.i.digits) +@ +Starting a \texttt{navGraph} session is simple (but in more detail discussed later on) +<>= +nav <- navGraph(data = ng.iso.digits, graph = list(ng.LG, ng.LGnot), viz = list(vizDigits1, vizDigits2)) +@ + + +\begin{center} +\includegraphics[width = 0.6 \textwidth]{img/imageDigits.png} +\end{center} + +For other examples of importing greyscale images from txt data file see the \texttt{ng\_2d\_images\_alpha\_letter}, \texttt{ng\_2d\_images\_alpha\_letter} and \texttt{ng\_2d\_images\_umist\_faces} demos. + + +\subsubsection{Working with color Images (jpeg, png, etc...)} + +If your image source is a file such as a bmp, gif, ico, jpeg, pcx, pixmap, png, ppm, postscript, sgi, sun, tga, tiff, window, xbm or xpm file, the \texttt{ng\_image\_files} R function helps you to import these images into the \texttt{tcl} layer provided the \texttt{Img} tcl extension works properly. If you need to precess the image data in \texttt{R}, the R packages in table \ref{tab:ImagesInR} provide some functionality, however not for all the formats the \texttt{Img} tcl extension is capable of importing. Note however with the \texttt{shell} R command and an installed \texttt{Imagemagik} you can convert any images to almost any format you could wish for.\\ +<>= +shell("convert image.png image.jpg") +@ + +\begin{table}[h] + \label{tab:ImagesInR} + \centering + \begin{tabular}{llll} + \hline + Function & Package & Image Format & Returned Object\\ + \hline + \texttt{read.pnm} & \texttt{pixmap} & pbm, pgm, ppm & objects of diverse pixmap classes\\ + \texttt{read.jpeg} & \texttt{rimage} & jpeg & image.matrix object\\ + \texttt{readRiff} & \texttt{rtiff} & tiff & pixmap objcet\\ + \texttt{readPNG} & \texttt{png} & png & array\\ + \hline + \end{tabular} + \caption{\modify{Table (almost) directly from the useR book "Morphometrics with R" page 33.}} +\end{table} + +We work with a data set from the Library of Amsterdam \modify{http://staff.science.uva.nl/$\sim$aloi/}. The download is the ``Quater resolution (192 $\times$ 144)'' which whose size is 60MB and contains $1000-250$ objects with each three different viewing angles \modify{2250} images. We have attached a resized version ($38x29$ pixels) in the \texttt{RnavGraphImageData} package in order to save space. + +\begin{center} + \includegraphics[width = 0.6\textwidth]{img/aloi.jpg} +\end{center} + +The path to the images is +<<>>= +imgPath <- system.file("aloi_small", package="RnavGraphImageData") +aloi_images <- list.files(path=imgPath, full.names=TRUE) +length(aloi_images) +aloi_images[1:5] +@ +We sample 400 images, so that we do not have to deal with all 2250 images at once. +<>= +sel <- sample(1:length(aloi_images),replace=FALSE) +p.aloi_images <- aloi_images[sel] +@ + + +\modify{Note that the \texttt{rimage} package needs the \texttt{fftw-dev} (in ubuntu) package to perform Fast Fourier Transformations.}\\ + + +Now, lets import the images first into the tcl layer, herefore the \modify{universal function (for jpg, png, etc.)} is \texttt{ng\_image\_files}: +<>= +ng.i.objects <- ng_image_files(name="ALOI objects", path=p.aloi_images) +@ +and again, you can see the images using +<>= +ng.i.objects +@ + +In order to work with the image data in \texttt{R}, we use the \texttt{readPNG} function from the \texttt{png} package. \modify{\texttt{readPNG} returns a three dimensional array with the red-blue-green contents for each pixel. For the ease of our demonstration we just get for each image the total (sum) of red, green and blue content.} +<>= +library(png) +imgData <- t(sapply(p.aloi_images, FUN=function(path){ + x <- readPNG(path) + r <- sum(x[,,1]) + g <- sum(x[,,2]) + b <- sum(x[,,3]) + return(c(r,g,b)) +})) +@ +Initializing a \texttt{navGraph} session on this data and the images stays the same as in the previous example +<>= +ng.iso.objects <- ng_data(name = "ISO_objects", + data = data.frame(imgData), + shortnames = paste('i',1:3, sep = '')) + +## 3d and 4d transition graph Graphs +V <- shortnames(ng.iso.objects) +G <- completegraph(V) +LG <- linegraph(G) +LGnot <- complement(LG) +ng.LG <- ng_graph(name = "3D Transition", graph = LG) +ng.LGnot <- ng_graph(name = "4D Transition", graph = LGnot) + +## visualization instructions +vizObjects1 <- ng_2d(data = ng.iso.objects, graph = ng.LG, images = ng.i.objects) +vizObjects2 <- ng_2d(data = ng.iso.objects, graph = ng.LGnot, images = ng.i.objects) + +## start navGraph +nav <- navGraph(data = ng.iso.objects, graph = list(ng.LG, ng.LGnot), + viz = list(vizObjects1, vizObjects2)) +@ + +and you should expect to see something like + +\begin{center} + \includegraphics[width = 0.6\textwidth]{img/tk2dImagesObject.png} +\end{center} + + + +\subsubsection{Working with Star Glyphs} +A star glyph is a visual representation of one data entity. If the entity has p-dimensional data associated, say $x_{i} = (x_{11},x_{12},..., x_{1p})$, the glyph gets constructed as the following graphic outlines: + +\begin{center} + \begin{tikzpicture} + [dot/.style={shape = circle, fill=black,inner sep = 1pt}] + + \newcommand{\radius}{1} + \newcommand{\dist}{4} + + \begin{scope} + \coordinate (x1) at (0:\radius); + \coordinate (x2) at (72:\radius); + \coordinate (x3) at (144:\radius); + \coordinate (x4) at (216:\radius); + \coordinate (x5) at (288:\radius); + + \draw[->] (0,0) -- (x1) node [right] {$x_1$}; + \draw[->] (0,0) -- (x2) node [ above] {$x_2$}; + \draw[->] (0,0) -- (x3) node [ above] {$x_3$}; + \draw[->] (0,0) -- (x4) node [ left] {$x_4$}; + \draw[->] (0,0) -- (x5) node [ below] {$x_5$}; + \end{scope} + + \begin{scope}[shift={(\dist,0)}] + + + \coordinate (x1) at (0:\radius); + \coordinate (x2) at (72:\radius); + \coordinate (x3) at (144:\radius); + \coordinate (x4) at (216:\radius); + \coordinate (x5) at (288:\radius); + + \draw[->] (0,0) -- (x1) node [right] {$x_1$}; + \draw[->] (0,0) -- (x2) node [ above] {$x_2$}; + \draw[->] (0,0) -- (x3) node [ above] {$x_3$}; + \draw[->] (0,0) -- (x4) node [ left] {$x_4$}; + \draw[->] (0,0) -- (x5) node [ below] {$x_5$}; + + + \node at ($(0,0)!0.7!(x1)$) [dot] {}; + \node at ($(0,0)!0.3!(x2)$) [dot] {}; + \node at ($(0,0)!0.5!(x3)$) [dot] {}; + \node at ($(0,0)!0.8!(x4)$) [dot] {}; + \node at ($(0,0)!0.6!(x5)$) [dot] {}; + + \end{scope} + + \begin{scope}[shift={(2*\dist,0)}] + \coordinate (x1) at (0:\radius); + \coordinate (x2) at (72:\radius); + \coordinate (x3) at (144:\radius); + \coordinate (x4) at (216:\radius); + \coordinate (x5) at (288:\radius); + + \fill [fill = yellow!40!orange] ($(0,0)!0.7!(x1)$) -- ($(0,0)!0.3!(x2)$) -- ($(0,0)!0.5!(x3)$) -- ($(0,0)!0.8!(x4)$) -- ($(0,0)!0.6!(x5)$) -- cycle; + + + \draw[->] (0,0) -- (x1) node [right] {$x_1$}; + \draw[->] (0,0) -- (x2) node [ above] {$x_2$}; + \draw[->] (0,0) -- (x3) node [ above] {$x_3$}; + \draw[->] (0,0) -- (x4) node [ left] {$x_4$}; + \draw[->] (0,0) -- (x5) node [ below] {$x_5$}; + + \node at ($(0,0)!0.7!(x1)$) [dot] {}; + \node at ($(0,0)!0.3!(x2)$) [dot] {}; + \node at ($(0,0)!0.5!(x3)$) [dot] {}; + \node at ($(0,0)!0.8!(x4)$) [dot] {}; + \node at ($(0,0)!0.6!(x5)$) [dot] {}; + + + \end{scope} + + + \begin{scope}[shift = {(3*\dist,0)}] + \coordinate (x1) at (0:\radius); + \coordinate (x2) at (72:\radius); + \coordinate (x3) at (144:\radius); + \coordinate (x4) at (216:\radius); + \coordinate (x5) at (288:\radius); + + \fill [fill = yellow!40!orange] ($(0,0)!0.7!(x1)$) -- ($(0,0)!0.3!(x2)$) -- ($(0,0)!0.5!(x3)$) -- ($(0,0)!0.8!(x4)$) -- ($(0,0)!0.6!(x5)$) -- cycle; + + \end{scope} + + + \end{tikzpicture} +\end{center} + +\modify{We decided to use the last image as our star glyph visualization}. We take a look at glyphs using the \texttt{iris} data example. Data and graph object have been defined previous in this vignette. It just stays to define the visualization instructions with the glyph definition + +<<>>= +vizGlyph1 <- ng_2d(data = ng.iris, graph=ng.lg, + glyph=names(ng.iris)[c(1,2,3,4,3,2,3,4,1)]) +vizGlyph2 <- ng_2d(data = ng.iris, graph=ng.lgnot, + glyph=shortnames(ng.iris)[c(1,2,3,4,3,2,3,4,1)]) +vizGlyph2 +@ +Note that you can either use the \texttt{shortnames} or the \texttt{names} to define the glyph sequence. It stays to call \texttt{navGraph} +<>= +nav <- navGraph(ng.iris, list(ng.lg,ng.lgnot), list(vizGlyph1, vizGlyph2)) +@ + +\begin{center} + \includegraphics[width = 0.6\textwidth]{img/tk2dGlyphs.png} +\end{center} + + +\subsubsection{Working with Text} +When defining the \texttt{NG\_data} object, one can specify the \texttt{labels} argument (character) which directly maps to the text radiobutton in the \texttt{tk2d} display. + + + +\subsection{ggobi} +Ggobi allows one to use different elements of data visualization and interaction then the \texttt{tk2d} display (e.g. parallel coordinate plots). Ggobi is superior to the \texttt{tk2d} display if one deals with large data sets. However ggobi does not visualize images nor glyphs. Visualization instructions which address the ggobi device can be created with the \texttt{ng\_2d\_ggobi} command. Let's demonstrate this using the \texttt{iris} data example + +<>= +vizGgobi1 <- ng_2d_ggobi(data=ng.iris, graph=ng.lg) +vizGgobi2 <- ng_2d_ggobi(data=ng.iris, graph=ng.lgnot) +@ +and finally start \texttt{navGraph} +<>= +nav <- navGraph(ng.iris, list(ng.lg,ng.lgnot), list(vizGgobi1, vizGgobi2)) +@ +or if you only pass on the \texttt{NG\_data} object, you may use +<>= +nav <- navGraph(ng.iris, settings=list(defaultDisplay = "ggobi")) +@ + + +\subsection{Custom visualization instructions} +%The \texttt{RnavGraph} package allows for additional specific visualization instructions. If you are new to \texttt{navGraph}, you likely should skip this part and move on to the section ``Starting a navGraph Session''. We first initialize the \texttt{iris} data again + +\subsubsection{with the \texttt{ng\_2d\_myplot} function} +If you want to create your own visualization from scratch instead of using for example the \texttt{tk2d} display, you can define a display function that takes any subset of the following as arguments\\ +\begin{center} + +\begin{tabular}{lp{10cm}} + \textbf{argument} & \textbf{description}\\ \hline + x & x-coordinate \\ + y & y-coordinate \\ + group & group slot from \texttt{NG\_data} object\\ + labels & labels slot from \texttt{NG\_data} object\\ + order & order of points. In 3d rigid rotation, the order increases with the distance of a the point from the viewer.\\ + from & node name the bullet moves from\\ + to & node name the bullet moves to\\ + percentage & in between percentage of bullet\\ + data & data name of \texttt{NG\_data} object +\end{tabular} +\end{center} + +\vspace{1em} +Let's go over an example with the traditional graphic device. First of all, a plotting function is needed +<<>>= +myPlot <<- function(x,y,group,labels) { + plot(x,y,col = group, pch = 19) +} +@ +\modify{note that the order argument only gives an order while the bullet is traversing a 3d rotation (no order at a node).}\\ +then, a visualization instruction has to be defined using \texttt{ng\_2d\_myplot} +<<>>= +viz1 <- ng_2d_myplot(ng.iris,ng.lg,fnName = "myPlot", device = "base") +viz1 +@ + +and finally, you can call \texttt{navGraph} as used +<>= +nav <- navGraph(ng.iris,ng.lg, viz1) +@ +Note, that by default the base graphics system stores all the plotting instructions onto a device in order to be able to redraw the device if it gets moved or scaled etc... In context with \texttt{navGraph} were we are to plot and re-plot the data many times, this behavior is a nuisance and slows down your computer. Hence you can turn off this behavior for the current active display (once it exists) with the following command +<>= +dev.control(displaylist = "inhibit") +@ + +\modify{Note that OSX has a weird implementation of double buffering. You need to let the bullet rest for a while before the display gets refreshed. Hence animations wont work}.\\ + +Further, see the demos: \texttt{ng\_2d\_myplot\_base} and \texttt{ng\_2d\_myplot\_base}. + +\subsubsection{with the \texttt{initializeViz}, \texttt{updateViz} and \texttt{closeViz} methods} +This is a more advanced way to get custom visualization instructions running. If you do not know much about the S4 object model you are probably better off using the \texttt{ng\_2d\_myplot} method described above. In fact, if you do not plan to learn much about how \texttt{RnavGraph} works, you probably should skip this section.\\ + +\texttt{RnavGraph} works internally with a ``\texttt{viz}'' object (S4). For every bullet status update or graph change, the method \texttt{initializeViz}, \texttt{updateViz} or \texttt{closeViz} gets called with the \texttt{viz} object as the first argument. We will give here a complete working example where we just print on the \texttt{R} promt what transition we are currently on. If you decide to implement your own visualization instructions this way, it's best to also study the \verb|Viz2D_Axis.R| file, found in the package source. This will server for a more complex example.\\ + +First, you need to create a new class for your particular \texttt{viz} object, say \texttt{testVizClass}. \texttt{testVizClass} needs to inherit from the \texttt{NG\_Visualization} class. \texttt{NG\_Visualization} provides, among others, two slots for data name and graph name that the visualization instructions connect. We do not need to store additional information for our example, hence the following class definition will do +<>= +setClass( + Class="testVizClass", + representation = + representation( + ## No additional slots + ), + contains = "NG_Visualization" + ) +@ +Now that we have defined a new class for our \texttt{viz} object, we need an object creator, much as \texttt{ng\_2d}: +<>= +myViz <- function(data,graph) { + if(is(data,"NG_data") == FALSE){ + stop("data is no NG_data object.\n") + } + if(is(graph,"NG_graph") == FALSE){ + stop("graph is no NG_graph object.\n") + } + + return(new( + "testVizClass", + graph = graph@name, + data = data@name + )) +} +@ +The object creator function \texttt{myViz} needs to know at least which graph and data set to associate the visualization instructions to. Only pass the graph- and data name to the \texttt{new} function. Next, we need to define what to do when the bullet get moved along the navigation graph. First we define how the visualization gets initialized when we switch to the particular graph that is associated with the \texttt{viz} object: +<>= +setMethod( + f = "initializeViz", + signature = "testVizClass", + definition = function(viz,ngEnv){ + print(paste('You switched to the graph', viz@graph)) + return(viz) + }) +@ +As already mentioned, these methods are very much the core functionality of the \texttt{navGraph} function, hence they need careful handling. The \texttt{ngEnv} object points to the \texttt{navGraph} session environment so that the data and graph, etc..., can be accessed from the visualization instructions. Now we look at the \texttt{updateViz} method which gets called every time the bullet gets moved +<>= +setMethod( + f = "updateViz", + signature = "testVizClass", + definition = function(viz,ngEnv){ + print(paste('You current state is:', + ngEnv$bulletState$from, 'to', + ngEnv$bulletState$to, 'and', + floor(ngEnv$bulletState$percentage*100), 'percent in between')) + return(viz) + }) +@ +Finally the method gets called when we switch away from the graph that is linked to our visualization instructions +<>= +setMethod( + f = "closeViz", + signature = "testVizClass", + definition = function(viz,ngEnv){ + print(paste('Bye Bye', viz@graph)) + return(viz) + }) +@ + +You can test this code with the demo \texttt{ng\_own\_viz}. +<>= +demo("ng_own_viz") +@ + + +\subsubsection{grid} +See demo: \texttt{ng\_2d\_myplot\_grid}. +\subsubsection{rgl} +See demo: \texttt{ng\_2d\_myplot\_grid}. + + +\section{Starting a navGraph Session} +\newcommand{\ngwindow}{ +\fill [fill=gray!40] (0,0) rectangle (\ww,-0.2); +\fill [fill=brown!10] (0,-0.2) rectangle (\ww,-0.4); +\draw (0,0) rectangle (\ww,-\wh); +\draw (0,-0.2) -- (\ww,-0.2); +\draw (0,-0.4) -- (\ww,-0.4); +} + +\newcommand{\nggraph}[9]{ + \begin{scope}[shift= {(2,-3.6/2-0.4)}] + \node at ( 1, 0) [#1, label=right:{\scriptsize A:B}] (AB) {}; + \node at ( 0, -1) [#2, label=below:{\scriptsize A:D}] (AD) {}; + \node at (-1, 0) [#3, label=left:{\scriptsize B:C}] (BC) {}; + \node at ( 0, 1) [#4, label=above:{\scriptsize C:D}] (CD) {}; + \draw[#5] (AB) -- (AD); + \draw[#6] (AB) -- (BC); + \draw[#7] (AB) -- (CD); + \draw[#8] (AD) -- (BC); + \draw[#9] (AD) -- (CD); + \end{scope} +} + +\newcommand{\ww}{4} +\newcommand{\wh}{4} + +\newcommand{\mouse}[4]{ + \begin{scope}[shift={#1}] + \filldraw[fill=white, draw = black, line width=1pt] (0,0) -- (-90:0.45) -- (-75:0.35) -- (-70:0.5) -- (-57:0.5) -- (-55:0.35) -- (-40:0.45) -- cycle; + \ifthenelse{\equal{#2}{}}{}{\node at #3 [#4, fill=red!30, line width = 1pt, draw = red!50!black, rounded corners] {#2};} + \end{scope} +} + + + +The \texttt{navGraph} function is the heart of the \texttt{RnavGraph} package. Once the \texttt{NG\_data}, \texttt{NG\_graph} and \texttt{NG\_visualization} objects have been correctly defined, one can pass them to the \texttt{navGraph} function which in turn starts the graphical user interface consisting of the graph with a bullet and the visualizations.\\ + +We will first discuss the different scenarios the \texttt{navGraph} function accommodates. Then we move on to the graphical user interface description. And finally we show how one can communicate with the graphical user interface from the R prompt via the navGraph handler. + +\subsection{Calling navGraph} +The \texttt{navGraph} R function has four arguments: \texttt{data}, \texttt{graph}, \texttt{viz} and \texttt{settings}, where the latter three are optional. Except the \texttt{settings} argument, all of them accommodate either their corresponding \texttt{NG\_} object or a list of their corresponding \texttt{NG\_} objects. A special case poses the \texttt{data} argument which also accepts a navGraph handler in order to continue a saved session. More about that later. There are no constraints about how graphs and data sets are connected via visualization instructions as long they are consistent. For example, say we run $5$ simulations and we would like to compare their results via some visualization with \texttt{navGraph}. Further there might be three graphs we are interested in traversing to explore the difference in the simulation results. This scenario would look like + +{\fontsize{11pt}{20pt} +\begin{center} + \begin{tikzpicture} + \node at (6.1,0) [fill=green!20, rounded corners] {Data}; + \node at (3.1,0) [fill=blue!20, rounded corners] {Visualization Instruction}; + \node at (0,0) [fill=orange!20, rounded corners] {Graph}; + + \node (s1) at (6.1,-0.7) {sim1}; + \node (s2) at (6.1,-1.2) {sim2}; + \node (s3) at (6.1,-1.7) {sim3}; + \node (s4) at (6.1,-2.2) {sim4}; + \node (s5) at (6.1,-2.7) {sim5}; + + \node (g1) at (0,-1.1) {graph1}; + \node (g2) at (0,-1.7) {graph2}; + \node (g3) at (0,-2.3) {graph3}; + + \foreach \graph in {g1,g2,g3} { + \foreach \data in {s1,s2,s3,s4,s5} { + \draw (\graph) -- (\data); + } + } + \end{tikzpicture} +\end{center} +} +where each connecting line represents an \texttt{NG\_visualization} instruction object. One could also only choose a subset of these visualization instructions. Once the graphical user interface is started, the user can then choose the graph he wants to explore and \texttt{navGraph} switches to the visualizations connected to this graph. \modify{Hence, for a single \texttt{navGraph} the user ``looks'' form a single graph perspective (from the left side in the diagram above) at all the data connected via their visualization instructions}. For the iris example we have the following scenario + + +{\fontsize{11pt}{20pt} +\begin{center} + \begin{tikzpicture} + \node at (6.1,0) [fill=green!20, rounded corners] {Data}; + \node at (3.1,0) [fill=blue!20, rounded corners] {Visualization Instruction}; + \node at (0,0) [fill=orange!20, rounded corners] {Graph}; + + \node (g1) at (0,-0.9) {$LG$}; + \node (g2) at (0,-2) {$\overline{LG}$}; + + \node (s1) at (6.1,-1.45) {iris}; + + \draw (g1) -- (s1) node [above,midway,sloped] {tk2d}; + \draw (g2) -- (s1) node [below,midway,sloped] {tk2d}; + \end{tikzpicture} +\end{center} +} + +If the \texttt{navGraph} only gets a \texttt{NG\_data}- or a list of \texttt{NG\_data} objects, it creates the graphs and visualization instructions for a 3d and 4d transition graphs connected to the data with the \texttt{tk2d} display. + +\subsubsection{Settings} +The \texttt{settings} argument of the \texttt{navGraph} function determines the look and feel of the graph interaction interface. \modify{Currently one can not control the look and feel of the \texttt{tk2d} display}. The \texttt{settings} argument has to be a list optionally containing other named lists. The grand scheme of what can be modified looks like + +\begin{center} +\begin{tabular}{|p{4cm}|p{4cm}|p{4cm}|p{4cm}|} + \hline + \textbf{color} (char) & \textbf{interaction} (num) & \textbf{display} & \textbf{tk2d} (num)\\ + \hline + background & bulletRadius & NSteps & bg (char) \\ + bullet & nodeRadius & animationTime & brush\_colors (vect char)\\ + bulletActive & lineWidth & dragSelectRadius & brush\_color (char)\\ + nodes & highlightedLineWidth & labelDistRadius & linked (logical)\\ + nodesActive & & & \\ + adjNodes & & & \\ + adjNodesActive & & & \\ + notVisitedEdge & & & \\ + visitedEdge & & & \\ + edgeActive & & & \\ + labels & & & \\ + labelsActive & & & \\ + adjLabels & & & \\ + adjLabelsActive & & & \\ + path & & & \\ + \hline +\end{tabular} +\end{center} + +where the \texttt{color} elements must be character string (recognized as a color) and the \texttt{interaction} and \texttt{display} elements must be numeric. For example the following settings object would work + +<>= +navGraph(..., settings=list(color=list(background="green"), + interaction=list(bulletRadius=4, nodeRadius=3))) +@ +Note that \modify{everything} is case sensitive according to the table.\\ + +All, except the \texttt{tk2}, settings can be controlled once a \texttt{navGraph} session is running via the \texttt{File > Settings} menu in the navigation graph GUI, see figure \ref{fig:settings}. + +\begin{figure}[h]\label{fig:settings} + \centering +\begin{center} + \includegraphics[width = 0.7 \textwidth]{img/settings.png} +\end{center} + \caption{\texttt{File > Settings} menu in the navigation graph GUI.} +\end{figure} + +Additionally, there is an additional option that can be specified in settings. If only a \texttt{NG\_data} object gets passed to \texttt{navGraph} one can choose between the \texttt{tk2d} and \texttt{ggobi} as a display.\\ + +<>= +navGraph(ng.iris, settings=list(defaultDisplay = "ggobi")) +@ +or +<>= +navGraph(ng.iris, settings=list(defaultDisplay = "tk2d")) +@ +The default is the \texttt{tk2d} display. + +\subsection{Graphical User Interface} +Once \texttt{navGraph} has initialized the all displays, you will see one window with a graph similar to + +\begin{center} + \begin{tikzpicture} + [a/.style={circle, draw=black!50, fill=purple!80, minimum size=3mm}, + na/.style={circle, draw=black!50, fill=violet!100, minimum size=3mm}, + bullet/.style={circle, draw=black, fill=yellow!80,thick, minimum size=5mm}, + nc/.style={draw=black!30,line width=1.5pt}, + co/.style={draw=black!30,line width=4pt}] + \begin{scope}[shift = {(1.5*\ww,0)}] + \ngwindow + \nggraph{a}{a}{a}{a}{co}{co}{co}{nc}{nc} + \node at (AB) [bullet] {}; + \node at (0,-0.7) [right] {0}; + \end{scope} + \end{tikzpicture} +\end{center} +and all the data visualization displays connected to the current graph. We will first cover how to interact with the graph display and then move on to the interaction with the \texttt{tk2d} display.\\ + +Further, in the sections that follow, we will show some stripes of graphics about the interactions. We refer to them via state1, state2, etc... (reset the numbers every time you see new stripe of graphics). + + +\subsubsection{Move the bullet} +The bullet can be dragged in a intuitive way along the edges of the graph. +{\fontsize{11pt}{20pt} +\input{tikz_drag.tex} +} + +\begin{enumerate} +\item Bullet on A:B + \begin{itemize} + \item All adjoining nodes and their connecting edges are highlighted via line with or color. + \item The number in the upper left corner indicates the percentage the bullet has progressed towards another node + \end{itemize} +\item Bullet between A:B and C:D + \begin{itemize} + \item now only the active edge and nodes are highlighted + \end{itemize} +\item Bullet arrived on C:D + \begin{itemize} + \item Same as in 1) but the edge A:B to C:D has a different color to indicate that we have traversed along this edge. + \end{itemize} +\end{enumerate} + +When you drag the bullet in State 1 towards a node, \texttt{navGraph} won't constrain the bullets move for some small radius around the current node position. This way, as soon as you cross the pre-specified radius, \texttt{navGraph} calculates which edge is closest to the direction you moved the bullet and constrains the bullet to move along this edge. If your graph is so large that it is very hard for you to land on the desired edge, you can also select an adjoining node with a single left mouse click while in state 1. If the node you select is not adjoining, the bullet jumps to this non adjoining node. + +{\fontsize{11pt}{20pt} +\input{tikz_edgeSelect.tex} +} + +Note that once you move along an edge, you can also use your scroll wheel on the mouse to control the bullet. + +\subsubsection{Modify the Graph Layout} +The user can also modify the layout of the graph by dragging nodes on the canvas while pressing the \texttt{CTRL} key. + +{\fontsize{11pt}{20pt} +\input{tikz_modifyGraph.tex} +} + +There are no constraints for the nodes to be moved around even outside the canvas border!. However the labels of the nodes must be moved within the in the settings defined \texttt{labelDistRadius} radius (coloured blue here). + +\subsubsection{Animate} +Once you move the bullet on an edge, you can let the bullet move towards one of the two nodes that define the edge by double clicking on that node. If you click on another node, the bullet jumps there. For the case of the bullet being on one node, you can double click on an adjoining node, the first click will act as edge selection and the second click as an animation command. The animation speed is determined by the \texttt{animationTime} variable in the interaction settings. That is, \texttt{animationTime}/\texttt{NSteps} is the pause before the bullet moves an increment towards the node. \modify{Note however that the time from one node to the other is not equal \texttt{animationTime}, since the updating displays and doing other ``housekeeping'' in \texttt{navGraph} also take up time. (More precisely as long as if you select \texttt{animationTime}=0).} + +{\fontsize{11pt}{20pt} +\input{tikz_animation.tex} +} + + +\subsubsection{Paths} +Instead of guiding the bullet by dragging it along edges, you can also select a path in order to later animate the path (\modify{in the sense of animation above}). You create a path by selecting adjoining nodes while having the Shift key pressed down. Once you are done, you can double click on the last node while still holding the Shift key pressed down and \texttt{navGraph} will animate \modify{or walk} along the just specified path + +{\fontsize{11pt}{20pt} + \input{tikz_walk.tex} +} +Note that as soon as you release the shift key, you are \modify{out of the path mode}. However if you go to the Tools > Paths menu on the graph display window, you will find your path as \texttt{Active Path} saved.\\ + +You can also animate a path with the \texttt{ng\_walk} function from the \texttt{R} prompt. The \texttt{ng\_walk} function takes as an argument a navGraph handler and a path either in the form of a vector of node names or in the form of a single string where the sequence of node names is separated by a space. Lets see an example + +<>= +nav <- navGraph(ng.iris) + +ng_walk(nav,"s.L:s.W s.L:p.L p.L:p.W s.L:p.W") +@ +or the path as a vector +<>= +ng_walk(nav,c("s.L:s.W","s.L:p.L","p.L:p.W","s.L:p.W")) +@ +Note that every path sent to \texttt{ng\_walk} gets stored as the active path in the path tool.\\ + +\modify{Currently, a path is considered to be a sequence of adjoining nodes (no gaps).} + +\subsubsection{The navGraph Handler} +The navGraph handler links the graphical user interface with the R prompt. A good example of its use was the \texttt{ng\_walk} function we introduced in the last section. The navGraph handler contains all the data, graphs and settings \modify{but not the images} of the \texttt{navGraph} session in progress. Hence if you work with large data, you want to avoid having a many navGraph handlers in your workspace. The navGraph handler gets returned from a \texttt{navGraph} function call +<>= +library(RnavGraph) + +## import the data +ng.iris <- ng_data(name = "iris", data = iris[,1:4], + shortnames = c('s.L', 's.W', 'p.L', 'p.W'), + group = iris$Species, + labels = substr(iris$Species,1,2)) + +## start navGraph +nav <- navGraph(ng.iris) +nav +@ + +You can now brush data and change color and size of objects and add paths. You can save the current state of a \texttt{navGraph} session with \texttt{ng\_update} +<<>>= +nav <- ng_update(nav) +nav +@ +Note that the last updated field changed. Updating the navGraph handler is particular useful for getting the new groups (according to color and size of the \texttt{tk2d} or \texttt{ggobi} display). +<<>>= +ng_get(nav) +@ +the objects graphs, data and viz are lists of their corresponding \texttt{NG\_object}. However if only one element is in the list, \texttt{ng\_get} unlists the object +<<>>= +ng_get(nav,"data") +ng_get(ng_get(nav,"data"),"group")[1:5] +@ +the coding for the \texttt{tk2d} display is ``c;s''. However, note that you can also obtain color and size with the \texttt{ng\_get\_color} and \texttt{ng\_get\_size}function discussed below. Getting the group for each data point only works with the \texttt{tk2d} and \texttt{ggobi} data display. For any other custom display the user must provide his own way to get the new group classifiers whenever he incorporates a brushing tool. The navGraph handler can also be used to restart a navGraph session +<>= +nav1 <- navGraph(nav) +@ +however note that this way the images get lost in the new \texttt{tk2d} display. This is because the images are stored in the \texttt{tcl} layer, and the images are usually too large to be saved in navGraph handlers.\\ + +Again the example with the \texttt{ng\_walk} function + +<>= +ng_walk(nav,"s.L:s.W s.L:p.L p.L:p.W s.L:p.W") +ng_walk(nav,c("s.L:s.W","s.L:p.L","p.L:p.W","s.L:p.W")) +@ + +Theoretically, the navGraph handler can be saved using \texttt{save} and restored in a new R session using the \texttt{load} command. However we recommend to initialize a new \texttt{navGraph} session from scratch if possible.\\ + +If a \texttt{ggobi} and \texttt{tk2d} display show the same data, then the \texttt{ng\_update} function will ask you whether you want to save the grouping of the \texttt{tk2d} or \texttt{ggobi} display. + + + +\subsection{The \texttt{tk2d} Display} +The \texttt{tk2d} display was programmed by us especially for the \texttt{RnavGraph} package. It accommodates displaying dots, images, glyphs and text. It also provides the user with a lot of interactivity possibilities such as brushing, zooming and resizing of the window. Further if for a particular graph two \texttt{tk2d} windows display the same data, then the data points are linked between the windows. This means that if you for example change the color or size of some points on one display, the same points in the other window also change color or size.\\ + + +The \texttt{tk2d} window for the iris data looks as follows +\begin{center} + \includegraphics[width = 0.7 \textwidth]{img/Iris2D.png} +\end{center} + +The display is designed to be intuitive. So getting familiar with it should not pose any big problems. + +\subsubsection{Zooming and Moving the viewing region} +The \texttt{tk2d} display shows the data always twice, in the ``main view'' on the left and in the ``world view'' in the upper right corner. The ``world view'' in the upper right corner always displays all the data points and provides as its name suggest a view of ``your whole data world''. The ``main view'' allows the user to zoom in and out, brush points and deactivate and reactivate points. The zoom factor of the ``main view'' is displayed above the world view. The mouse scroll wheel is used to zoom in and out either while the mouse is placed within the ``world view'' or ``main view''. If the user zooms in or out in the ``main view'' the center of zooming is where the mouse cursor points at, where in the ``world view'' the zooming center is always in the middle of the viewing rectangle. When you zoom in, your current view at the data is shown in the ``world view'' with a rectangle of the same color as background color of the ``main view''.\\ + +If zoomed in, you can move your current view in the ``main view'' by pressing the right mouse button and dragging your view to the desired place. In the ``world view'' you can just drag and drop the viewing rectangle (left mouse button). + + \subsubsection{Brushing and Selecting} +The \texttt{tk2d} display allows to change the color and size of objects, but also to hide (deactivate) objects. We use size and color since they are (the only) two attributes that are shared between points, glyphs, images and text. \modify{Currently the text size however does not change!}. You can select points \modify{objects} only in the ``main view'' by either selecting and deselecting them with a left mouse click or by using the brush tool. Selecting them with a mouse click deselects the previously with a mouse click selected point. If you want to select points permanently you need to press the Shift key.\\ + +When you check the brush checkbox, a gray rectangle appears in the upper right corner. You can resize the brush rectangle by dragging the solid rectangle on its right lower corner. You can move the rectangle by clicking anywhere in the ``main view'' and the brush rectangle jumps to your mouse cursor and also moves with it while your mouse button is still pressed. By default, the points below the brush rectangle don't get brushed permanently. If you want to brush permanently you need to press the Shift key while brushing. Points can only be deselected individually by clicking on them with the shift key pressed, or all together by either pressing the none button or by double clicking the right mouse button while pointing the courser on the main view. + +\subsubsection{Moving Individual Points Temporarily} +If you need to spread out some points in order to get a closer look at each point, you can either zoom in or move the selected points by mouse drag and drop while pressing the \texttt{Ctrl} key. Once you change the bullet state, all points go back to their location according the bullet state. + +\subsubsection{Deactivating and Reactivating points} +Once you have grouped a set of points by assigning them different color and size, you might want to hide them so you can group the rest of the points without the distraction of the already grouped points. You can do this by selecting these points and then press ``deactivate'' in the modify menu. The button will then stay highlighted to indicate that not all the data is shown. You can deactivate different data points in multiple steps by selecting them and repeatedly pressing the ``deactivate'' button. Once you press the ``reactivate'' button all point will appear again. + + + \subsubsection{Changing Color and Size} +Once you have some points selected, you can change their size and color. You can change the size of the points immediately pressing the ``abs'' or ``rel'' + or -. The \texttt{tk2d} gives each object a size attribute. Absolute (abs) resizing changes all selected objects to the minimum of the object's sizes plus or minus one size. The relative (rel) resizing increments or decrements all sizes by one. If you were to select five objects with the sizes $\{2,3,3,4,6\}$ and press the rel - button, your new sizes would be $\{1,2,2,3,5\}$ and if you were to press the rel - button again you would get $\{0,1,1,2,5\}$. \modify{Note that you can get negative sizes which theoretically would not show on the ``main view'' anymore, we chose however to display them with minimal possible display size. This might be confusing at the beginning}. If you have a set of points selected with the sizes $\{2,3,3,4,6\}$ and you were to press the abs + button you would get $\{3,3,3,3,3\}$ or the abs - button you would get $\{1,1,1,1,1\}$. Size changes take effect immediately.\\ + +Changing the color of objects takes place once you have some points brushed and select a colorbox. However you wont notice the change until you deselect all the points. (Use Selection none, invert or all). + +\subsubsection{Getting and Setting Color and Size} +You can get (retrieve) and set the color and size for each point back to your \texttt{R} session, as long your \texttt{navGraph} session is still active (running). Note that you can get the colors and sizes also from an \texttt{navGraph} handler that does not point to an active \texttt{navGraph} session (more on this later).\\ + +For an active \texttt{navGraph} session, you can use the \texttt{ng\_get\_color}, \texttt{ng\_get\_size}, \texttt{ng\_set\_color<-} and \texttt{ng\_set\_size<-} functions. + +<<>>= +data(olive) +ng.olive <- ng_data(name = "Olive", + data = data.frame(olive[,-c(1,2)])) + +nav <- navGraph(list(ng.iris,ng.olive)) ## Start navGraph Session with two data sets + +## get colors +colIris <- ng_get_color(nav, "iris") +sizeOlive <- ng_get_size(nav, "Olive") + +## the following will tell you to specify your data set +col <- ng_get_color(nav) + +## set all points for iris data to red +ng_set_color(nav,"iris") <- "red" + +## set to random colors +ng_set_color(nav,"iris") <- sample(c("red","yellow","green"),replace = TRUE, 150) + +## set all points to same size +ng_set_size(nav,"iris") <- 1 + +## set set points to random sizes +ng_set_size(nav,'iris') <- sample(1:7, replace=TRUE, 150) +@ + +Consult the manual entries for more details.\\ + +If you have an updated! (\texttt{ng\_update}) \texttt{navGraph} handler and closed the \texttt{navGraph} session, you can still access color and size as follows +<<>>= +nav <- ng_update(nav) +## For iris +attrIris <- ng_get(ng_get(nav,"data")[[1]],"group") +attrIris[1:4] +## For olive +attrOlive <- ng_get(ng_get(nav,"data")[[2]],"group") +attrOlive[1:4] +@ +where the returned string combines the color code and size information. + + +\subsubsection{Linking Data between two \texttt{tk2d} displays} +If you display twice (or more) the same data in two \texttt{tk2d} displays that are controlled from within the same or different \texttt{navGraph} sessions, modifying one point in a particular \texttt{tk2d} display modifies all the points from the same data in all \texttt{tk2d} displays. Such an example session could be +<>= +V <- shortnames(ng.iris) +G <- completegraph(V) +LG <- linegraph(G) +LGnot <- complement(LG) + +ng.lg <- ng_graph(name = '3D Transition', graph = LG, layout = 'circle') +ng.lgnot <- ng_graph(name = '4D Transition', graph = LGnot, layout = 'circle') + +viz1 <- ng_2d(ng.iris,ng.lg, glyphs = V[c(1,2,3,4,1,3,2,4)]) +viz2 <- ng_2d(ng.iris,ng.lg) + +viz <- list(viz1, viz2) +graphs <- list(ng.lg, ng.lgnot) + +nav <- navGraph(graph = graphs, data = ng.iris, viz = viz) +@ +Note how \texttt{ng.lg} points twice to the \texttt{ng.iris} data.\\ + +Alternatively you can also start \texttt{navGraph} twice + +<>= +nav1 <- navGraph(ng.iris) +nav2 <- navGraph(ng.iris) +@ +note how a message pops up in the R prompt saying the iris data has been linked. You can tell \texttt{navGraph} that it should not link the data + +<>= +nav3 <- navGraph(ng.iris, settings = list(tk2d=list(linked = FALSE))) +@ + +\modify{Currently, if you wish you had a complete new state, close R and start it again.} + + +\section{Scagnostics and RnavGraph} +Scagnostics allows one to find graphs that have certain properties, such as the nodes representing clumpy, stringy or convex scatterplots. See Wilkinson, Anand and Grossman 2005. We will demonstrate how you can use scagnostics to the define the variable graphs. The example data in this section is the olive data, provided in the \texttt{RnavGraph} package. +<<>>= +library(scagnostics) +data(olive) +ng.olive <- ng_data(name = "Olive", + data = olive[,-c(1,2)], + shortnames = c("p1","p2","s","ol","l1","l2","a","e"), + group = as.numeric(olive$Area)+1 + ) +@ +%$ +\subsection{The quick way} +The \texttt{scagNav} R function initializes a \texttt{navGraph} session, with 3d and 4d transition graphs that have nodes which satisfy the desired scagnostic property defined with the \texttt{scag} argument. When calling the \texttt{scagnostics} function in the \texttt{scagnostics} R package, \texttt{scagnostics} returns a matrix with all the possible satterplot combinations in the column and all the scagnostic measures in the rows +<<>>= +scagMat <- scagnostics(olive) +rownames(scagMat) +@ + +The names of these scagnostic measures in combination with a preceding ``Not'' can be used for the \texttt{scag} argument. If you, for example, look for \texttt{NotClumpy}, a variable $1-Clumpy$ gets generated. Further, you can choose a top fraction of scatterplots showing a certain measure most to be displayed in the graph using the \texttt{topFrac} argument. \texttt{scagNav} will generate for each \texttt{scag} element a 3d and 4d transition graph, except if the \texttt{combineFn} arguments gets specified. The \texttt{combineFn} argument takes any function defined on a vector of scagnostic measure weights such as sum or max. This is for example useful, if you would like to create a graph that either displays clumpy or stringy patterns in its 2d scatterplot nodes. + +<>= +nav <- scagNav(data = ng.olive, + scags = c("Skinny", "Sparse", "NotConvex"), + topFrac = 0.2, + combineFn = max, + glyphs = shortnames(ng.olive)[1:8], + sep = ':') +@ + +or + +<>= +nav <- scagNav(data = ng.olive, + scags = c("Skinny", "Sparse", "NotConvex"), + topFrac = 0.2, + glyphs = shortnames(ng.olive)[1:8], + sep = '+') +@ + + +\modify{Careful, \texttt{scags} is case sensitive.}\\ + + + +\subsection{The detailed way} +The \texttt{scagNav} function generates 3d and 4d transition graphs with their corresponding \texttt{tk2d} visualization. We now show how to do each step so that the user can work with the graphs and visualization instructions and finally call the \texttt{navGraph} function. For every \texttt{navGraph} session needs to know the data, graphs and the visualization instruction (this should be your mantra for the next few days). We have already defined the \texttt{ng.olive} data object, we now want to create a variable graph or a set of variable graphs who's edges carry weights from the \texttt{scagnostics} function. Hence we first have to extract the weights of interest. This is done using our \texttt{scagEdgeWeights} function +<<>>= +edgeWts <- scagEdgeWeights(data = ng.olive, scags = c("Clumpy", "Skinny")) +edgeWts$fromToEdgeMatrix[1:3,] +edgeWts$nodeNames +@ +the numbers in the \texttt{from} and \texttt{to} column correspond with the order of the \texttt{nodeNames}. Note that the \texttt{data} argument can either be a \texttt{NG\_data} object or a \texttt{data.frame}. There is also a \texttt{combineFn} argument which takes a function: +<<>>= +edgeWts <- scagEdgeWeights(data = ng.olive, + scags = c("Clumpy", "Skinny"), + combineFn = max) +edgeWts$fromToEdgeMatrix[1:3,] +@ +or +<<>>= +edgeWts <- scagEdgeWeights(data = ng.olive, + scags = c("Clumpy", "Skinny"), + combineFn = function(x){2*x[1]+3*x[2]}) +edgeWts$fromToEdgeMatrix[1:3,] +@ + +\modify{Currently, the \texttt{combineFn} only takes a function which returns a single value.}\\ + +We now could manually create a variable graph using \texttt{newgraph} where we only draw an edge if the \texttt{combined weight} of an edge lies within the top $20\%$ quantile +\begin{center} + \setkeys{Gin}{width=0.4\textwidth} +<>= +weights <- edgeWts$fromToEdgeMatrix[,"combined weights"] +ii <- weights>quantile(weights,0.8) +G <- newgraph(nodeNames = edgeWts$nodeNames, + mat = edgeWts$fromToEdgeMatrix[ii,c(1,2)], weights = weights[ii]) +plot(G) +@ +\end{center} +%$ +where the weights are part of the graph \texttt{G}, see for example +<<>>= +edgeData(G, attr="weight")$'p1|e' +@ +%$ +and hence we could run \texttt{navGraph} +<<>>= +ng.lg <- ng_graph("3d olive",linegraph(G)) +viz <- ng_2d(ng.olive,ng.lg) +@ +<>= +nav <- navGraph(ng.olive,ng.lg,viz) +@ + +Now this becomes tedious if you have multiple scagnostic measures and hence you would have to create graph for each measure. The \texttt{scagGraph} function simplifies this task. Note how \texttt{scagGraph} creates \texttt{graph} object or a list of \texttt{graph} objects with one single call + +\begin{center} + \setkeys{Gin}{width=0.6\textwidth} +<>= +par(mfrow = c(2,2)) +G_1 <- scagGraph(edgeWts, topFrac = 0.2) +plot(G_1) +edgeData(G_1,attr = "weight")$'p1|e' +G_1 <- scagGraph(edgeWts, topFrac = 0) +plot(G_1) +G_1 <- scagGraph(edgeWts, topFrac = 1) +plot(G_1) +G_1 <- scagGraph(edgeWts, topFrac = 0.0001) +plot(G_1) +@ +\end{center} +And for multiple scagnostic measures +<<>>= +edgeWts <- scagEdgeWeights(data = ng.olive, + scags = c("Clumpy","NotClumpy","Monotonic"), + combineFn = NULL) + +graphList <- scagGraph(edgeWts, topFrac = 0.2) +graphList +@ + +Now start \texttt{navGraph} +<>= +nav <- navGraph(ng.olive, graphList) +@ +%\modify{Currently only picks up the first graph}. + +\section{Example sessions on different data} +In this last section, we will give example code for \texttt{navGraph} sessions using different well known data sets. Some of them are provided by the \texttt{MASS} library + +<>= +library(MASS) +@ + +\subsection{Iris} +<>= +ng.iris <- ng_data(name = "iris", data = iris[,1:4], + shortnames = c('s.L', 's.W', 'p.L', 'p.W'), + group = as.numeric(iris$Species), + labels = substr(iris$Species,1,2)) + +nav <- navGraph(ng.iris) +@ + +\subsection{Olive} +<>= +library(PairViz) +data(olive) + +d.olive <- data.frame(olive[,-c(1,2)]) +ng.olive <- ng_data(name = "Olive", + data = d.olive, + shortnames = c("p1","p2","s","oleic","l1","l2","a","e"), + group = as.numeric(olive[,"Area"]), + labels = as.character(olive[,"Area"]) +) +ng.olive + +G <- completegraph(shortnames(ng.olive)) +LG <- linegraph(G) +ng.lg <- ng_graph("3d olive",LG, layout = 'kamadaKawaiSpring') +ng.lgnot <- ng_graph("4d olive",complement(LG), layout = 'kamadaKawaiSpring') + +nav <- navGraph(ng.olive, + list(ng.lg,ng.lgnot), + list(ng_2d(ng.olive,ng.lg),ng_2d(ng.olive,ng.lgnot))) + +ng_walk(nav, eulerian(as(LG,"graphNEL"))[1:7]) +@ + +\subsection{US Judge Ratings} +<>= +library(MASS) +ng.data <- ng_data(name = "US Judge Ratings", data = USJudgeRatings) + +p <- ncol(USJudgeRatings) +adjM <- matrix(0,ncol=p,nrow=p) +adjM[c(1:8,11),c(9,10,12)] <- 1 +adjM[c(9,10,12),c(1:8,11)] <- 1 + +G <- newgraph(names(ng.data),adjM, isAdjacency = TRUE) +ng.lg <- ng_graph("3d Us Judge",linegraph(G),layout = 'fruchtermanReingold') + +nav <- navGraph(ng.data,ng.lg,ng_2d(ng.data,ng.lg)) +@ + + +\subsection{Storm Tracks} +<>= +library(rggobi) +names(stormtracks) +storms <- stormtracks[,c(2:9,11)] +ng.storms <- ng_data(name = "Storm tracks", + data = stormtracks[,c(2:9,11)], + group = as.numeric(stormtracks[,"type"]), + labels = stormtracks[,"type"]) + +p <- ncol(ng_get(ng.storms,"data")) +adjM <- matrix(0,ncol=p,nrow=p) +adjM[c(1,2,4,5,6),c(7,8,9)] <- 1 +adjM[c(7,8,9),c(1,2,4,5,6)] <- 1 +adjM[c(7,8,9),c(7,8,9)] <- 1 +adjM[7,7] <- adjM[8,8] <- adjM[9,9] <- 0 +adjM[c(5,6),c(5,6)] <- 1 +adjM[5,5] <- adjM[6,6] <- 0 + +G <- newgraph(names(ng.storms),adjM, isAdjacency = TRUE) +LG <- linegraph(G) +ng.lg <- ng_graph("3d storm tracks", LG, layout = 'kamadaKawaiSpring') +ng.lgnot <- ng_graph("4d storm tracks", complement(LG), layout = 'kamadaKawaiSpring') +viz1 <- ng_2d(ng.storms,ng.lg) +viz2 <- ng_2d(ng.storms,ng.lgnot) + +nav <- navGraph(ng.storms, + list(ng.lg,ng.lgnot), + list(viz1,viz2)) +@ + + +\subsection{US cereal} +<>= +ng.data <- ng_data(name = "USCereal", + data = UScereal[,c(2:8,10)], + shortnames = c("cal","prot","fat","sod","fib","carb","sug","pt"), + group = UScereal[,1], + labels = UScereal[,1]) + +nav <- navGraph(ng.data) +nav <- scagNav(ng.data, scags = "Outlying", topFrac = 0.2) +@ + +\subsection{Boston Housing} +<>= +ng.data <- ng_data(name = "Boston", + data = Boston[,-9], + shortnames = names(Boston[,-9]), + group = Boston[,"rad"]) + +nav <- navGraph(ng.data) +nav <- scagNav(ng.data, scags = "Clumpy", topFrac = 0.2) +@ + +\subsection{Birth Weight} +<>= +ng.data <- ng_data(name = "Birth Weight Data", + data = birthwt[,c(1:3,5:10)], + group = birthwt[,4]) + +p <- ncol(ng_get(ng.data,"data")) +adjM <- matrix(0,ncol=p,nrow=p) +adjM[c(1:8),c(9)] <- 1 +adjM[c(9),c(1:8)] <- 1 + +G <- newgraph(names(ng.data),adjM,isAdjacency = TRUE) +LG <- linegraph(G, sep = "++") +ng.lg <- ng_graph("3d birth weight", LG, sep = "++") +ng.lgnot <- ng_graph("34 birth weight", complement(LG), sep = "++") + +nav <- navGraph(ng.data, list(ng.lg, ng.lgnot), list(ng_2d(ng.data,ng.lg),ng_2d(ng.data,ng.lgnot))) +@ + +\subsection{Swiss bank note data} +<>= +require(alr3) +data(banknote) +names(banknote[,1:6]) +ng.data <- ng_data(name = "Swiss bank note Data", + data = banknote[,1:6], + shortnames = names(banknote[,1:6]), + group = banknote[,7]) + +nav <- navGraph(ng.data) +nav <- scagNav(ng.data, scags = "Clumpy", topFrac = 0.2) +@ + +\subsection{Body Dimensions Data} +<>= +require(gclus) +data(body) +names(body[,1:10]) +ng.data <- ng_data(name = "Body Dimensions", + data = body[,1:24], + group = body[,25]) + +nav <- navGraph(ng.data) +nav <- scagNav(ng.data, scags = "Clumpy", topFrac = 0.1) +@ + +\subsection{Ozone Data} +<>= +require(gclus) +data(ozone) +ng.data <- ng_data(name = "Ozone data", + data = ozone) + +nav <- navGraph(ng.data) + +## Breiman and Friedman's selection +p <- ncol(ng_get(ng.data,"data")) +adjM <- matrix(0,ncol=p,nrow=p) +adjM[c(1),c(2,4,5,6)] <- 1 +adjM[c(2,4,5,6),c(1)] <- 1 + +G <- newgraph(names(ng.data),adjM, isAdjacency = TRUE) +LG <- linegraph(G) +ng.lg <- ng_graph("3d ozone", LG, layout="circle") +ng.lgnot <- ng_graph("4d ozone", complement(LG), layout="circle") + +nav <- navGraph(ng.data, list(ng.lg, ng.lgnot), list(ng_2d(ng.data,ng.lg), ng_2d(ng.data,ng.lgnot))) +@ + +\subsection{Swiss fertility} +<>= +ng.data <- ng_data(name = "SwissFertility", + data = swiss, + shortnames = c("Fer","Agri","Exam","Edu","Cath","IM")) + +p <- ncol(swiss) +adjM <- matrix(0,ncol=p,nrow=p) +adjM[1:5,6] <- 1 +adjM[6,1:5] <- 1 + +G <- newgraph(shortnames(ng.data),adjM,isAdjacency=TRUE) +LG <- linegraph(G) +ng.lg <- ng_graph("3d fertility", LG, layout='circle') +ng.lgnot <- ng_graph("4d fertility", complement(LG), layout="fruchtermanReingold") + +nav <- navGraph(ng.data, list(ng.lg, ng.lgnot), list(ng_2d(ng.data,ng.lg), ng_2d(ng.data,ng.lgnot))) +@ + +\subsection{Challenger} +<>= +require(alr3) +data(challeng) + +ng.data <- ng_data(name = "Challenger Data", + data = challeng[,c(1:3,5:7)]) + + +p <- ncol(ng_get(ng.data,"data")) +adjM <- matrix(0,ncol=p,nrow=p) +adjM[c(1,2),c(3:6)] <- 1 +adjM[c(3:6),c(1,2)] <- 1 + +G <- newgraph(names(ng.data),adjM,isAdjacency = TRUE) +LG <- linegraph(G) + +ng.lg <- ng_graph("3d challenger", LG) +ng.lgnot <- ng_graph("4d challenger", complement(LG)) + +nav <- navGraph(ng.data, list(ng.lg, ng.lgnot), list(ng_2d(ng.data,ng.lg), ng_2d(ng.data,ng.lgnot))) +@ + +\subsection{Animal} +<>= +library(PairViz) +require(cluster) +data(animals) +names(animals) +ng.data <- ng_data(name = "Animal Data", + data = animals) + +nav <- navGraph(ng.data) + +ng_walk(nav, eulerian(as(ng_get(ng_get(nav,"graphs")[[1]],"graph")),"graphNEL")) +@ + +\section{Acknowledgments} +We'd like to thank the R community who contributes actively to the \texttt{R} mailing list. We'd like to thank Simon Urbanek in particular, as he helped us to deal with a few problems that caused us headaches for some time. + +\texttt{RnavGraph} is partially supported by an Ontario Graduate Scholarship. + + +\section*{References} + +\begin{itemize} +\item Hurley, C. B.; and R. W. Oldford. ``Graphs as Navigational Infrastructure for High Dimensional Data Spaces.'' Computational Statistics (February 2011). +\item Wilkinson, Leland; Anushka Anand; Robert Grossman. ``Graph-theoretic Scagnostics.'' Proceedings - IEEE Symposium on Information Visualization (2005): 157-164. +\end{itemize} +\end{document} diff --git a/inst/doc/img/Iris2D.png b/vignettes/img/Iris2D.png similarity index 100% rename from inst/doc/img/Iris2D.png rename to vignettes/img/Iris2D.png diff --git a/inst/doc/img/Iris3Dgraph.png b/vignettes/img/Iris3Dgraph.png similarity index 100% rename from inst/doc/img/Iris3Dgraph.png rename to vignettes/img/Iris3Dgraph.png diff --git a/inst/doc/img/all.png b/vignettes/img/all.png similarity index 100% rename from inst/doc/img/all.png rename to vignettes/img/all.png diff --git a/inst/doc/img/aloi.jpg b/vignettes/img/aloi.jpg similarity index 100% rename from inst/doc/img/aloi.jpg rename to vignettes/img/aloi.jpg diff --git a/inst/doc/img/f1_1.png b/vignettes/img/f1_1.png similarity index 100% rename from inst/doc/img/f1_1.png rename to vignettes/img/f1_1.png diff --git a/inst/doc/img/f1_2.png b/vignettes/img/f1_2.png similarity index 100% rename from inst/doc/img/f1_2.png rename to vignettes/img/f1_2.png diff --git a/inst/doc/img/f2_1.png b/vignettes/img/f2_1.png similarity index 100% rename from inst/doc/img/f2_1.png rename to vignettes/img/f2_1.png diff --git a/inst/doc/img/f2_2.png b/vignettes/img/f2_2.png similarity index 100% rename from inst/doc/img/f2_2.png rename to vignettes/img/f2_2.png diff --git a/inst/doc/img/ggobicolors.png b/vignettes/img/ggobicolors.png similarity index 100% rename from inst/doc/img/ggobicolors.png rename to vignettes/img/ggobicolors.png diff --git a/inst/doc/img/graph.eps b/vignettes/img/graph.eps similarity index 100% rename from inst/doc/img/graph.eps rename to vignettes/img/graph.eps diff --git a/inst/doc/img/graph.png b/vignettes/img/graph.png similarity index 100% rename from inst/doc/img/graph.png rename to vignettes/img/graph.png diff --git a/inst/doc/img/imageDigits.png b/vignettes/img/imageDigits.png similarity index 100% rename from inst/doc/img/imageDigits.png rename to vignettes/img/imageDigits.png diff --git a/inst/doc/img/m1_1.png b/vignettes/img/m1_1.png similarity index 100% rename from inst/doc/img/m1_1.png rename to vignettes/img/m1_1.png diff --git a/inst/doc/img/m1_2.png b/vignettes/img/m1_2.png similarity index 100% rename from inst/doc/img/m1_2.png rename to vignettes/img/m1_2.png diff --git a/inst/doc/img/m2_1.png b/vignettes/img/m2_1.png similarity index 100% rename from inst/doc/img/m2_1.png rename to vignettes/img/m2_1.png diff --git a/inst/doc/img/m3_1.png b/vignettes/img/m3_1.png similarity index 100% rename from inst/doc/img/m3_1.png rename to vignettes/img/m3_1.png diff --git a/inst/doc/img/m4_1.png b/vignettes/img/m4_1.png similarity index 100% rename from inst/doc/img/m4_1.png rename to vignettes/img/m4_1.png diff --git a/inst/doc/img/m4_2.png b/vignettes/img/m4_2.png similarity index 100% rename from inst/doc/img/m4_2.png rename to vignettes/img/m4_2.png diff --git a/vignettes/img/settings.png b/vignettes/img/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..45e548560a827fa75c9c2daef1c35f6294ebd074 GIT binary patch literal 62866 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 Q=pWq{yCa$-eDC4^0ahfwg8%>k literal 0 HcmV?d00001 diff --git a/inst/doc/img/tk2dGlyphs.png b/vignettes/img/tk2dGlyphs.png similarity index 100% rename from inst/doc/img/tk2dGlyphs.png rename to vignettes/img/tk2dGlyphs.png diff --git a/inst/doc/img/tk2dImagesObject.png b/vignettes/img/tk2dImagesObject.png similarity index 100% rename from inst/doc/img/tk2dImagesObject.png rename to vignettes/img/tk2dImagesObject.png diff --git a/inst/doc/img/tk2dcolors.png b/vignettes/img/tk2dcolors.png similarity index 100% rename from inst/doc/img/tk2dcolors.png rename to vignettes/img/tk2dcolors.png diff --git a/inst/doc/img/tk2dcolors2.png b/vignettes/img/tk2dcolors2.png similarity index 100% rename from inst/doc/img/tk2dcolors2.png rename to vignettes/img/tk2dcolors2.png diff --git a/inst/doc/img/tk2dimages1.png b/vignettes/img/tk2dimages1.png similarity index 100% rename from inst/doc/img/tk2dimages1.png rename to vignettes/img/tk2dimages1.png diff --git a/inst/doc/lg.tex b/vignettes/lg.tex similarity index 100% rename from inst/doc/lg.tex rename to vignettes/lg.tex diff --git a/inst/doc/p_prod.tex b/vignettes/p_prod.tex similarity index 100% rename from inst/doc/p_prod.tex rename to vignettes/p_prod.tex diff --git a/inst/doc/products.tex b/vignettes/products.tex similarity index 100% rename from inst/doc/products.tex rename to vignettes/products.tex diff --git a/inst/doc/rep_p_GLG.tex b/vignettes/rep_p_GLG.tex similarity index 100% rename from inst/doc/rep_p_GLG.tex rename to vignettes/rep_p_GLG.tex diff --git a/inst/doc/temp.tex b/vignettes/temp.tex similarity index 100% rename from inst/doc/temp.tex rename to vignettes/temp.tex diff --git a/inst/doc/tikz_animation.tex b/vignettes/tikz_animation.tex similarity index 100% rename from inst/doc/tikz_animation.tex rename to vignettes/tikz_animation.tex diff --git a/inst/doc/tikz_drag.tex b/vignettes/tikz_drag.tex similarity index 100% rename from inst/doc/tikz_drag.tex rename to vignettes/tikz_drag.tex diff --git a/inst/doc/tikz_edgeSelect.tex b/vignettes/tikz_edgeSelect.tex similarity index 100% rename from inst/doc/tikz_edgeSelect.tex rename to vignettes/tikz_edgeSelect.tex diff --git a/inst/doc/tikz_modifyGraph.tex b/vignettes/tikz_modifyGraph.tex similarity index 100% rename from inst/doc/tikz_modifyGraph.tex rename to vignettes/tikz_modifyGraph.tex diff --git a/inst/doc/tikz_tk2d_main.tex b/vignettes/tikz_tk2d_main.tex similarity index 100% rename from inst/doc/tikz_tk2d_main.tex rename to vignettes/tikz_tk2d_main.tex diff --git a/inst/doc/tikz_walk.tex b/vignettes/tikz_walk.tex similarity index 100% rename from inst/doc/tikz_walk.tex rename to vignettes/tikz_walk.tex

m59bdI#ciQ@>T`+&k(5V<*MFR=px5>YEFynH&T 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 sPYF}TNt56%7L9UVDcT-`L(^5aw0j)fU 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