How to add an interactive heatmap to a PDF? - r

I have created a heatmap in R and heatmaply. I need to add this heatmap to a paper I am publishing. The heatmap is very big and heatmaply's zoom is very useful. Is it possible to add this heatmap - it becomes a .html file when saved - to a PDF?
Is there any method to add an interactive heatmap another than a hyperlink?

The short answer is - no. Adding interactive graphics (like heatmaply) to a PDF file is not possible. My best advice is to go for something that supports HTML.
You can, however, add a static image to a PDF file by outputting the heatmap from heatmaply by following the documentation: https://cran.r-project.org/web/packages/heatmaply/heatmaply.pdf (search for "static").

Related

How to export an interactive image created in R in PDF?

I would like to know a way to create the interactive image in R and convert it to PDF so that from the PDF I can manipulate it, that is, it remains interactive. I created an interactive image in R but when I save it it becomes static, I tried to make it in RMarkdown but it only allows me to convert it to html. Help me please.

R program from Wikipedia doesn't plot

I want to use a R script which is publicly available from Wikipedia: https://commons.wikimedia.org/wiki/File:Correlation_examples2.svg .
This program is supposed to output an image but for some reason when I paste the code to Rstudio it doesn't plot.
What can I do to make it output the image?
Two main reasons:
The script by itself doesn't plot anything. It just sets up the function that will generate the image. So pasting the code by itself won't help and you need to call the 'output' function.
However the function by itself doesn't plot anything either. It saves the plot as Rplots.svg which contains the .svg code to plot the images.
To display the plot in RStudio, use for example the magick package.
output()
magick::image_read_svg('Rplots.svg')
Alternatively you can open the Rplots.svg file with a browser of your choice.

How to using code to save plots in Rstudio?

Is there any way to save the plots by code in RStudio?
Like something in Python save.plt().
I have noticed the function savePlot can save the figures but I cannot load it in RStudio, since it reports the errors in loading X11().
This leads me to think about another question... What is your way to using R or what is the proper way to using R? As a beginner I found RStudio is super easy to use and I like the idea that saving all the environments into a single file. But apparently it is no need to using X11() in plotting...
If you want to save from code the plot that is displayed in the RStudio plot tab then you have to call for example
rstudioapi::savePlotAsImage("test.png",width=300,height=150)
Plots can be saved as a jpg:
jpeg("Name_of_your_plot.jpg")
# your plot for example
plot(x,y)
dev.off()
Instead of jpg you can choose other image formats such as png, pdf or PostScript. The above code can be modified as:
png("Name_of_your_plot.png")
# your plot for example
plot(x,y)
dev.off()
If you have a ggplot you can use ggsave.

R export graph to pdf with page labels and import into LaTeX using page labels

I was wondering if it is possible to set page labels in PDFs exported from R and import the PDF page as an image using said labels into LaTeX?
What I want to do is:
export several graphs from R to a single multi-page PDF file
label the pages in the PDF
Idea:
PDF("multipage.pdf")
graph_object_1 (label="bubblechart")
graph_object_2 (label="bargraph")
graph_object_3 (label="scatterplot")
dev.off()
import as graph into LaTeX using the label instead of a page number
\includegraphics[page={bargraph}]{multipage}
I am aware that I can access pages using the respective page number. But it is common that the graphs change over time, more are added, some are removed. And adapting the page numbers in the TeX file every time would be painful.
I know about Sweave and knitR but my co-authors don't use R and they are therefore not an option.
I am wondering why you want to use a single pdf file. Why not
pdf("bubblechart.pdf")
...
dev.off()
pdf("bargraph.pdf")
...
dev.off()
and then
\begin{figure}
\includegraphics{bubblechart}
\end{figure}
and so forth...
LaTeX would do all the numbering and you have maximal flexibility...

Easy way to copy paste base graph from R Studio into word document

I need to copy paste R graphs into MS Word.
rando<-rnorm(1:100)
plot(rando)
when I copy the .png graph from R Studio into Word I get a negative space version of the graph:
Is there a cleaner/easier way to do this? I would be happy to use pdf or something else to present the graph.
As #Roland suggested:
Export -> Copy Plot to Clipboard (window with plot will pop-out) -> Metafile -> Copy Plot -> Paste to MSWord.
This seems a lot of clicks to me, rather as #user2633645 suggested save all plots as png then insert them in MSWord in one go.
?png
rando<-rnorm(1:100)
png(filename = "rando.png")
plot(rando)
dev.off()
You can use the devEMF package. It is repeatable, easy to use, and converts very nicely to pdf if needed.
(wow is this an old question, but I guess it's still an issue. I'm on RStudio v1.3.1073)
I came across 3 options:
Cross posting from https://github.com/rstudio/rstudio/issues/5103#issuecomment-679021780: "I've found two simple workarounds: Paste Special and choose TIFF, or (my preference) drag the image from the zoom window and drop in PowerPoint"
Snipping tool
You can specify the dimensions like in the RStudio plot export
windows(800,600) ## Opens graphic window. ctrl c/v works here.
plot(rando)
If you are doing this copy-plot-to-Word often or for several plots, consider creating an .Rmd file with your code, call knitr on that file, and use system("pandoc to convert your knitted .md file to Word.

Resources