pdf_fit | R Documentation |
(This function is deprecated: Please use the functions export_graph_start()
and export_graph_end()
instead.)
This function is an alternative to pdf
, it makes it easy
to export figures of appropriate size that should end up in a document. Instead
of providing the height and width of the figure, you provide the fraction of the
text-width the figure should take, and the target font-size at which the plotting
text should be rendered. The size of the plotting text, once the figure is
in the final document, is guaranteed.
pdf_fit(
file,
pt = 10,
width = 1,
height,
w2h = 1.75,
h2w,
sideways = FALSE,
...
)
file |
The name of the file to which export the figure. |
pt |
The size of the text, in pt, once the figure is inserted in your final document.
The default is 10. This means that all text appearing in the plot with |
width |
The width of the graph, expressed in percentage of the width of
the body-text of the document in which it will be inserted. Default is 1, which means
that the graph will take 100% of the text width. It can also be equal to a character
of the type |
height |
Numeric between 0 and 1 or character scalar. The height of the graph,
expressed in percentage of the height of the body-text of the document in which it
will be inserted. Default is missing, and the height is determined by the other
argument |
w2h |
Numeric scalar. Used to determine the height of the figure based on
the width. By default it is equal to |
h2w |
Numeric scalar, default is missing. Used to determine the aspectr ratio of the figure. |
sideways |
Logical, defaults to |
... |
Other arguments to be passed to |
If you use fit.off
instead of dev.off
to close the graph,
the resulting graph will be displayed in the viewer pane. So you don't have to open
the document to see how it looks.
To export a ggplot2 graph, remember that you need to print it!
library(ggplot2) data = data.frame(x = c(1, 2, 3, 4, 5), y = c(2, 4, 6, 8, 10)) # NOT GOOD pdf_fit("test.pdf") ggplot(data, aes(x, y)) + geom_point(color = "#54BF98") + geom_line(color = "#d34661") fit.off() # GOOD my_graph = ggplot(data, aes(x, y)) + geom_point(color = "#54BF98") + geom_line(color = "#d34661") pdf_fit("test.pdf") print(my_graph) fit.off()
This function does not return anything. It connects the output of the R graphics engine to a file.
You can set the page size with the function setFplot_page
,
which defines the size of the page and its margins to deduce the size of the body
of the text in which the figures will be inserted. By default the page is considered
to be US-letter with normal margins (not too big nor thin).
It is important to set the page size appropriately to have a final plotting-text size guaranteed once the figure is inserted in the document.
Laurent Berge
To set the geometry and the defaults: setFplot_page
.
To close the graph and display it on the viewer pane: fit.off
.
# This function creates figures made to be inserted
# in a Latex document (US-letter with "normal" margins)
# By default, the figures should take 100% of the
# text width. If so, the size of the text in the figures
# will be exact.
# You need pdftools and knitr to display PDFs in the viewer pane with fit.off
if(require(pdftools) && require(knitr)){
tmpFile = file.path(tempdir(), "pdf_examples.pdf")
pdf_fit(tmpFile, pt = 8)
plot(1, 1, type = "n", ann = FALSE)
text(1, 1, "This text will be displayed in 8pt.")
fit.off()
pdf_fit(tmpFile, pt = 12)
plot(1, 1, type = "n", ann = FALSE)
text(1, 1, "This text will be displayed in 12pt.")
fit.off()
pdf_fit(tmpFile, pt = 12, sideways = TRUE)
plot(1, 1, type = "n", ann = FALSE)
text(1, 1, "This text will be displayed in 12pt if in sideways.")
fit.off()
# If we reduce the end plot width but keep font size constant
# this will lead to a very big font as compared to the plot
pdf_fit(tmpFile, pt = 8, width = "50%")
plot(1, 1, type = "n", ann = FALSE)
text(1, 1, "This text will be displayed in 8pt\nif in 50% of the text width.")
fit.off()
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.