我有以下简单的代码,试图在同一个图中显示三个图。我要求使用“线”功能的两个最后一个图表将不会显示,我在我的智慧结束。这是一个错误还是我做了一些愚蠢的事情?
解决方法,或者不使用“线”的方法也很受欢迎。
没有错误消息,但不会显示我要求的行(请参阅下面的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中以交互方式做同样的事情(更正确):
答案 0 :(得分:1)
您确定rpy2代码吗?两个提示:
rpy2产生的图和R图显示了相当不同的曲线形状。可能需要调查一下吗?
添加到代码中的下面两行确实是第二行。绝对值得检查您的x和y坐标在绘图区域内。
代码:
from rpy2.robjects.vectors import IntVector
r.lines(x, IntVector(y) - 500, col = "green")