On Sat, Mar 14, 2026 at 1:07 PM Andre Luiz Tietbohl Ramos
<[email protected]> wrote:
>
> Hello,
>
> I'm trying to generate a pdf file from a plot using the system above to no
> avail for I receive the error: It may be damaged or use a file format that
> Preview doesn’t recognise. when trying to open an example file such
> as: “ITUB4_em_14_03_2026_14h29m.pdf”
> with the message: could not be opened.
>
> I don't know how to solve it for it works when using ggplot() but does not
> when using chartSeries(), see below. Data downloaded via getSymbols().
>
> full.window.color.bg <- 'gray63
>
> *Does not work:*
>
> chartSeries("ITUB4.SA",
> type = "line",
> show.grid = TRUE,
> theme = chartTheme("white",
> up.col = 'forestgreen',
> dn.col = 'red',
> bg.col = "black",
> area = full.window.color.bg
> ),
> TA = NULL
> )
>
> grafico <- paste0(gsub("[[:punct:]]SA", "", "ITUB4.SA"),'_on_',
> as.character(format(as.Date(end), format="%d_%m_%Y")),
> "_",
> as.character(hour(now())), "h",
> as.character(minute(now())), "m",
> ".pdf")
> folder <- "/Users/andreltr/Documents/B3/"
> arquivo.grafico <- as.character(paste0(folder, plt))
>
> ggsave(filename = grafico,
> path = folder,
> device = "pdf",
> width = 25, height = 20, units = "cm")
> dev.off()
>
> Using ggplot() the pdf file is generated without problems, as the example
> below shows. Data downloaded via tidyquant library functions.
>
ggsave() works with ggplot() because it's a ggplot2 function designed
to save ggplot objects. The help page for ggsave says, "Save a ggplot
(or other grid object) with sensible defaults". chartSeries() objects
are not grid objects, so you shouldn't expect ggsave() to work. Use
pdf(); chartSeries(...); dev.off() instead.
As others have said more than once, please use *minimal* reproducible
examples. Your question is about quantmod::chartSeries(). There's no
need for you to use many other unnecessary packages in your example
code. A minimal reproducible example in this case would be:
x <- quantmod::getSymbols("SPY", auto.assign = TRUE)
quantmod::chartSeries(x)
ggplot2::ggsave("chartseries.pdf", device = "pdf") # can't open pdf
And this should work:
pdf("chartseries.pdf")
quantmod::chartSeries(x)
dev.off()
You're much more likely to get help if you make it easier on those
you're asking to donate their time to helping you.
> cum.portfolio <-
> port_cumulative_ret %>% ggplot(aes(x = date, y = cum_ret)) +
> theme_gray() +
> theme(plot.background = element_rect(fill = "gray90")) +
> geom_line(color = "blue") +
> theme(axis.text.x = element_text(size = 5,
> angle = 50,
> hjust = 1)) +
> labs(x = 'Data',
> y = 'Cum Return',
> title = paste0('Portfolio Cumulative Return of ',
> length(num.tickers),
> ' stocks on ',
> format(as.Date(end), format="%d/%m/%Y")),
> subtitle = paste0("Stocks: ", toString(tickers.names), "\nWeights:
> ",
> toString(percent(wts, accuracy = 0.1)))
> ) +
> scale_x_date(date_breaks = '2 weeks',
> date_labels = '%d %b %y') +
> scale_y_continuous(
> limits = c(0.8, 2),
> breaks = seq(0, 10, 0.05),
> labels = scales::percent_format(accuracy = 1)
> )
>
> graph <- paste0('Cum_Returno_from_Portfolio_',
> gsub(" ", "", toString(tickers.names)),'_on_',
> format(as.Date(end), format= "%d_%m_%Y"),'_',
> as.character(hour(now())), "h",
> as.character(minute(now())), "m",
> ".pdf")
> folder <- "/Users/andreltr/Documents/B3/"
> ggsave(filename = graph,
> path = diretorio,
> width = 25, height = 20, units = "cm")
> dev.off()
>
> Any help appreciated,
>
> --
> André Luiz Tietbohl Ramos, PhD
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions
> should go.
--
Joshua Ulrich | about.me/joshuaulrich
FOSS Trading | www.fosstrading.com
______________________________________________
[email protected] mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.