2016-12-13 2 views
4

Я использую недавно добавленную функцию меток вторичной оси в ggplot2. Я хотел бы повернуть только вторичной оси, но не смог найти документацию или решить, как это сделать.Поворот текста меток вторичной оси

Его достаточно просто повернуть весь текст, используя ...

ggplot(mtcars, aes(x = wt, y = mpg, colour = mpg)) + 
    geom_point() + 
    scale_x_continuous(name = 'Bottom Axis', 
         sec.axis = sec_axis(trans = ~ ., 
              name = 'Top Axis', 
              breaks = c(2:5), 
              labels = c('Two Two', 'Three Three Three', 'Four Four Four Four', 'Five Five Five Five Five'))) + 
## Rotate text of x-axis 
    theme(axis.text.x = element_text(angle = 90)) 

Example dual Axis plot with both axes labels rotated Ее не упоминается ни в одном из документов я прочитал (например, scale_continuous и themes), как достичь вращение только по одной оси ,

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

ответ

4

Если вы работаете в последний dev version из ggplot2, вы можете использовать axis.text.x.top:

ggplot(mtcars, aes(x = wt, y = mpg, colour = mpg)) + 
    geom_point() + 
    scale_x_continuous(name = 'Bottom Axis', 
        sec.axis = sec_axis(trans = ~ ., 
             name = 'Top Axis', 
             breaks = c(2:5), 
             labels = c('Two Two', 'Three Three Three', 'Four Four Four Four', 'Five Five Five Five Five'))) + 
    ## Rotate text of x-axis 
    theme(axis.text.x.top= element_text(angle = 45, hjust = 0)) 

enter image description here

+0

Спасибо за лесоруб решение, я наткнулся, что час назад, и он прекрасно работает в этот упрощенный пример, но теперь я почесываю голову, почему он не работает с моими фактическими данными. Приятно знать, что я на правильном пути, но ура. – slackline

+0

Решенный вопрос о заказе, у меня была последующая '+ theme()' применимая к моему замыслу, которая очищала тему (axis.text.x.top = element_text (angle = 45, hjust = 0)) '(добавлено просто в случае, если кто-то еще забывает этот порядок, и последующие вызовы 'theme()' могут стереть предыдущие вызовы). – slackline

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