1.基础
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
x=np.arange(0,5,0.1)
#print x
def func(x):
y=np.cos(2*np.pi*x)
return y
plt.plot(x,func(x),'r-.')
mpl.rcParams[u'font.sans-serif'] = ['simhei'] #设置中文字体为黑体
mpl.rcParams['axes.unicode_minus'] = False #这个用来正常显示负号
plt.title(u'余弦曲线图')
plt.xlabel(u'x值',fontsize=15)
plt.ylabel(u'y值',fontsize=15)
plt.grid(True) #网格
plt.show()
2.添加一些功能。
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
x=np.arange(0,5,0.01)
#print x
def func(x):
y=np.cos(2*np.pi*x)
return y
def func1(x):
y=np.sin(2*np.pi*x)
return y
def func2(x):
y=np.cos(2*np.pi*x)+np.sin(2*np.pi*x)
return y
plt.plot(x,func(x),'r-',label=u'余弦')
plt.plot(x,func1(x),'b-',label=u'正弦')
plt.plot(x,func2(x),'g-',label=u'正余弦')
plt.legend(loc='best') #指定每条线的label,然后调用legend()会自动显示图示
plt.axis([0,5,-1.5,1.5]) #注意加[],[xmin, xmax, ymin, ymax],可省略。
mpl.rcParams[u'font.sans-serif'] = ['simhei'] #设置中文字体为黑体
mpl.rcParams['axes.unicode_minus'] = False #这个用来正常显示负号
plt.title(u'余弦曲线图')
plt.xlabel(u'x值',fontsize=15)
plt.ylabel(u'y值',fontsize=15)
plt.grid(True) #网格
plt.savefig(u'正余弦图') #其中两个设置可以决定图片大小,figure size and the DPI 800*600
#plt.savefig(u'正余弦图',dpi=200) #其中两个设置可以决定图片大小,figure size and the DPI 1600*1200
mpl.rcParams['figure.figsize'] #默认[8.0,6.0]
mpl.rcParams['savefig.dpi'] #默认100
plt.show()
3.直方图。
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.rcParams[u'font.sans-serif'] = ['simhei'] #设置中文字体为黑体
mpl.rcParams['axes.unicode_minus'] = False #这个用来正常显示负号
x=np.random.randn(10000) #正态分布
plt.title(u'条形图分布')
plt.hist(x,20,density=1,color='g',alpha=0.8) #是横坐标的间隔 alpha 透明度 20:产生20个条,默认10
plt.show()
4.饼图
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.rcParams[u'font.sans-serif'] = ['simhei'] #设置中文字体为黑体
mpl.rcParams['axes.unicode_minus'] = False #这个用来正常显示负号
plt.figure(figsize=(4,4))
x=[40,20,10,30]
labels=['boy','girl','man','woman']
plt.title(u'饼图')
plt.pie(x,labels=labels)
plt.legend(loc='best')
plt.show()
高级饼图:
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.rcParams[u'font.sans-serif'] = ['simhei'] #设置中文字体为黑体
mpl.rcParams['axes.unicode_minus'] = False #这个用来正常显示负号
plt.figure(figsize=(4,4))
x=[40,20,10,30]
labels=['boy','girl','man','woman']
plt.title(u'饼图')
explode=[0,0,0.1,0.2] #0表示不离开原来位置。数字越大,离的越远。
plt.pie(x,labels=labels,explode=explode,autopct='%1.1f%%') #autopct 显示百分比
plt.legend(loc='best')
plt.show()
5.散点图
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.rcParams[u'font.sans-serif'] = ['simhei'] #设置中文字体为黑体
mpl.rcParams['axes.unicode_minus'] = False #这个用来正常显示负号
plt.figure(figsize=(4,4))
x=np.random.randn(1000)
y=np.random.randn(1000)
size=50*np.random.randn(1000)
color=np.random.rand(1000)
plt.scatter(x,y,s=size,c=color,marker='o')
plt.show()
6.添加文本信息和注释
7.子图
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.rcParams[u'font.sans-serif'] = ['simhei'] #设置中文字体为黑体
mpl.rcParams['axes.unicode_minus'] = False #这个用来正常显示负号
fig = plt.figure()
ax1 = fig.add_subplot(211)
ax1.plot([1, 2, 3], [1, 2, 3])
plt.title(u'图1')
ax2 = fig.add_subplot(212)
ax2.plot([1, 2, 3], [3, 2, 1])
plt.title(u'图2')
plt.show()
参考博客:https://blog.csdn.net/ouyangjianxiu/article/details/76299171