使用Matplotlib绘制直线和散点图?

时间:2010-06-16 16:06:31

标签: python matplotlib

我现在正在使用matplotlib来尝试可视化我正在处理的一些数据。我试图在同一个图表上绘制大约6500点和y = x行,但这样做有些麻烦。我似乎只能得到要渲染的点而不是线本身。我知道matplotlib不会将方程式绘制为这样而只是一组点,因此我试图使用相同的点集合来生成x和y坐标。

以下是我的代码

from matplotlib import pyplot
import numpy
from pymongo import *

class Store(object):
    """docstring for Store"""
    def __init__(self):
        super(Store, self).__init__()
        c = Connection()
        ucd = c.ucd
        self.tweets = ucd.tweets

    def fetch(self):
        x = []
        y = []
        for t in self.tweets.find():
            x.append(t['positive'])
            y.append(t['negative'])
        return [x,y]

if __name__ == '__main__':
    c = Store()
    array = c.fetch()
    t = numpy.arange(0., 0.03, 1)

    pyplot.plot(array[0], array[1], 'ro', t, t, 'b--')
    pyplot.show()

任何建议都将不胜感激,

帕特里克

1 个答案:

答案 0 :(得分:3)

如果我错了,请纠正我(我不是matplotlib的专业人士),但是't'只会得到值[0。]。

t = numpy.arange(0.,0.03,1)

这意味着从0开始,到步长为1的0.03(不包括)。导致只包含0的数组。

在这种情况下,你只是在绘制一个点。制作一条线需要两个。