2016-03-27 1 views
1

Я относительно новичок в R, и я пытаюсь сделать сюжет пузыря, увлекательный! Большинство из них работает, за исключением того, я, кажется, не быть в состоянии сделать две вещи:scale_y_discrete в области пузыря: как изменить шрифт меток оси?

  1. изменить размер шрифта метки оси
  2. изменить положение двух легенд

Переменные (datasheet):

ycode = 4 категории, которые я дал число (1-3;7-9;13-15;19-21), чтобы позволить некоторое расстояние по оси у

я применил некоторое дрожание этого переменный, чтобы вытащить пузырьки друг из друга

staging = 15 областей мозга, которые имеют номера в порядке, что я хочу, чтобы они появлялись на оси Х Group = 4 groups

Это код:

bub$jitTau <- jitter(as.numeric(factor(bub$ycode))) 

gp <- ggplot(data = bub, aes(x = bub$staging, y = bub$ycode, 
          size = bub$sample_size, color = bub$Group)) + 
    geom_point(data = bub, aes(x = bub$conc_area, y = bub$jitTau, 
           size = bub$sample_size, color = bub$Group) + 
    theme_classic(base_size = 35)) 

gp <- gp + scale_size(range = c(5, 35), name = "Sample size") + 
    scale_y_discrete(breaks = c(3, 8, 13, 19), 
        labels = c("p-tau/abeta", "t-tau/abeta", "p-tau", "t-tau")) + 
    labs(x = "Brain Regions", y = "CSF measures") + 
    scale_x_discrete(breaks = 1:15, labels = c("EC", "Hipp", "PHG", "Amyg", "ITG", 
               "Fusiform", "MTG", "STG", "Lat parietal", 
               "PCC", "Precuneus", "Frontal", "Striatum", 
               "Thalamus", "Occipital"), 
        limits = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)) + 
    geom_hline(yintercept = c(5, 11, 17, 22), colour = "grey") + 
    scale_colour_manual(name = "Group", breaks = c("All", "HC", "MCI", "AD"), 
         values = c("#333333", "#006600", "Blue", "Red")) + 
    guides(colour = guide_legend(override.aes = list(size = 18))) + 
    theme(axis.title.x = element_text(size = 30), 
      axis.title.y = element_text(size = 20), 
      axis.text = element_text(size = 16)) + 
    theme_classic(base_size = 35) 

gp 

Я попробовал несколько вещей с theme(axis.text.x = element_text(size = 18)), но R не реагирует на него. Я также попытался изменить положение легенды (legend.position), но никаких изменений не произошло.

Любые предложения?

+1

Вы можете включать в свой набор данных (с помощью dput()) в вашем посте. Мы не можем тестировать ваш код без данных! – MLavoie

+0

Есть много факторов, поэтому не уверен, что это работает .. но я сделал его фотографию, и вот несколько строк: – user6121484

+0

Тангенция: [надстройка для ggplot] (https://github.com)/calligross/ggthemeassist) - это мило. – alistaire

ответ

2

Без данных невозможно воспроизвести точную проблему, но похоже, что вы на правильном пути. Ваша установка должна выглядеть примерно так:

ggplot(iris, aes(x = Petal.Length, y = Petal.Width, colour = Species)) + 
    geom_point() + 
    theme_classic() + 
    theme(text = element_text(size = 15, family = 'Garamond'), 
      legend.position = 'bottom', 
      legend.direction = 'horizontal') 

themed plot

Я думаю, что прищурив свои усилия в том, что вы кладете theme_classicпосле вашей конкретной theme. Если у вас конфликтующие значения, то, что добавлено последним, - это то, что получается на графике. Например, если я использую точный код, приведенный выше, но двигаться theme_classic до конца, я получаю

theme_classic plot

Смежные вопросы