[解決済み] 下段に凡例、上段にggplot2による2行の表示
2023-03-20 08:16:47
質問
library(ggplot2)
library(scales)
library(reshape2)
Rdates <- c("2007-01-31","2007-02-28","2007-03-30","2007-04-30","2007-05-31","2007-06-29","2007-07-31","2007-08-31","2007-09-28","2007-10-31")
Rdates <- as.Date(Rdates)
Cnames <- c("Column 1 Really Long","Column 2 Really Long","Column 3 Really Long","Column 4 Really Long","Column 5 Really Long","Column 6 Really Long","Column 7 Really Long","Column 8 Really Long","Column 9 Really Long","Column 10 Really Long")
MAINDF <- data.frame(replicate(10,runif(10,-0.03,0.03)))
rownames(MAINDF) <- Rdates
colnames(MAINDF) <- Cnames
CUSTOMpalette <- c("#1a2ffa", "#0d177d", "#1a9ffa", "#fa751a", "#4b8e12", "#6fd21b", "#fae51a", "#c3b104", "#f5df05", "#dcc805")
MAINDF[,"dates"] <- Rdates
MAINDF <- melt(MAINDF,id.vars="dates")
gg <- ggplot(MAINDF, aes(x = dates, y = value, fill = variable))
gg <- gg + geom_bar(stat = "identity")
gg <- gg + scale_x_date(breaks = "3 months", labels=date_format("%b%y"),limits=c(min(as.Date(MAINDF$dates)),max(as.Date(MAINDF$dates))))
gg <- gg + theme(
axis.text.x= element_text(color="black",angle=45, size=10, vjust=0.5),
axis.text.y= element_text(color="black", size=12, vjust=0.5),
axis.title.y = element_text(color="black",size=12, vjust=0.5),
plot.title = element_text(color="black",face="bold",size=14, hjust=0.5,vjust=1),
panel.background = element_blank(),
panel.border = element_rect(linetype = "solid", colour = "black",fill=NA),
legend.position="bottom",
legend.title = element_blank(),
legend.key = element_rect(fill="white"), legend.background = element_rect(fill=NA)
)
gg <- gg + xlab("") + ylab("Monthly Returns")
gg <- gg + ggtitle("Contribution by Strategy")
gg <- gg + scale_y_continuous(labels = percent_format())
gg <- gg + scale_fill_manual(values=CUSTOMpalette)
gg
現在、ggplot2の積み上げ棒グラフを設定しています。私は凡例で問題を持っていることを除いて、すべてが今正しく動作します。私はそれを底に置いたが、10個の項目があるので、いくつかはカットオフされます(フィットしない)。私は試してみました
guides(fill=guide_legend(nrow=2))
を試しましたが、これはラベルを異なる順序で配置します(私は最初の5つを横にして、最後の5つを下に取得したいです。何か提案はありますか?
どのように解決するのですか?
もう少しでしたね。最後の最後にこれを試してみてください。
gg+guides(fill=guide_legend(nrow=2,byrow=TRUE))
<イグ
関連
-
[解決済み] 文字列ベクトルを代入して、列名を持つ空のデータフレームを作成する?重複
-
[解決済み] Rでcは何をするのですか?重複] [重複
-
[解決済み] Matplotlib で凡例をプロットの外側に配置する方法
-
[解決済み] ggplot2 の軸ラベルを回転させ、間隔を空ける
-
[解決済み] Rで2つのグラフを同じプロットで表示する
-
[解決済み] データフレーム内のランダムな行をサンプリングする
-
[解決済み] ggplot2 を使って 2 つの変数を同じグラフに線でプロットする
-
[解決済み】私のggplot2構文が賢明であるときに、R CMDチェック「no visible binding for global variable」注記を処理するにはどうすればよいですか?
-
[解決済み] ggplot2 の折れ線グラフに凡例を追加する
-
[解決済み] ggplot2 の凡例を底辺と水平に配置する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
二項演算子への非数値引数を報告するR言語エラー
-
R言語です。「接続を開くことができません」解決策
-
8.2 カマグラ(No.31〜No.40)
-
R - よくあるエラーとその原因 - 注意事項
-
R LanguageError in hist.default() : 'x' は数値でなければなりません.
-
Rのexpand.grid()コマンド
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] 情報を損なわずに因数を整数値に変換するには?
-
[解決済み] 非常に大きなテーブルをデータフレームとして高速に読み込む
-
[解決済み】私のggplot2構文が賢明であるときに、R CMDチェック「no visible binding for global variable」注記を処理するにはどうすればよいですか?