2017-02-19 12 views
0

私は次のコードで図を作成しましたが、私のデータポイントにはエラーバーが含まれていないことが最近気付いたので、このコードを書き留めてから数ヶ月後に改訂します。今回はggplot2のアップデートがありましたが、修正する方法がわからないエラーがコード内で発生しました。これらは以下に詳述されています。ggplot2の更新以来の問題

私のコードは次のとおりです。私はこれを実行すると、私はコードp13 <- ggdraw(switch_axis_position(p4, axis = 'x'))

の最後の行に来るまで、すべては大丈夫走る

p1 <- ggplot(dat3A, aes(x = d15N, y = Depth)) 

p4 <- p1 + 
    geom_point(size = 1) + 
    geom_path() + 
    scale_y_continuous(expand = c(0, 0), limits = c(15,0), trans = "reverse") + 
    scale_x_continuous(expand = c(0, 0), limits = c(0,20)) + 
    labs(x=expression(paste(delta^'15', N[NO3],('\u2030'))), y='Depth (cm)') + 
    theme_bw() + 
    theme(axis.line = element_line(colour = "black"), 
     panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(),  
     panel.border = element_blank(), 
     panel.background = element_blank()) + 
    geom_errorbarh(aes(xmax=d15N+d15NError, xmin=d15N-d15NError))+ 
    ggtitle("d") + 
    theme(plot.title = element_text(hjust = 0, size=8))+ 
    theme(axis.text = element_text(size=6), axis.title=element_text(size=8)) 
p13 <- ggdraw(switch_axis_position(p4, axis = 'x')) 

その後、私は次のエラーを取得:

エラーgt $ grobs [[ixl]]:1つ未満の要素を選択しようとしています。 追加:警告メッセージ:1:panel.marginは非推奨です。 代わりにpanel.spacingプロパティを使用してください2: 値が含まれている1行が削除されました(geom_errorbarh)。

私は経験豊富なコーダーではないので、これらのエラーを解決する方法は不明です。私は自分のコードでpanel.marginを使用しないので、これをpanel.spacingに変更する方法がわかりません。誰もがこれに加えてgt$grobs[[ixl]]エラーと私は本当に感謝してエラーに助けを提供することができます!

答えて

0

cowplotビネットから:ggplot2 2.2.0のよう

、パッケージは現在、ネイティブのプロットのいずれかの側の二軸 と軸をサポートしています。したがって、常にの醜いハックと維持が困難だったので、cowplotの機能 switch_axis_position()は推奨されていません。

実際にggplot2にはcoord_flipという機能が追加されました。 switch_axis_position(p4, axis = 'x')+ scale_x_continuous(position = 'right')

に置き換えられました。おそらく、グラフの構成を少しきちんと整理したいと思うかもしれません。

p13 <- ggplot(dat3A, aes(x = d15N, y = Depth)) + 
    geom_point(size = 1) + 
    geom_path() + 
    geom_errorbar(aes(xmax = d15N + d15NError, xmin = d15N - d15NError)) + 
    scale_y_continuous(expand = c(0, 0), limits = c(15,0), trans = "reverse") + 
    scale_x_continuous(expand = c(0, 0), limits = c(0,20), position = 'right') + 
    labs(x=expression(paste(delta^'15', N[NO3], ('\u2030'))), y = 'Depth (cm)') + 
    ggtitle("d") + 
    theme_bw() + 
    theme(axis.line = element_line(colour = "black"), 
     panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(),  
     panel.border = element_blank(), 
     panel.background = element_blank(), 
     plot.title = element_text(hjust = 0, size=8), 
     axis.text = element_text(size=6), 
     axis.title=element_text(size=8)) 
+0

'geom_errorbarh'は、' ggstance'パッカーからの水平ギオムです。 OPがそのパッケージを使用していたかどうかは明らかではありませんが、誤植ではない可能性があります。 – eipi10

+0

それを知らなかった、ありがとう – GGamba

+0

助けてくれてありがとう!それは私のすべての問題を整理しました!私はgeom_errorbarhを使用しようとしていましたが、これはggplot2からわかっています。 – SoCo