python matplotlib学习(二)

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

猜你喜欢

转载自blog.csdn.net/nanxiaoting/article/details/80619331