Faisal Bhatti Faisal Bhatti -4 years ago 129
R Question

scale of the y axis on ggplot for geom_line is bunched up

I am making an R markdown file using hedgefund data for an assignment for a financial econometrics class. My assignment is due on Tuesday, but I am having a few problems with how my figures are being rendered in the pdf_document.

```{r Q4}
library(dplyr)
library(ggplot2)
library(scales)
hedgefunds.long <- hedgefunds.long %>% group_by(Strategy) %>% mutate(RET = (log(NAV)- lag(log(NAV))) * 100)

ggplot(hedgefunds.long) + geom_line(aes(x = date, y = RET)) + scale_y_continuous(breaks=pretty_breaks(n=6)) + facet_wrap(~ Strategy, ncol = 2)


view of the squished plots for bunched up y axes for above code chunk

Another issue I am having is that bits are cut off when the pdf document is knitted. I was wondering if there was a way to make sure that the legend in the picture below is not cut off at the top and bottom.

watch the labels on the axes

edit: (changed corrplot a bit, still haven't figure out resizing)

corrplot(hedgefundcormatrix, method = "color",addgrid.col = "gray50", tl.cex = 0.8,tl.offset = 0.5, tl.col = "black")


head on each dataset,

> head(hedgefunds, 10)
# A tibble: 10 × 15
date `Hedge Fund Index` `Convertible Arbitrage` `Dedicated Short Bias`
<date> <dbl> <dbl> <dbl>
1 1993-12-31 100.00 100.00 100.00
2 1994-01-31 101.14 100.36 98.40
3 1994-02-28 97.00 100.51 100.37
4 1994-03-31 93.54 99.54 107.59
5 1994-04-30 91.91 97.03 108.97
6 1994-05-31 93.96 96.04 111.42
7 1994-06-30 93.20 96.24 118.49
8 1994-07-31 93.53 96.37 117.09
9 1994-08-31 96.12 96.33 110.46
10 1994-09-30 96.76 95.18 112.20
# ... with 11 more variables: `Emerging Markets` <dbl>, `Equity Market
# Neutral` <dbl>, `Event Driven` <dbl>, `Event Driven Distressed` <dbl>, `Event
# Driven Multi-Strategy` <dbl>, `Event Driven Risk Arbitrage` <dbl>, `Fixed
# Income Arbitrage` <dbl>, `Global Macro` <dbl>, `Long/Short Equity` <dbl>,
# `Managed Futures` <dbl>, `Multi-Strategy` <dbl>



head(hedgefunds.long, 10)
Source: local data frame [10 x 4]
Groups: Strategy [1]

date Strategy NAV RET
<date> <chr> <dbl> <dbl>
1 1993-12-31 Hedge Fund Index 100.00 NA
2 1994-01-31 Hedge Fund Index 101.14 1.1335510
3 1994-02-28 Hedge Fund Index 97.00 -4.1794717
4 1994-03-31 Hedge Fund Index 93.54 -3.6321826
5 1994-04-30 Hedge Fund Index 91.91 -1.7579315
6 1994-05-31 Hedge Fund Index 93.96 2.2059322
7 1994-06-30 Hedge Fund Index 93.20 -0.8121438
8 1994-07-31 Hedge Fund Index 93.53 0.3534519
9 1994-08-31 Hedge Fund Index 96.12 2.7315170
10 1994-09-30 Hedge Fund Index 96.76 0.6636275

library(tidyr)
hedgefunds.long <- tidyr::gather(hedgefunds, Strategy, NAV, -date)


Will try this and see if it works...will edit post if it does.
R - change size of axis labels for corrplot

Answer Source

I don't have a reproducible data to check but it looks to me like the figure size is too small and forcing your figures to bunch up.

Play around with your figure window size, specifically the height in Q4, also consider ncol > 2 for + facet_wrap(~ Strategy, ncol = 2); and both width and height for Q8.

fig.width and fig.height can be added ```{r fig.width=x, fig.height=y}

{r Q4, fig.width=7, fig.height=10} # plot()

If figure size does not fix it, you could set your margins

# ggplot margins 
gg + theme(plot.margin = unit(c(t,r,b,l), "cm")) # replace t,r,b,l with appropriate values
# plot margins
par(mar=c(b,l,t,r)) # replace b,l,t,r with appropriate values
plot()
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download