2017-05-08 18 views
0

ggplotlyにメインタイトルと凡例を配置する方法に問題があります。私はメインタイトルをグラフの一番上に置いて、左に揃えたい。また、私はここに私の伝説は、グラフggplotlyのメインタイトルと伝説。位置問題

の下部中央になりたい私のコード

library(ggplot2) 
library(dplyr) 
library(tidyr) 
library(plotly) 

Month_Names <- c("2010-11","2010-12", 
      "2011-01","2011-02","2011-03","2011-04","2011-05","2011-06","2011-07","2011-08","2011-09","2011-10","2011-11","2011-12", 
      "2012-01","2012-02","2012-03","2012-04","2012-05","2012-06","2012-07","2012-08","2012-09","2012-10","2012-11","2012-12", 
      "2013-01","2013-02","2013-03","2013-04","2013-05","2013-06","2013-07","2013-08","2013-09","2013-10","2013-11","2013-12", 
      "2014-01","2014-02","2014-03","2014-04","2014-05","2014-06","2014-07","2014-08","2014-09","2014-10","2014-11","2014-12", 
      "2015-01","2015-02","2015-03","2015-04","2015-05","2015-06","2015-07","2015-08","2015-09","2015-10","2015-11","2015-12", 
      "2016-01","2016-02","2016-03","2016-04","2016-05","2016-06","2016-07","2016-08","2016-09","2016-10","2016-11","2016-12", 
      "2017-01") 
Actual_volume <- c(54447,57156, 
       52033,49547,58718,53109,56488,60095,54683,60863,56692,55283,55504,56633, 
       53267,52587,54680,55569,60013,56985,59709,61281,54188,59832,56489,55819, 
       59295,52692,56663,59698,61232,57694,63111,60473,58984,64050,54957,63238, 
       59460,54430,58901,61088,60496,62984,66895,62720,65591,67815,58289,72002, 
       61054,60329,69283,68002,63196,72267,71058,69539,71379,70925,68704,76956, 
       65863,70494,77348,70214,74770,77480,69721,83034,76761,77927,79768,81836, 
       75381) 

df_data <- data.frame(Month_Names, Actual_volume) 

trendDateRange1 <- c("2010-11-01", "2017-01-31") 
trendDateRange2 <- c("2012-01-01", "2012-12-31") 
trendDateRange3 <- c("2013-01-01", "2013-12-31") 
numoftrends <- 3 

trends <- data_frame(Start = c("2010-11", "2012-01", "2013-01"), 
       End = c("2017-01", "2012-12", "2013-12")) 
combined_data <- df_data %>% 
       crossing(trends) %>% 
       mutate(Month_Names = as.character(Month_Names), 
TrendName = paste(Start, End, sep = "-")) %>% 
filter(Month_Names >= Start, 
    Month_Names <= End) 


p <- ggplot(combined_data, aes(Month_Names, y = Actual_volume, 
         group = TrendName, 
         color = TrendName)) + 
    geom_line() + 
    labs(x=" ",y=" ") + 
    labs(title = "New plot title") + 
    theme(plot.title = element_text(family = "Trebuchet MS", color="blue", 
         size=18, 
           margin = margin(10, 0, 10, 0)), 
    legend.position = "bottom", 
    legend.title = element_blank(), 
    axis.text.x = element_text(angle = 45, hjust = 1) 
) 

print(ggplotly(p)) 

答えて

2

である私は、タイトルの問題のための任意の解決策を見つけることができませんでした。伝説に関してこれがあなたを助けるかどうか見てください。

p <- ggplot(combined_data, aes(Month_Names, y = Actual_volume, 
          group = TrendName, 
          color = TrendName)) + 
    geom_line() + 
    labs(x=" ",y=" ") + 
    labs(title = "New plot title") + 
    theme(plot.title = element_text(family = "Trebuchet MS", color="blue", 
           size=18, 
           margin = margin(10, 0, 10, 0)), 
    legend.position = "bottom", 
    legend.title = element_blank(), 
    #axis.text.x = element_text(angle = 45, hjust = 1) 
    axis.text.x = element_blank(), 
    axis.ticks.x = element_blank() 
) 

ggplotly(p) %>% 
    layout(title = "New plot title", 
    #xaxis = list(showticklabels = FALSE), 
    legend = list(orientation = "h", 
        y = 0, x = 0)) 
+0

ありがとうございます。これを調べていただきありがとうございます。しかし、私はあなたのコードを実行すると、エラーが出てくる: "長さのエラー(x $注釈): 'x'はリストにする必要があります。私は何かに欠けていますか? – aotearoa

+0

私はこのエラーについて考えていません。あなたの環境をクリアし、 'filter(Month_Names> = Start、 Month_Names <= End)'になるまでコードの最初の部分を実行してから、私が投稿した部分を実行してください。 –

+0

私は何度か自分の環境をクリアして、提案して、私はまだこのエラーを取得しています。あなたはあなたのためにそれを実行しようとしましたか?私はこれをR Studio 1.0.136で実行しています。ありがとう – aotearoa