-2

私はRを始めたばかりで、バープロットで立ち往生しています。変数に基づいて色が選択される積み上げ棒グラフを作成したいと考えています。

私のデータは次のようになります。

厚み
ポイント 3 ポイント 5 ポイント 6 ポイント 7 ポイント 8 ポイント 9 ポイント 11
レイヤー1 25 20 90 80 100 45 75
レイヤー2 5 20 0 0 0 70 0
レイヤー3 80 5 0 0 0 0

タイプ
ポイント 3 ポイント 5 ポイント 6 ポイント 7 ポイント 8 ポイント 9 ポイント 11
レイヤー 1 4 3 3 3 3 3 3
レイヤー 2 5 5 6 6 6 5 6
レイヤー 3 4 3 6 6 6 6 6

各ポイントには、AL互いに積み重ねる必要のある太さの数があり、タイプAL_colは積み重ねられたバーに必要な色を示します。

私のスクリプト:

col1<-c("green","brown","purple","black","yellow", "white")
barplot(Thickness, col=col1[Type])

ありがとう!

編集

もう少し詳しく説明します。10,000 の場所があります。これらはポイントです (例として、ポイント 3、5、6、7、8、9、11 の上にあります)。これらの場所は 3 つのレイヤーで構成できます。層は厚さと材料の種類が異なります。私がやろうとしているのは、各ポイントに対して、各レイヤーの厚さがわかる積み重ねられたバープロットがあることです。そして、配色を使用したい素材の種類を確認します。ポイントごとに異なります。

4

2 に答える 2

1

ベースRグラフィックスではなく、おそらく使用しますggplot

library(ggplot)

AL <- data.frame(point = c(3, 5, 6, 7, 8, 9, 11), layer1 = c(1, 25, 20, 90, 80, 100, 45),
                 layer2 = c(5, 20, 0, 0, 0, 70, 0), layer3 = c(80, 5, 0, 0, 0, 0, 0))
AL.m <- melt(AL, id.vars = "point")

col1<-c("green","brown","purple","black","yellow", "white")
barplot(AL, col=col1[AL_col])

ggplot(AL.m, aes(x = point, y = value, fill = variable)) + geom_bar(stat = "identity", position = "stack") +
  scale_fill_manual(values = col1)

ここに画像の説明を入力

EDIT after COMMENT レイヤーが 3 つしかないため、col1 の最初の 3 色のみが使用されます。あなたが探している別の配色スキームは私には明らかではありません.

于 2015-02-24T13:30:02.573 に答える