如何在python中使用rpy2绘制散点图?

时间:2013-05-17 10:17:09

标签: python-2.7 rpy2

我有一个像字典格式的数据集,

data={'a': [10, 11,12,5,4,3,1], 'b': [7, 18,5,11,9,2,0]} 

我们如何使用rpy2在python中制作散点图?其中x轴是月,y轴是5的多个?我们需要用上面的值绘制图形,其中a和b是数据点

Months should be based on the length of each key i.e for the above data we have 7 months since we have 7 data points

1 个答案:

答案 0 :(得分:0)

这是一个非常复杂的数据结构,并且在绘图方面你还没有完全清楚你想做什么。这里有一些提示,但是如果你发布你尝试但没有工作过的代码,最简单的方法就是帮助你。

R plot函数采用对应于x轴值(月,这里)和y轴值(频率?)的两个向量。您需要浏览graph_data字典并计算每个月要绘制的y轴值,然后为包含月份数的x创建相应的向量。例如:

x = [1,2,3,4]
y = [0.7, 0.9, 0.2, 0.4]

要从rpy2进行绘图,您需要将列表转换为这样的矢量:

from rpy2 import robjects
x_vector = robjects.IntVector(x)
y_vector = robjects.FloatVector(y)

然后进行绘图:

robjects.r.plot(x_vector, y_vector, xlab="month", ylab="freq", main="")