同じプロットに3つのグラフを表示しようとする次の簡単なコードがあります。「線」関数で要求する最後の2つのグラフは表示されず、私は気が遠くなります。これはバグですか、それとも私は愚かなことをしていますか?
回避策、または「行」を使用せずにこれを行う方法も高く評価されています。
エラーメッセージは表示されませんが、要求された行は表示されません(以下のr.lines()
呼び出しを参照)。
from rpy2.robjects import r
from rpy2.robjects.packages import importr
grdevices = importr('grDevices')
d = {0: {0: 5669, 800: 1001, 100: 2240, 200: 1606, 300: 1366, 400: 1236, 500: 1146, 600: 1083, 900: 964, 700: 1037}, 10: {0: 0, 800: 155, 100: 229, 200: 218, 300: 194, 400: 178, 500: 171, 600: 165, 900: 150, 700: 160}, 5: {0: 0, 800: 195, 100: 415, 200: 330, 300: 279, 400: 258, 500: 241, 600: 219, 900: 185, 700: 201}}
x = range(0,1000,100)
y = [d[0][i] for i in x]
z = [d[5][i] for i in x]
ae = [d[10][i] for i in x]
#grdevices.pdf(file = 'reads_per_slackvalue_and_cluster_size.pdf')
r.plot(x,y, main='Reads per slack value', xlab='slack value',ylab='number of reads', type='l', col='blue')
r.lines(x, z, col='red')
r.lines(x, ae, col='green')
#r.legend("topleft", ['0','5','10'], ['blue','red','green'])
#grdevices.dev_off()
show_image = raw_input()
結果は次のとおりです。
これは私がRでインタラクティブに同じことをすることです(より正確です):