0

私は現在、このRスクリプトを持っています:

library(ggplot2)

png("collatz-max-in-seq.png", width = 512, height = 800)

mydata = read.csv("../collatz-maxNumber.csv")

# Prepare data
p<-ggplot(mydata, aes(x=n, y=maximum))+ scale_y_continuous(formatter = "comma", limits = c(0, 100000))

p<-p + geom_point()
p<-p + opts(panel.background = theme_rect(fill='white', colour='white'))

# This will save the result in a pdf file called Rplots.pdf
p

dev.off()

collat​​z-maxNumber.csvで生成されます:

ここに画像の説明を入力

2 の累乗を持つすべての点を x 座標としてマークするにはどうすればよいですか?

そのようなチェックが不可能な場合は、マークする必要があるすべての x 値を含む別の csv ファイルを作成することもできます。x 値自体ではなく、ポイントをマークしたいことに注意してください。

4

1 に答える 1

0

これはうまくいくはずです。x値が 2 のべき乗であるかどうかに基づいて、色の美学の値を含む列を追加するだけです。この例では、「n」が 2 の累乗であるすべての行が値 2 を取り、それ以外の場合は 1 を取ります。

mydata$col <- ( sqrt(mydata$n) %% 1  == 0 ) + 1

次に、これを次のようにプロットできます

#  Plot
ggplot( mydata , aes( x = n ,  y = maximum , colour = factor(col) ) )+
  geom_point()+
  scale_y_continuous( formatter = "comma" , limits = c( 0, 100000 ) )

実際の例....

#  Sample data
mydata <- data.frame( n = rep(1:9,4) , y = sample( 20 , 36 , repl = TRUE ) )

#  Make the colour aesthetic
mydata$col <- ( sqrt(mydata$n) %% 1  == 0 ) + 1

#  Plot!
ggplot( mydata , aes( x = n ,  y = y , colour = factor(col) ) )+
geom_point( )

ここに画像の説明を入力

于 2013-05-17T08:54:58.923 に答える