Python PyPlot不打印图像

Python PyPlot不打印图像,python,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 prettyPictur

我创建了以下测试代码,代码运行良好。但执行时不会显示该绘图。我错过什么了吗?我使用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
您正在使用“非交互式”后端(agg)。只需删除该行:

matplotlib.use('agg')

您可以检查文档。

显示的
ageNetWorthData()
是在文件
ages\u net\u worth
中还是与绘图代码在同一文件中?