2017-06-23 9 views
10

I mają następujące kęs:Jak przedłużenie osi X i osi Y i zmniejszenie różnic w ggthemes :: theme_tufte()


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 

następujące oznaczenia:

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")) 

Jak pokazano na rysunku poniżej

enter image description here

Odpowiedz

9

Daj mi znać, jeśli jest to na tyle blisko:

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")) 

enter image description here

Inną opcją jest z 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")) 

enter image description here

Możesz poeksperymentować z width i aspect.ratio Parametry, aby uzyskać pożądany wykres. Na przykład width = 0.8 i aspect.ratio = 1.5:

enter image description here

+1

dzięki miliona. Jak mogę ustawić cieńszy pasek (25% cieńszy?) – neversaint

+1

zmniejszyć "szerokość" do może "0.6"? – AK88

+1

Próbowałem 'geom_histogram (position = position_dodge (0.01), color =" black ", stat =" identity ", width = 0.2)', z twoim kodem. Zwiększa to ponownie lukę, której próbowałem uniknąć. – neversaint