I have the following nibble:
library(tidyverse)
#> + ggplot2 2.2.1.9000 Date: 2017-06-23
#> + tibble 1.3.3 R: 3.3.2
#> + tidyr 0.6.3 GUI: X11
#> + readr 1.1.1 Locale: en_US.UTF-8
#> + purrr 0.2.2.2 TZ: Asia/Tokyo
#> + dplyr 0.7.0
#> + stringr 1.2.0
#> Conflicts -----------------------------------------------------------------
#> * filter(), from dplyr, masks stats::filter()
#> * lag(), from dplyr, masks stats::lag()
tbl <- structure(list(sample = c("Fx", "Vx"), nof_degs = c(6038L,
3606L)), .Names = c("sample", "nof_degs"), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -2L))
tbl
#> # A tibble: 2 x 2
#> sample nof_degs
#> <chr> <int>
#> 1 Fx 6038
#> 2 Vx 3606
With the following code:
library(ggthemes)
ggplot(tbl, aes(x=sample,y=nof_degs)) +
geom_histogram(position=position_dodge(0.01), colour="black", stat="identity", width=0.2) +
geom_rangeframe() +
theme_tufte() +
theme(axis.ticks.length = unit(7, "pt"))
As shown in the image below:
Let me know if this is close enough:
ggplot(df, aes(x=sample,y=nof_degs)) +
geom_histogram(position=position_dodge(0.01), colour="black",
stat="identity", width=0.8) +
geom_rangeframe(y=c(0, max(df$nof_degs))) +
theme_tufte() +
theme(axis.ticks.length = unit(5, "pt"))
Another option is with aspect.ratio
:
ggplot(df, aes(x=sample,y=nof_degs)) +
geom_histogram(position=position_dodge(2), colour="black",
stat="identity", width = 0.6) +
geom_rangeframe(y=c(0, max(df$nof_degs))) +
theme_tufte() +
theme(aspect.ratio = 2) +
theme(axis.ticks.length = unit(5, "pt"))
You can play around with width
and aspect.ratio
parameters to get a desired plot. For example width = 0.8
and aspect.ratio = 1.5
:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With