lsm-boke

1.3Matplotlib速成

matplotlib是python中著名的2D绘图库,使用方法比较简单,按照以下三步操作就能很简单地完成绘图。 (1)调用plot(),scatter()等方法,并为绘图填充数据,数据是numpy的ndarray类型对象; (2)设定数据标签,使用xlabel()、ylabel()等方法 (3)展示绘图的结果,使用show()方法。

1.3.1绘制线条图

import matplotlib.pyplot as plt
import numpy as np
X = np.linspace(0,2*np.pi,100)
Y = np.sin(X)
plt.plot(X,Y,\'b\')
#plt.plot(X,Y,\'rs\')
#plt.plot(X,Y,\'g^\')
plt.xlabel(\'x\')
plt.ylabel(\'sin(x)\')
plt.title(\'the curve of sin\')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
X = np.linspace(0,2*np.pi,100)
Y1 = np.sin(X)
Y2 = np.cos(X)
plt.plot(X,Y1,\'b\')
plt.plot(X,Y2,\'r\')
plt.axis([0,2*np.pi,-1,1])
#plt.plot(X,Y,\'g^\')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
X = np.linspace(0,2*np.pi,100)
Y1 = np.sin(X)
Y2 = np.cos(X)
plt.plot(X,Y1,\'b\',label=\'sin(x)\')
plt.plot(X,Y2,\'r\',label=\'cos(x)\')
plt.axis([0,2*np.pi,-1,1])
plt.legend(loc=\'best\')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
X = np.linspace(0,2*np.pi,100)
Y1 = np.sin(X)
Y2 = np.cos(X)
plt.subplot(211)
plt.plot(X,Y1,\'b\',label=\'sin(x)\')
plt.axis([0,2*np.pi,-1,1])
plt.subplot(212)
plt.plot(X,Y2,\'r\',label=\'cos(x)\')
plt.axis([0,2*np.pi,-1,1])
plt.show()

1.3.2散点图

import matplotlib.pyplot as plt
import numpy as np
X = np.linspace(0,6.28,100)
Y = np.sin(X)
plt.scatter(X,Y,c=\'red\',marker=\'o\')
#plt.plot(X,Y,\'rs\')
#plt.plot(X,Y,\'g^\')
plt.xlabel(\'x\')
plt.ylabel(\'sin(x)\')
plt.title(\'the curve of sin\')
plt.show()

1.3.3直方图

import matplotlib.pyplot as plt
import numpy as np
data = np.random.randn(10000)
plt.hist(data,bins=30)
# 显示横轴标签
plt.xlabel("area")
# 显示纵轴标签
plt.ylabel("frequency")
# 显示图标题
plt.title("histgram")
plt.show()

1.3.4 饼图

labels = \'A\',\'B\',\'C\',\'D\'
sizes = [10,20,10,60]
plt.pie(sizes,labels=labels,explode = (0,0.1,0,0),autopct=\'%1.1f\')
plt.show()

1.3.5雷达图

import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams[\'font.family\']=\'SimHei\'
matplotlib.rcParams[\'font.sans-serif\']=[\'SimHei\']
labels=np.array([\'综合\',\'第一周\',\'第二周\',\'第三周\',\'第四周\',\'第五周\'])
nAttr=6
Python=np.array([88.7,85,90,95,70,96])
angles=np.linspace(0,2*np.pi,nAttr,endpoint=False)
Python=np.concatenate((Python,[Python[0]]))
angles=np.concatenate((angles,[angles[0]]))
fig=plt.figure(facecolor="white")
plt.subplot(111,polar=True)
plt.plot(angles,Python,\'bo-\',color=\'g\',linewidth=2)
plt.fill(angles,Python,facecolor=\'g\',alpha=0.2)
plt.thetagrids(angles*180/np.pi,labels)
plt.figtext(0.52,0.95,\'python成绩分析图\',ha=\'center\')
plt.grid(True)
plt.savefig(\'dota_radar.JPG\')
plt.show()

分类:

技术点:

相关文章: