PyPlot不绘制图像

时间:2015-12-28 11:24:13

标签: python

我创建了以下测试代码,代码运行正常。但是这个情节在执行时不会出现。我错过了什么?我使用pyplot来创建绘图。当我使用plt.savefig(“test.png”)时,会创建并保存图表。

import numpy
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt
from studentRegression import studentReg
from class_vis import prettyPicture, output_image
from ages_net_worth import ageNetWorthData

ages_train, ages_test, net_worths_train, net_worth_test = ageNetWorthData()

plt.clf()
plt.scatter(ages_train, net_worths_train, color="b", label="train data")
plt.legend(loc=2)
plt.xlabel("ages")
plt.ylabel("net worths")
plt.show()


def ageNetWorthData():

    random.seed(42)
    numpy.random.seed(42)

    ages = []
    for ii in range(100):
        ages.append( random.randint(20,65) )
    net_worths = [ii * 6.25 + numpy.random.normal(scale=40.) for ii in ages]
### need massage list into a 2d numpy array to get it to work in LinearRegression
    ages       = numpy.reshape( numpy.array(ages), (len(ages), 1))
    net_worths = numpy.reshape( numpy.array(net_worths), (len(net_worths), 1))

    from sklearn.cross_validation import train_test_split
    ages_train, ages_test, net_worths_train, net_worths_test = train_test_split(ages, net_worths)

    return ages_train, ages_test, net_worths_train, net_worths_test

1 个答案:

答案 0 :(得分:3)

您正在使用“非交互式”后端(agg)。只需删除该行:

matplotlib.use('agg')

您可以查看文档here