使用Matplotlib绘制线和散点图?

0 投票
1 回答
2919 浏览
提问于 2025-04-16 00:03

我现在正在使用 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()

任何建议都非常感谢,

Patrick

1 个回答

3

如果我说错了请纠正我(我对matplotlib不是很专业),但是't'的值会是[0.]。

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

这意味着从0开始,到0.03(不包括0.03)结束,步长为1。结果就是一个只包含0的数组。

在这种情况下,你只是绘制了一个点。要画出一条线,至少需要两个点。

撰写回答