8

私はRとggplotにかなり慣れていません。

2 つの変数でソートされた箱ひげ図を生成しようとしています。私の場合、種と実験。今まで使って得たもの

ggplot(DF, aes(Species, Protein, fill=Experiment, dodge=Experiment)) +
    stat_boxplot(geom ='errorbar')+
    geom_boxplot()

私の種の箱ひげ図であり、各種には実験ごとに1つずつ、2つのバーがあります。

私の質問は、この方法で色を変更することは可能ですか?種ごとに異なる色を持ち、実験のためにそれらの色の異なる陰影を言うことができますか?

たとえば、最初の種には濃い青と薄い青のバーがあり、2 番目の種には濃い緑と薄い緑のバーが表示されます。

データは csv ファイル形式で、次のようになります。

Experiment,Species,Protein
Spring,D_strigosa,5.107767364
Spring,D_strigosa,8.288980741
Spring,D_strigosa,7.537376567
Spring,D_strigosa,4.811744241
Spring,D_strigosa,9.559043454
Spring,M_cavernosa,13.66759289
Spring,M_cavernosa,23.54880195
Spring,M_cavernosa,11.00790037
Spring,M_cavernosa,13.70597973
Spring,M_cavernosa,12.26970906
Spring,M_faveolata,9.559043454
Spring,M_faveolata,4.135860474
Spring,M_faveolata,4.557306615
Spring,M_faveolata,7.621872315
Spring,M_faveolata,6.016859956
Spring,M_annularis,6.294920733
Spring,M_annularis,5.163371831
Spring,M_annularis,2.177243143
Spring,M_annularis,3.55966551
Autumn,D_strigosa,3.709978392
Autumn,D_strigosa,7.192777836
Autumn,D_strigosa,5.31544441
Autumn,D_strigosa,6.578602058
Autumn,D_strigosa,5.610085559
Autumn,M_cavernosa,11.64182554
Autumn,M_cavernosa,10.44968102
Autumn,M_cavernosa,9.377389318
Autumn,M_cavernosa,10.99346107
Autumn,M_cavernosa,11.5676896
Autumn,M_faveolata,4.638054165
Autumn,M_faveolata,7.191664953
Autumn,M_faveolata,6.981827102
Autumn,M_faveolata,6.386452477
Autumn,M_annularis,4.709770404
Autumn,M_annularis,3.554071459
Autumn,M_annularis,4.596686351
Autumn,M_annularis,3.530585628
4

1 に答える 1

15

interaction()forを使用し、とinsideのfill=両方を提供する必要があります。次に、必要な色を設定できます(色の数は箱ひげ図の数に対応します)。色の順序は、最初にin の色、次にinの色です。SpeciesExperimentinteraction()scale_fill_manual()values=SpeciesAutumnSpeciesSpring

ggplot(DF, aes(Species, Protein, fill=interaction(Species,Experiment), dodge=Experiment)) +
  stat_boxplot(geom ='errorbar')+
  geom_boxplot()+
  scale_fill_manual(values=c("blue","green","red","cyan",
             + "darkblue","darkgreen","darkred","darkcyan"))

ここに画像の説明を入力

于 2013-04-16T05:11:14.953 に答える