Skip to content

Commit 574beb6

Browse files
committed
Ajuste
1 parent 1ba68be commit 574beb6

2 files changed

Lines changed: 66 additions & 10 deletions

File tree

‎R/save_ipeaplot.R‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#' @export
2626
save_ipeaplot <- function(
2727
gplot = ggplot2::last_plot(), file.name, format = NULL,
28-
width = 160, height = 100, units = c("in","mm","cm","px"),
28+
width = 6.30, height = 3.94, units = c("in","mm","cm","px"),
2929
dpi = 300, background = "white", quality = 95,
3030
path = ".", scale = 1, overwrite = TRUE,
3131
include_date = FALSE, date_format = "%Y%m%d",
@@ -45,6 +45,17 @@ save_ipeaplot <- function(
4545
valid <- c("eps","jpg","pdf","png")
4646
format <- unique(match.arg(format, choices = valid, several.ok = TRUE))
4747

48+
49+
# Auto-conversão de "mm digitado como in" (ex.: width=160, height=100 com units="in")
50+
if (units == "in" && (width >= 50 || height >= 50)) {
51+
width <- width / 25.4
52+
height <- height / 25.4
53+
message(sprintf(
54+
"Dimensões muito grandes em 'in'; interpretando como mm -> width=%.2f in, height=%.2f in.",
55+
width, height
56+
))
57+
}
58+
4859
base_name <- sub("\\.[^.]+$", "", file.name)
4960
if (include_date) base_name <- paste0(base_name, "_", format(Sys.Date(), date_format))
5061

‎vignettes/intro_ipeaplot.Rmd‎

Lines changed: 54 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,11 @@ O pacote **ipeaplot** foi desenhado para ser usado em conjunto com o pacote [ggp
4949

5050
1. `theme_ipea()` - formatação de elementos estilísticos da figura (eixos, fontes, linhas, grid, etc.);
5151
2. `scale_color_ipea()` e `scale_fill_ipea()`- selecionam paleta de cores dentro de um conjunto de opções utilizadas pelo Ipea;
52-
3. `save_eps()` - salva a figura em formato `.eps`, um formato vetorial de alta resolução utilizado pela equipe do Editorial do Ipea.
53-
4. `save_pdf()` - salva a figura em formato `.pdf`, um formato vetorial de alta resolução utilizado pela equipe do Editorial do Ipea.
52+
3. `save_ipeaplot()` - função unificada para salvar objetos ggplot em múltiplos formatos (`.eps`, `.pdf`, `.png`, `.jpg`), oferecendo flexibilidade e controle avançado sobre a exportação de figuras.
5453

5554
# Fontes
5655

57-
Por limitações de licenciamento, o **ipeaplot** utiliza, em títulos e rótulos das figuras, a fonte sem serifa padrão do sistema operacional do usuário e não a tipografia recomendada pelo Editorial do Ipea (*Frutiger*). Se as figuras forem salvas em formatos "editáveis" (pdf ou eps, usando as funções `save_pdf()` ou `save_eps()`), a equipe editorial poderá alterar a fonte no momento da edição de uma publicação.
56+
Por limitações de licenciamento, o **ipeaplot** utiliza, em títulos e rótulos das figuras, a fonte sem serifa padrão do sistema operacional do usuário e não a tipografia recomendada pelo Editorial do Ipea (*Frutiger*). Se as figuras forem salvas em formatos "editáveis" (pdf ou eps, usando a função `save_ipeaplot()`), a equipe editorial poderá alterar a fonte no momento da edição de uma publicação.
5857

5958
# Demonstração do pacote
6059

@@ -239,14 +238,60 @@ ggplot() +
239238

240239
## Salvando figura
241240

242-
Finalmente, o pacote **ipeaplot** traz as funções `save_eps()` e `save_pdf()` para facilitar a exportação da figura para um arquivo em formato `.eps`, um formato de imagem vetorial de alta resolução.
241+
Finalmente, o pacote **ipeaplot** traz a função `save_ipeaplot()` para facilitar a exportação da figura para múltiplos formatos de arquivo, incluindo formatos vetoriais de alta resolução como `.eps` e `.pdf`, além de formatos raster como `.png` e `.jpg`.
243242

244-
Basta passar o objeto ggplot da figura que deseja salvar, o nome do arquivo `file.name` e as dimensões da figura `width` e `height` em centímetros:
243+
A função `save_ipeaplot()` oferece uma interface unificada e flexível para salvar gráficos, permitindo especificar múltiplos formatos simultaneamente, controlar dimensões, qualidade, e diversas outras opções avançadas.
244+
245+
### Uso básico
246+
247+
Para usar a função, basta passar o objeto ggplot da figura que deseja salvar, o nome base do arquivo `file.name` (sem extensão) e opcionalmente especificar os formatos desejados:
245248

246249
```{r, eval=FALSE, echo=TRUE}
247-
save_eps(fig2,
248-
file.name = "figura_2.eps")
249-
save_pdf(fig2,
250-
file.name = "figura_2.pdf")
250+
# Salvar apenas em EPS (formato padrão)
251+
save_ipeaplot(fig_base, file.name = "figura_exemplo")
252+
253+
# Salvar em múltiplos formatos
254+
save_ipeaplot(fig_base,
255+
file.name = "figura_exemplo",
256+
format = c("eps", "pdf", "png"))
257+
```
258+
259+
### Parâmetros principais
251260

261+
A função `save_ipeaplot()` oferece diversos parâmetros para controle fino da exportação:
262+
263+
- **`format`**: Vetor com formatos desejados (`"eps"`, `"pdf"`, `"png"`, `"jpg"`)
264+
- **`width`** e **`height`**: Dimensões da figura (padrão: 6.30 × 3.94 polegadas)
265+
- **`units`**: Unidades das dimensões (`"in"`, `"mm"`, `"cm"`, `"px"`)
266+
- **`dpi`**: Resolução para formatos raster (padrão: 300)
267+
- **`background`**: Cor de fundo (use `NA` para PNG transparente)
268+
- **`quality`**: Qualidade para JPEG (0-100, padrão: 95)
269+
- **`path`**: Diretório de saída (padrão: diretório atual)
270+
271+
### Exemplos avançados
272+
273+
```{r, eval=FALSE, echo=TRUE}
274+
# Exemplo com configurações personalizadas
275+
save_ipeaplot(fig_base,
276+
file.name = "figura_personalizada",
277+
format = c("eps", "png"),
278+
width = 8, height = 5,
279+
units = "in",
280+
dpi = 600,
281+
background = "white",
282+
path = "figuras/")
283+
284+
# Salvar com data no nome do arquivo
285+
save_ipeaplot(fig_base,
286+
file.name = "figura_com_data",
287+
format = "pdf",
288+
include_date = TRUE)
289+
290+
# Evitar sobrescrever arquivos existentes
291+
save_ipeaplot(fig_base,
292+
file.name = "figura_segura",
293+
format = "png",
294+
overwrite = FALSE)
252295
```
296+
297+
A função automaticamente cria o diretório de saída se necessário e oferece opções avançadas como uso de Cairo para melhor qualidade vetorial e ragg para renderização raster otimizada.

0 commit comments

Comments
 (0)