3

X値、Y値、およびそれらに対応する16進(#RRGGBB)値の3つの列を持つCSVファイルがあります。私は、16進値に従って色付けされたバブルの内部を使用して、スキャッター/バブルプロットを作成しようとしています。

symbols(year, logtrans, circles=size, inches=0.05, bg=intel2$HexLogClock)

intel2$HexLogClockには16進値が含まれています。

noobの質問で再度申し訳ありませんが、助けていただければ幸いです。

4

3 に答える 3

8

あなたの問題は、16進値が文字ではないことにあるのではないかと思います。それらが最初であることを確認してください。以下の例を参照してください。

year <- 1:5
logtrans <- log(year)
size <- rep(15,5)
intel2 <- data.frame(HexLogClock=c("#330000", "#FFFFCC", "#660000", "#FF0000", "#00FF00"),stringsAsFactors=FALSE)
symbols(year, logtrans, circles=size, inches=0.05, bg=intel2$HexLogClock)

キャラクターデータがファクターに変換されないようにするためにstringsAsFactors=FALSE指定できるコードやその他のインポートメソッドに注目してください。read.csv

次を使用して、データに対してこれを行うことができます。

intel2$HexLogClock <- as.character(intel2$HexLogClock)
于 2012-04-20T00:19:39.867 に答える
2

intel2$HexLogClockとして保存されていると思いfactorます。でこれを確認しclass(intel2$HexLogClock)ます。この場合、因子の各レベルは整数 (因子レベルの最初の発生順序に基づいて割り当てられる) で表されるため、最初のHexLogClock色は黒 (1 = 黒)、次に赤、緑、青、シアンなど。

これを修正するintel2$HexLogClockには、次のように文字ベクトルに変換する必要があります。

intel2$HexLogClock <- as.character(intel2$HexLogClock)

その後、コマンドは期待どおりに機能するはずです。

または:

symbols(year, logtrans, circles=size, inches=0.05, 
        bg=as.character(intel2$HexLogClock))
于 2012-04-20T00:29:32.113 に答える
1

私は誤解していると思います。もしそうなら教えてください。ただし、次のように16進数の値を指定できますcol

barplot(1:3, axes=FALSE, col=c("#330000", "#FFFFCC", "660000"))
于 2012-04-20T00:05:57.007 に答える