4

以下のggplotバープロットの凡例でクロスバーを削除するためにWEBで検索しています。しかし、成功しません。これを修正するのを手伝ってください。データ「temp」と私が使用しているコードについては、以下を参照してください。バーでパターンを使用する方法も教えてください。ありがとうございました。

temp:
    type    var value
    A   k1  20
    A   l1  30
    B   k1  10
    B   l1  15

    ggplot(temp,aes(type, value)) + geom_bar(stat="identity", aes(group=var, fill=type, facets=var),colour="blue1", position="identity") + facet_grid(.~var) + theme_bw()

ここに画像の説明を入力

4

1 に答える 1

7

私がこれを行う唯一の方法は、2 つのgeom_barレイヤーを作成することです。

ggplot(temp,aes(type, value)) + 
    geom_bar(stat="identity", aes(group=var, fill=type, facets=var),color = "blue1", position="identity",legend = "none") +
    geom_bar(stat="identity", aes(group=var, fill=type, facets=var), position="identity") +
    facet_grid(.~var) + 
    theme_bw()

ここに画像の説明を入力

少し推測すると、これが簡単ではない理由は、パッケージの作成者が設計上の決定として、凡例をレイヤーの内容と正確に一致させたいと考えているためだと思います。ほとんどの場合、この動作にかなり満足しているでしょうが、非常に便利なため、時折ぎこちなくなります。

于 2013-01-25T22:45:51.177 に答える