2017-06-28 18 views
0

我已經通過相關的問題進行了搜索,大多數人說後端有問題。我檢查過是否有任何matplotlib可以在我的筆記本電腦上使用的GUI庫。即使在嘗試替換代碼中的後端之後,也沒有任何東西彈出。有沒有辦法永久切換後端或在代碼中以一種有效的方式改變它。我使用python 3.6和IDLE。Matlibplot沒有打開任何圖形或窗口

import numpy 
import matplotlib.pyplot as pp 

pp.rcParams["backend"] = "Qt4Agg" 
import sys 

m1=float(input("m1:")) 
m2=float(input("m2:")) 
data=[[3,1.5,1], 
     [2,1,0], 
     [4,1.5,1], 
     [3,1,0], 
     [3.5,.5,0], 
     [2,.5,0], 
     [5.5,1,1], 
     [1,1,0]] 
unkknown=[4.5,1] 
#Net 
w1=numpy.random.randn() 
w2=numpy.random.randn() 
b=numpy.random.randn() 
T=numpy.linspace(-5,5,10) 
def sigmoid(x): 
    return 1/(1+numpy.exp(-x)) 
Y=sigmoid(T) 
pp.plot(T,Y) 
def cost(b): 
    return (b-4)**4 
def slope(b): 
    return 2*(b-4) 
def NN(m1,m2,w1,w2,b): 
    z=m1*w1+w2*m1+b 
    return sigmoid(z) 

b=b-.1*slope(b) 

print(NN(m1,m2,w1,w2,b)) 
pp.plot(T,Y) 
pp.show 
+3

它應該是'pp.show()',而不是'pp.show'。 – Munir

回答

0

你必須在show之後加上括號。

enter image description here

以防萬一,我修改後的代碼有點

import numpy 
import matplotlib.pyplot as pp 
import sys 

def cost(b): 
    return (b-4)**4 

def slope(b): 
    return 2*(b-4) 

def NN(m1,m2,w1,w2,b): 
    z=m1*w1+w2*m1+b 
    return sigmoid(z) 

def sigmoid(x): 
    return 1/(1+numpy.exp(-x)) 

m1=float(input("m1:")) 
m2=float(input("m2:")) 

data=[[3,1.5,1], 
     [2,1,0], 
     [4,1.5,1], 
     [3,1,0], 
     [3.5,.5,0], 
     [2,.5,0], 
     [5.5,1,1], 
     [1,1,0]] 

unkknown=[4.5,1] 
#Net 
w1=numpy.random.randn() 
w2=numpy.random.randn() 
b=numpy.random.randn() 
T=numpy.linspace(-5,5,10) 
Y=sigmoid(T) 

b=b -.1 * slope(b) 

print(NN(m1,m2,w1,w2,b)) 
pp.plot(T,Y) 
pp.show() 
0
pp.show() 

的伎倆,因爲我們調用的函數。