线条图

Figure:matplotlib 的 figure 就是一个 单独的 figure 小窗口, 小窗口里面还可以有更多的小图片

x=np.arange(-3,3,0.1)
y1=np.sin(x)
y2=np.cos(x)

plt.figure()#创建第一个图形
plt.plot(x,y1)
plt.figure(num=100,figsize=(8,5))#创建第二个图形,num=100窗口名称就是Figure=100
plt.plot(x,y2)
plt.show()

颜色、标记和线型

1.允许输入多个x,y

x=np.arange(-3,3,0.1)

y1=np.sin(x)
y2=np.cos(x)
plt.plot(x,y1,x,y2)
plt.show()

2.如果只接收到一个值就默认为y值 ,而x默认为从0 到 n ,使用默认的线条样式和颜色

plt.plot([1,4,9,16])
plt.show()

3.颜色、标记和线形

linewidt:线的宽度
linestyle:线的形状 dashed表示虚线也可以用'--'代表 '-'代表实线
marker:坐标的形状
c:线的颜色
alpha:线的透明度
label:设置线条标签
&内容&:能正确显示内容的格式
x=[1,2,3,4]
y=[1,4,9,16]

plt.plot(x,y,linewidth=2,linestyle='dashaed',marker='o',c='r',alpha=0.5,label='y=$x^2$')
plt.show()

简写:'ro---'表示 r:红色 o:坐标点为o  --:虚线

x=[1,2,3,4]
y=[1,4,9,16]

plt.plot(x,y,'ro--')
plt.show()

刻度、标题、标签和图例

title:设置标题
xlabel:设置x轴名称
ylabel:设置y轴名称,fontsize=20设置字体大小
xlim:设置x轴范围
ylim:设置y轴范围(tricks的设置使xlim、ylim失效)
xticks:设置x轴刻度,后面可以加具体名称
ticks:设置y轴刻度,后面可以加具体名称
gca:获取坐标轴信息
ax.spines['top'].set_color('none'):设置上面坐标线的颜色,注意spines后面是[]
legened:生成图例 loc='upper right'可以设置位置
x1=[1,2,3]
y1=[5,6,7]
x2=[1,2,3]
y2=[10,14,12]

plt.plot(x1,y1,'ro--',label='First Line')
plt.plot(x2,y2,'b-',label='Second Line')
plt.title('进出口数据')
plt.xlabel('月份',fontsize=20)
plt.ylabel('年份')
plt.xlim(
1,3)
plt.ylim(0,
15)
plt.xticks([
1,2,3,4,5,6],[str(i)+'' for i in range(1,7)])
plt.yticks(np.arange(
1,15,3),['2011年','2012年','2013年','2014年','2015年'])
ax
=plt.gca()
ax.spines[
'right'].set_color('none')
ax.spines[
'top'].set_color('none')
plt.legend(loc
='lower right')
plt.show()

 

 

subplot:子图,figure对象下创建一个或多个subplot对象(即axes)用于绘制图像

221:表示将figure划分成4个后面的1表示第一个
212:表示将figure划分成3个后面的2表示第二个
plt.subplot(221)
plt.plot(x1,y1,'ro--')
plt.subplot(212)
plt.plot(x2,y2,'b-')
plt.show()

 

面向对象形式

np.random.randn:标准正太分布
cumsum:进行数组累加操作
fig=plt.figure()#获取figure对象
ax1=fig.add_subplot(221)#在figure上创建对象
ax2=fig.add_subplot(222)
ax3=fig.add_subplot(212)

plt.plot(np.random.randn(50).cumsum(),'g-')
plt.plot(np.random.randn(50).cumsum(),'r--')
plt.plot(np.random.randn(50).cumsum(),'y-')
plt.savefig('5.png')
plt.show()

 

nrows:行数
ncols:列数
sharex:共享x轴范围
sharey:共享y轴范围
fig.suptitle('test',fontsize=20):设置标题
fig,axes=plt.subplots(nrows=4,ncols=1,sharex=True,sharey=True)
fig.suptitle('test',fontsize=20) axes[0].plot(range(
10),'r') axes[1].plot(range(10),'g') axes[2].plot(range(10),'b') axes[3].plot(range(10),'y') plt.show()

循环画图

hist中color要全写不能用c代替
fig.subplots_adjust(wspace=0,hspace=0)调整子图距离
savefig:第一个参数输入保存图片的名字,第二个关于分辨率
fig,axes=plt.subplots(2,2)
for i in range(2):
    for j in range(2):
        axes[i,j].hist(np.random.randn(100),10,color='g',alpha=0.5)
fig.subplots_adjust(wspace=0,hspace=0)
plt.savefig('5.png',dpi=50)
plt.show()

 

 

 

adding:

1.解决中文显示问题 mpl.rcParams['font.sans-serif'] = ['SimHei']

                                mpl.rcParams['axes.unicode_minus'] = False

需要import matplotlib as mpl

2.设置在jupyter中matplotlib的显示情况 1.%matplotlib tk 在GUI中显示

                                                               2.%matplotlib inline 在行内显示

 

posted @ 2018-01-20 20:25  安公子  阅读(311)  评论(0编辑  收藏  举报