-3

rect グラフのカテゴリ値に応じて 2 つの異なる色を割り当てる方法はありますか??

rect(0, yb, Studies.sort,yt,col=("black","lightgray"[Area$"Theory"])

明らかに..これは間違っています.....

面積は、「理論」と「職業」という 2 つのカテゴリ変数で構成されます。

4

2 に答える 2

4

あなたは近かった、次の作品:

plot(1:10)
mydf <- data.frame( xl =1:5, yb=1:5, xr=2:6, yt=10:6, 
    group=sample( c('A','B'), 5, replace=TRUE) )
with(mydf, rect( xl, yb, xr, yt, col=c('black','grey')[group]) )

ここでのグループが因子であることが重要です (文字ベクトルだけではありません)。ただし、色の名前付きベクトル (グループ変数と一致する名前) を使用する場合は、文字ベクトルでも機能します。

于 2012-08-23T13:02:32.120 に答える
2

描画する色ごとに呼び出す必要がありrect、それらの色をデータ フレームのカテゴリ列に配置して、への呼び出しごとにカテゴリごとにデータをフィルタリングできるようにしますrect

元のデータがどのようなものかわかりませんので、似たようなものを次に示します。

# set up simple plotting window
plot.new()
plot.window(xlim=c(0,6),ylim=c(0,8))

# example data. Using colour as the categorical value we will filter on
sample.d <- data.frame(x=c(3,4,5,6), yb=c(1,3,5,7), yt=c(0,2,4,6),
colour=c("black","black","red","red"))

# draw black rectangles
black.d <- sample.d[sample.d$colour == "black",]
rect(0, black.d$yb, black.d$x, black.d$yt, col="black")

# draw red rectangles
red.d <- sample.d[sample.d$colour == "red",]
rect(0, red.d$yb, red.d$x, red.d$yt, col="red")
于 2012-08-23T12:34:55.060 に答える