- import numpy as np
- import matplotlib.pyplot as plt
-
- x=np.linspace(0,10,1000)
- y=np.sin(x)
- z=cos(x^2)
-
- plt.figure(figsize=(8,4))
-
- plt.plot(x,y,label='$sin(x)$',color='red',linewidth=3)
-
- plt.plot(x,z,'g--',label='$cos(x^2)$',lw=3)
-
- plt.xlabel('Time(s)')
- plt.ylabel('volt')
- plt.title('First python firgure')
- plt.ylim(-1.2,1.2)
- plt.legend()
-
- plt.show()
我們調用numpy的方法sin() 和 cos()
用linspace()得到1000個點。
linspace (起點,終點,元素個數)
- <span style="font-size:14px;">plt.plot(x,y,label='$sin(x)$',color='red',linewidth=3)</span>
plot() 傳入點,標簽 和顏色
- plt.xlabel('Time(s)')
- plt.ylabel('volt')
傳入xy軸標簽
- plt.title('First python firgure')
- plt.ylim(-1.2,1.2)
設置圖片標題,和y軸范圍。
我們得到這樣的圖
畫散點圖是我們使用scatter()
- #-*-coding:utf-8-*
- import matplotlib
- import matplotlib.pyplot as plt
- import numpy as np
- def file2matrix(filename):
-
- fr = open(filename)
- arrayOLines = fr.readlines()
- numberOfLines = len(arrayOLines)
-
- returnMat = np.zeros((numberOfLines,2))
- classLabelVector = []
- index =0
- for line in arrayOLines:
- line = line.strip()
- listFormLine = line.split(' ')
- returnMat[index,:] = listFormLine[0:2]
- classLabelVector.append(int(listFormLine[-1]))
- index += 1
- return returnMat, classLabelVector
- matrix, labels = file2matrix('Train.txt')
- print matrix
- print labels
-
- plt.figure(figsize=(8, 5), dpi=80)
- axes = plt.subplot(111)
- type1_x = []
- type1_y = []
- type2_x = []
- type2_y = []
- print 'range(len(labels)):'
- print range(len(labels))
- for i in range(len(labels)):
- if labels[i] == 0:
- type1_x.append(matrix[i][0])
- type1_y.append(matrix[i][1])
- if labels[i] == 1:
- type2_x.append(matrix[i][0])
- type2_y.append(matrix[i][1])
- #print i, ':', labels[i], ':', type(labels[i])
- type1 = axes.scatter(type1_x, type1_y,s=40, c='red' )
- type2 = axes.scatter(type2_x, type2_y, s=40, c='green')
- W1 = 1.23924482
- W2 = 1.59913719
- B = -6.67130613
- x = np.linspace(-4,10,200)
- y = (-W1/W2)*x+(-B/W2)
- axes.plot(x,y,'b',lw=3)
- #plt.scatter(matrix[:, 0], matrix[:, 1], s=20 * numpy.array(labels),
- # c=50 * numpy.array(labels), marker='o',
- # label='test')
- plt.xlabel('x1')
- plt.ylabel('x2')
- axes.legend((type1, type2), ('0', '1'),loc=1)
- plt.show()
我們從Train.txt得到數據。我們得到了這樣的圖
|