2015-03-27 15 views
13

Ich habe ein RMarkdown-Dokument zur Ausgabe von HTML der gleichen Form wie im folgenden Beispiel. Was füge ich hinzu, wo eindeutige CSS-IDs oder -Klassen auf jede Plot-Ausgabe angewendet werden?Hinzufügen von benutzerdefinierten CSS-Tags zu einem RMarkdown-HTML-Dokument

--- 
title: "RMarkdown" 
author: "Me" 
date: "Friday, March 27, 2015" 
output: 
    html_document: 
    theme: null 
    css: style.css 
--- 

```{r plot1, echo=FALSE, warning=FALSE, message=FALSE} 
library(ggplot2) 
x <- ggplot(some_r_code) 
print(x) 
``` 

```{r plot2, echo=FALSE, warning=FALSE, message=FALSE} 
y <- ggplot(some_more_r_code) 
print(y) 
``` 

Ich habe die Info-Seite bei http://rmarkdown.rstudio.com/html_document_format.html lesen, die einen weiten Weg zur Beantwortung dieser Frage ging aber mich nicht dorthin gelangen. Ich habe eine ähnliche Frage, die auf das Material auf dieser Seite im Kommentarbereich verweist, und ich würde mich über eine Antwort freuen.

Danke!

+0

das ist eine gute Frage, haben Sie jemals eine Lösung gefunden? –

+1

Ich habe nicht, aber es gibt einige Problemumgehungen, die Sie verwenden könnten. Jeder Code-Chunk wird in einem 'p'-Tag gerendert und jeder der Plots wird in' img' -Tags innerhalb dieser Absätze gerendert. So können Sie die erste mit der css 'p: nth-of-type (1) img {css hier eingeben ...}' und die zweite mit der css 'p: nth-of-type (2) img {css hier eingeben ...} '. Hoffe das hilft! – efbbrown

Antwort

1

Öffnen Sie den resultierenden HTML-Code in einem Browser mit der Option "Developer Tools" und sehen Sie sich das generierte HTML an. Wenden Sie dann das Styling auf die entsprechenden Tags/Klassen an. Zum Beispiel setzen nach dem in style.css, die Datei stricken und Sie sollten einen roten Rahmen auf den Stellplätzen sehen:

img { 
    background-color: red; 
    padding: 2px; 
    border: 1px solid red; 
    border-radius: 3px; 
    margin: 0 5px; 
    max-width: 100%; 
} 
+0

Ich weiß, dass ich die generierte HTML-Datei ändern kann, aber ich möchte eine programmatische Lösung, die vermeidet, die Tags manuell anzuwenden, wie Sie vorgeschlagen haben. Ich möchte auch die Diagramme separat stylen und den Zugriff auf die -Tag erlaubt mir nicht, dies zu tun. – efbbrown

4

können Sie sagen knitr mit results="asis" (was unter der Haube verwendet wird) ein Stück der Ausgang direkt einzubetten in den HTML-Code. Innerhalb des Brocken können Sie cat verwenden, um einfach einen Stil-Tag einschließlich Ihrer CSS-Definitionen zu schreiben:

```{r results="asis"} 
cat(" 
<style> 
h1 { 
    color: red; 
} 
</style> 
") 
``` 

http://yihui.name/knitr/options/#chunk_options für Details.

Verwandte Themen