Às 16:05 de 18/07/2026, Andre Luiz Tietbohl Ramos escreveu:
Hello,
Suppose I want to have a multiline subtitle using ggplot() with aligned
strings between first line and second line like a table. I'm using the
approach below to no avail,
tickers.subtitle <- c("CPFE3.SA", "CXSE3.SA", " ALUP11.SA", "BBAS3.SA", "
CMIG4.SA", "VALE3.SA", " LEVE3.SA", "VIVT3.SA", "TAEE4.SA", "RANI3.SA", "
BRSR6.SA", "SAPR4.SA")
ticker.subtitle.weights <- c("20.0%", "15.0%", "15.0%", "5.0%", "5.0%",
"5.7%", "5.7%", "5.7%", "5.7%", "5.7%", "5.7%", "5.7%")
port_cumulative_ret %>% ggplot(aes(x = date, y = cum_ret)) +
...
labs(
...
subtitle = paste('Ativos: ', tickers.subtitle,
'\nPesos: ', ticker.subtitle.weights)
)
Any suggestions?
TIA,
--
André Luiz Tietbohl Ramos, PhD
[[alternative HTML version deleted]]
______________________________________________
[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.
Hello,
Here is a solution from this StackOverflow post [1]
# sample data
port_cumulative_ret <- data.frame(
date = Sys.Date() - (10:1),
cum_ret = cumsum(rnorm(10))
)
tickers.subtitle <- c("CPFE3.SA", "CXSE3.SA", "ALUP11.SA", "BBAS3.SA",
"CMIG4.SA", "VALE3.SA", "LEVE3.SA", "VIVT3.SA",
"TAEE4.SA", "RANI3.SA", "BRSR6.SA", "SAPR4.SA")
ticker.subtitle.weights <- c("20.0%", "15.0%", "15.0%", "5.0%",
"5.0%", "5.7%", "5.7%", "5.7%", "5.7%",
"5.7%", "5.7%", "5.7%")
### Load the needed libraries
library(ggplot2)
library(scales)
library(grid)
library(gridExtra)
# prepare the tickers data
df1 <- data.frame(ticker.subtitle.weights)
df1 <- as.data.frame(t(df1))
names(df1) <- tickers.subtitle
row.names(df1) <- NULL
# the cumulative returns plot
plot1 <- port_cumulative_ret |>
ggplot(aes(x = date, y = cum_ret)) +
geom_line()
# tickers table
tbl <- tableGrob(df1, rows = NULL)
# put table below the plot
grid.arrange(plot1, tbl, nrow = 2, heights = c(8, 2))
[1] https://stackoverflow.com/q/41164675/8245406
Hope this helps,
Rui Barradas
______________________________________________
[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.