2016-05-24 7 views
0

Ich arbeite mit rApache für die Anzeige gekapselter Plots, die in R erstellt wurden. Im Moment gibt es nur ein Problem, das ich gegenüberstellen muss. Wenn nur Nesting-R-Code im Dokument vorhanden ist, wird die HTML-Datei als eine Art single-png-Bild gerendert.Verwenden von Plots innerhalb von rApache

Allerdings möchte ich, dass es als ein Dokument gerendert wird, das grafische Plots enthält. Wenn ich also HTML-Inhalt vor oder innerhalb der <% ... %> Tags hinzufüge, bekomme ich ein gebrochenes Bildzeichen als Ausgabe.

Wie kann ich erreichen, dass ich den Plot-Befehl in einem HTML-Dokument verwenden kann?

<h1> Plot Content </h1> // adding this causes a broken image 

<% 
setContentType("image/png") 
t <- tempfile() 
png(t,type="cairo") 

rndDistribution <- rnorm(100) 

plot(rndDistribution) 

dev.off() 
sendBin(readBin(t,'raw',n=file.info(t)$size)) 
unlink(t) 
%> 

Mein apache.conf:

<Directory /var/www/> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Require all granted 
</Directory> 


<Directory /var/www/html/R> 
    SetHandler r-script 
    RHandler brew::brew 
</Directory> 

Antwort

0

Nach etwas über Dateierstellung in R lesen, die ich als sehr einfache Abhilfe zu folgenden Lösung gekommen:

// 1. creating the image of the plotted diagramm: 
<% 
setwd("/var/www/html/images/R") 
getwd() 
png(filename="plot.png") 

rndDistribution <- rnorm(100) 

plot(rndDistribution) 

dev.off() 
%> 

// 2. display graphic: 
<h1> Plot Content </h1> 
<img src="/images/R/plot.png"> 

Ich denke, Das erste Codebeispiel, das ich ausprobiert habe, wurde für einen R-Handler für Dokumente erstellt und nicht für die R-Skript-Option in einem bestimmten Verzeichnis.