2017-11-20 20 views
0

ggplotの軸ラベルにRの特殊文字やギリシャ文字を挿入する方法については素晴らしい文書がたくさんありますが、凡例の色を軸のラベルに貼り付けるためのものは何も見つかりませんでした。私は少し複雑なx軸を持つグラフを作成しています。協力者は軸ラベルのテキストにという色付きの四角形を使用して軸を書式設定することをお勧めしましたので、どの軸ラベルがどのデータ系列。ここで凡例の色の四角形をrggplot軸のラベルに挿入

は、図の凡例は現在、次のようになります。

ここに[ORANGE SQUARE]シリーズ1

[BLUE SQUARE]シリーズ2

そして私はとx軸ラベルが欲しいものですそれはグラフィカルな操作のこの種を行うことは可能ですキロ[ORANGE SQUARE]またはキロメートル/年[BLUE SQUARE]

程度:ように見えますR、または他の画像処理ソフトウェアでこの種のラベルを作成する必要がありますか?ここで私が使用しているプロットのコードは、いくつかの偽のデータで、です:

SERIES1 <- as.data.frame(sample(1:100, 100, replace=TRUE)) %>% mutate(source="SERIES1") 
SERIES2 <- as.data.frame(sample(1:1000, 100, replace=TRUE)) %>% mutate(source="SERIES2") 
SERIES3 <- as.data.frame(sample(1:10000, 100, replace=TRUE)) %>% mutate(source="SERIES3") 
colnames(SERIES1) <- c("value","source") 
colnames(SERIES2) <- c("value","source") 
colnames(SERIES3) <- c("value","source") 
gg_df <- rbind(SERIES1, SERIES2, SERIES3) 

fig1A <- ggplot(gg_df) + 
    geom_density(alpha=0.5, size=0.2, aes(x=value, y=..scaled.., fill=factor(source, labels=c('SERIES1','SERIES2','SERIES3')))) + 
    scale_x_continuous(limits=c(0,16000), breaks=c(seq(0, 16000, by=2000))) + 
    labs(x='Extent (km) or (km/dec)',y='Density') + 
    theme_bw() + 
    theme(legend.position=c(0.8, 0.85), legend.title=element_blank()) + 
    scale_fill_brewer(type='qual',palette='Dark2') 

答えて

1

cowplotパッケージは

require(cowplot) 

最初ggplotsの上に注釈を付けるための素晴らしい機能を持っている、作るためにあなたのxラベルにスペースを追加しますあなたの正方形のためのデータフレーム含むxとyの位置を確認します

fig1A <- ggplot(gg_df) + 
    geom_density(alpha=0.5, size=0.2, aes(x=value, y=..scaled.., 
     fill=factor(source, labels=c('SERIES1','SERIES2','SERIES3')))) + 
    scale_x_continuous(limits=c(0,16000), breaks=c(seq(0, 16000, by=2000))) + 
    labs(x='Extent (km)  or (km/dec)  ',y='Density') + 
    theme_bw() + 
    theme(legend.position=c(0.8, 0.85), legend.title=element_blank()) + 
    scale_fill_brewer(type='qual',palette='Dark2') 

正方形の余地

squares <- data.frame(x = c(0.53, 0.75), y = c(0.017,0.017)) 

cowplotのggdraw関数を使用してグラフを描画し、その上に四角形を注釈します。 ggplotのannotategeom_rectと違って、プロット領域内の注釈だけが可能なので、cowplotを使って図のどこにでも注釈を付けることができます。あなたの四角形の位置は、プロットの左から右と下から上に行く0 - 1のスケールを使用して与えられます - グラフを保存するサイズに応じて数を調整する必要があります。

ggdraw(fig1A) + 
geom_rect(data = squares, aes(xmin = x, xmax = x + .02, 
          ymin = y, ymax = y + .02), 
     fill = c("orange", "blue")) 

resulting plot

関連する問題