FramedHTML {HTMLUtils} | R Documentation |
creates a framed HTML page displaying plots and annotations
Description
Creates a framed HTML page displaying plots and annotations that can easily be navigated. The plots can be created either 'on the fly' by passing the appropriate commands or beforehand in which case just the filenames need to be passed.
The user has a great deal of flexibility in choosing appropriate directory structures.
Usage
FramedHTML(cmds = NULL, basepath = c("./", paste(Sys.getenv("HOME"),
"/public_html/", sep = ""))[1], path = "tmp", Graphpath = "Figures/",
DiagnosticsPath = "Diagnostics", file = "tmp", HTMLobjects,
Captions, MenuLabels1, MenuLabels2, href = NULL, Comments = NULL,
title = "", width = 480, height = 480, FRAMES = FALSE, JSCPATH = "jsc",
REFRESH = "", img.logo.path = paste(Sys.getenv("HOME"), "/public_html/",
sep = ""), img.logo = NULL, img.href = "http://www.sensenetworks.com",
APPEND = FALSE, verbose = 1)
Arguments
cmds |
list of commands that generates the plots. If missing, the graphfiles are assumed to exist already. |
basepath |
base path of ‘public_html’ directory |
path |
subdirectory of |
Graphpath |
subdirectory of ‘basepath/path/’ containing the graphfiles; will be created if non existing |
DiagnosticsPath |
subdirectory of ‘basepath/path/’ containing the graphfiles; will be created if non existing |
file |
file name of main page; '.html' extension will be added. The '_main' and '_menu' pages use this base as well. |
HTMLobjects |
list of graph filenames, either to be created by the list of commands or to be copied to the Figures subdirectory and/or dataframes to be displayed in sortable tables. |
Captions |
vector of captions; these go directly below the graphs |
MenuLabels1 |
vector of labels for the menu navigation page. It helps to keep these succinct and short !. |
MenuLabels2 |
vector of labels for the main page; these go on top of the individual graphs, so they are complementary to the captions. |
href |
links to other HTML pages |
Comments |
Text/comments to be written between the graphs |
title |
title to be written in the navigation/menu page |
width |
width for all graphfiles |
height |
height for all graphfiles |
FRAMES |
is this an HTML page with frames ? |
JSCPATH |
path that should contain the jsc components. If non existing, user will be prompted for installation. |
REFRESH |
Meta refresh is a method of instructing a web browser to automatically refresh the current web page after a given time interval |
img.logo.path |
path to search for the logo pic in the frame |
img.logo |
filename of logo to display |
img.href |
link of logo to point to. |
APPEND |
append to existing HTML page ? |
verbose |
level of verbosity |
Value
no return values
Note
There is not much eror checking. In particular, the lengths of the argumentscmds, graphfiles, Captions, MenuLabels1, MenuLabels2
need to be all the same !
Author(s)
"Markus Loecher, Berlin School of Economics and Law (BSEL)" <markus.loecher@gmail.com>
See Also
Examples
if (interactive()){
#example with plots and graphfiles being generated on the fly:
owd=setwd(tempdir())
system("mkdir Figures")
FramedHTML(cmds = list("plot(rnorm(100));","plot(1:10);"),
HTMLobjects =list("Fig1.png", "Fig2.png"),
Captions=c("Gaussian noise","seq 1:10"),
MenuLabels1 = c("Label1","Label2"),
MenuLabels2 = c("Marvel at the graph below","scatterplots are nice"),
Comments = c("100 random numbers","Simple plot"), title="Test Page",
width=480, height=480, verbose=1)
#example with plots and graphfiles having been generated beforehand:
png("Fig1.png");
plot(rnorm(100));
dev.off()
png("Fig2.png");
plot(1:10);
dev.off();
FramedHTML( HTMLobjects = list("Fig1.png", "Fig2.png"),
Captions=c("Gaussian noise","seq 1:10"),
MenuLabels1 = c("Label1","Label2"),
MenuLabels2 = c("Marvel at the graph below","scatterplots are nice"),
Comments = c("100 random numbers","Simple plot"), title="Test Page",
width=480, height=480, verbose=1);
#example with absolute paths for graphfiles :
Fig1 <- paste(tempdir(),"/Fig1.png",sep="")
png(Fig1);
plot(rnorm(100));
dev.off()
Fig2 <- paste(tempdir(),"/Fig2.png",sep="")
png(Fig2);
plot(1:10);
dev.off();
FramedHTML( HTMLobjects = list(Fig1, Fig2), Captions=c("Gaussian noise","seq 1:10"),
MenuLabels1 = c("Label1","Label2"),
MenuLabels2 = c("Marvel at the graph below","scatterplots are nice"),
Comments = c("100 random numbers","Simple plot"),
title="Test Page",width=480, height=480, verbose=1);
#cleanup:
#system(paste("rm ", Fig1));system(paste("rm ", Fig2))
#example with sorted table:
x <- cbind.data.frame(x1 = round(rnorm(10),3), x2 = round(runif(10),3));
attr(x, "HEADER") <- "some random numbers";
FramedHTML(HTMLobjects = list("Fig1.png", x, "Fig2.png"),
MenuLabels1 = c("Label1","Label2","Label3"),
MenuLabels2 = c("Marvel at the graph below","JavaScript rocks","scatterplots are nice"),
Captions=c("Gaussian noise","Gaussian and uniform random numbers", "seq 1:10"),Comments = NULL,
path = "tmp", file = "index");
#example with sorted tables only, no figures:
x <- cbind.data.frame(x1 = round(rnorm(10),3), x2 = round(runif(10),3));
attr(x, "HEADER") <- "some random numbers";
y <- cbind.data.frame(y1 = rbinom(10,50,0.3), y2 = rbinom(10,100,0.15));
attr(y, "HEADER") <- "rbinom";
FramedHTML(HTMLobjects = list( x, y),
MenuLabels1 = c("x","y"),
MenuLabels2 = c("JavaScript rocks","Secret numbers"),
Captions=c("Gaussian and uniform random numbers", "Binomial draws"),Comments = NULL,
path = "tmp", file = "index");
setwd(owd)
}