I need to remove the space from the side margin as it is consuming most of the space.
A sample code is provided. The main code gets data from internet.
MainStackoverflow.RMD file will call the ChildStackoverflow.RMD file and generate the final html in loop.
There are two functions in the main code which are used to generate the graphs at run time.
MAIN CODE:
library('quantmod')
library('ggplot2')
getSymbols("AAPL", from = "2018/01/01",to = Sys.Date(), periodicity = "daily")
getSymbols("MSFT", from = "2018/01/01",to = Sys.Date(), periodicity = "daily")
getSymbols("META", from = "2018/01/01",to = Sys.Date(), periodicity = "daily")
getSymbols("ORCL", from = "2018/01/01",to = Sys.Date(), periodicity = "daily")
v_lst_cols = c('OPEN','HIGH','LOW','CLOSE','VOLUME','ADJUSTED','DATE')
df_AAPL <- as.data.frame(AAPL)
df_AAPL$DATE <- index(AAPL)
rownames(df_AAPL) <- NULL
names(df_AAPL) <- v_lst_cols
df_AAPL$SYMBOL <- 'AAPL'
df_MSFT <- as.data.frame(MSFT)
df_MSFT$DATE <- index(MSFT)
rownames(df_MSFT) <- NULL
names(df_MSFT) <- v_lst_cols
df_MSFT$SYMBOL <- 'MSFT'
df_META <- as.data.frame(META)
df_META$DATE <- index(META)
rownames(df_META) <- NULL
names(df_META) <- v_lst_cols
df_META$SYMBOL <- 'META'
df_ORCL <- as.data.frame(ORCL)
df_ORCL$DATE <- index(ORCL)
rownames(df_ORCL) <- NULL
names(df_ORCL) <- v_lst_cols
df_ORCL$SYMBOL <- 'ORCL'
df_all <- rbind(df_AAPL, df_MSFT,df_META,df_ORCL)
df_all <- df_all[, c('SYMBOL','DATE','OPEN','HIGH','LOW','CLOSE','VOLUME','ADJUSTED')]
names(df_all) <- c('Symbol','Date','Open','High','Low','Close','Volume','Adjusted')
v_lst_all_symbol = c('AAPL','MSFT','META','ORCL')
v_glbl_shrt_rpt_prd = 30
v_glbl_long_rpt_prd = 220
v_par_list = list()
for(i in 1:length(v_lst_all_symbol)){
v_tmp_list = list(Symbol = v_lst_all_symbol[i])
v_par_list[[i]] =v_tmp_list
}
v_max_date = max(df_all$Date)
p_dt_hdr_fixed_file = data.table(df_all[df_all$Date == v_max_date,])
#- - - - - - - -
func_plot_nyrs_data_test <- function(p_yrs,p_Symbol){
#print(i_yrs)
if ( p_yrs == 5) { v_width = "6 month"}
if ( p_yrs == 2) { v_width = "3 month" }
print(p_Symbol)
df_tmp_hist_dat <- df_all %>% dplyr::filter(Symbol == p_Symbol) %>% dplyr::filter(as.Date(Date) > Sys.Date()-p_yrs*365)
v_cur_close <- df_tmp_hist_dat$Close[1]
v_low_min = min(df_tmp_hist_dat$Low,na.rm = TRUE)
v_high_max = max(df_tmp_hist_dat$High, na.rm = TRUE)
v_def = round((v_high_max- v_low_min)/20)
if (v_def == 0) {
v_def = round((v_high_max- v_low_min)/20,1)}
if (v_def == 0) {
v_def = round((v_high_max- v_low_min)/20,2)}
if (v_def > 0) {
if (nrow(df_tmp_hist_dat) >= 60) {
return(ggplot(df_tmp_hist_dat, aes(x = Date, y = Close, group = 1)) + geom_line(data = ) +
scale_x_date(date_labels = "%Y%b",breaks = scales::date_breaks(width = v_width)) +
theme(text = element_text(size = 10),axis.text.x = element_text(face = "bold", color = "#993333",size = 10, angle = 45),
axis.text.y = element_text(face = "plain", color = "#993333",size = 9, angle = 0)) +
scale_y_continuous(breaks = c(seq(1,50000,v_def))) + theme(panel.background = element_rect(fill = 'grey87'),panel.grid.major.y = element_line(colour = c("chartreuse4","cadetblue4", "brown4","blue1","deeppink"), linetype = 4)) +
labs(subtitle = paste(p_Symbol,p_yrs,'yrs') ))
}
}
}
------
func_base_make_candle_chart_new_test <- function(p_symbol,p_grph_prd, p_dat = df_all) {
v_max_date = max(p_dat$Date);vals <- p_dat %>% filter(Symbol == p_symbol & Date > v_max_date-(p_grph_prd))
if (nchar(vals$Date[1]) == 8){
vals$Date <- as.Date(as.character(vals$Date), '%Y%m%d')
} else{
vals$Date <- as.Date(vals$Date) }
names(vals)[names(vals) == 'Vol'] = 'Volume'
ts <- xts(vals %>% select(Open, High, Low, Close, Volume),
order.by = vals %>% pull(Date))
candleChart(ts, name = p_symbol, type = "auto", up.col = "green", dn.col = "red", theme = "white", plot = TRUE, TA = c(addVo()))
}
library('rmarkdown')
v_rmd_file = '/path/MainStackoverflow.RMD'
v_output_file = '/path/Output.html'
rmarkdown::render(v_rmd_file,output_file = v_output_file_html, output_dir = v_output_dir)
#=========================================================
# **MainStackoveflow.RMD File**
```{r message=FALSE, warning=FALSE}
```
---
title: "Test"
output:
html_document:
css: styles.css
pdf_document: default
---
```{r setup, include=FALSE, echo=FALSE, , message=FALSE, warning=FALSE, out.width= 15 , cache = FALSE}
library(knitr)
library(kableExtra)
```
echo("one")
```{r, fig.cap = "Test Graphs", echo = FALSE}
if (1==1){
kable(p_dt_hdr_fixed_file) %>% kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = T, position = "center", font_size = 11)}
```
```{r, echo=TRUE}
#print('Test')
#print(paste('after before knit expand --> ', length(v_par_list)))
rmd <- sapply(
1:length(v_par_list),
function(x) {
knit_expand("DetailStackoverflow.RMD", x=x, p_Symbol=v_par_list[[x]]$Symbol)
}
)
rmd <- paste(rmd, collapse = "n")
```
```{r results = "asis", echo=FALSE}
rendered <- knit(text = rmd, quiet = TRUE)
cat(rendered, sep = "n")
```
#===================================================
**DetailStackoverflow.RMD file**
```{r message=TRUE, warning=TRUE}
```
##### {{paste(p_Symbol,'-----' )}}
style="padding:0px;"
```{r, fig.cap = "The caption: ID = {{p_Symbol}}", fig.width=10,fig.fullwidth=TRUE,echo = FALSE, results = 'asis', warning = FALSE , cache = FALSE}
i <- {{x}}
v_Symbol = v_par_list[[i]]$Symbol
cat("
<style>
caption {
color: black;
font-weight: bold;
font-size: 1.0em;
}
</style>
")
#print(v_company)
```
```{r, fig.cap = "Yearly Graphs",fig.width=10,fig.fullwidth=TRUE,fig.height=5, echo = FALSE,fig.align='center', cache = FALSE}
#| column: page
func_plot_nyrs_data_test(2,v_Symbol)
func_base_make_candle_chart_new_test(v_Symbol,v_glbl_shrt_rpt_prd)
```