想要改变世界,就得先改变自己。 ------ 博客首页

4-1 Matplotlib 概述

 

Matplotlib概述

In [1]:
import numpy as np
import matplotlib.pyplot as plt #pyplot是matplotlib的画图的接口
 

%matplotlib inline 魔法指令,作用:省略之后的plt.show()的步骤

In [3]:
%matplotlib inline 
 

1.基本画图

In [6]:
plt.plot([1,2,3,4,5],[1,4,9,16,25])#折线图,取值范围会自动设置
plt.xlabel('xlable',fontsize=16)#添加x轴lable,fontsize=16是字体大小设置
plt.ylabel('ylable')#添加y轴lable
Out[6]:
Text(0, 0.5, 'ylable')
 
 

2.画图属性的设置和合并多个线条画图方式

常用的线条样式和颜色:

字符描述
'-' 实线样式
'--' 短横线样式
'-.' 点划线样式
':' 虚线样式
'.' 点标记
',' 像素标记
'o' 圆标记
'v' 倒三角标记
'^' 正三角标记
'<' 左三角标记
'>' 右三角标记
'1' 下箭头标记
'2' 上箭头标记
'3' 左箭头标记
'4' 右箭头标记
's' 正方形标记
'p' 五边形标记
'*' 星形标记
'h' 六边形标记 1
'H' 六边形标记 2
'+' 加号标记
'x' X 标记
'D' 菱形标记
'd' 窄菱形标记
'|' 竖直线标记

以下是颜色的缩写:

字符颜色
'b' 蓝色
'g' 绿色
'r' 红色
'c' 青色
'm' 品红色
'y' 黄色
'k' 黑色
'w' 白色
 

2-1 指定线条样式和颜色

In [8]:
plt.plot([1,2,3,4,5],[1,4,9,16,25],':',color='r')#':'是线条样式,color='r'是颜色指定
plt.xlabel('xlable',fontsize=16)
plt.ylabel('ylable',fontsize=16)
Out[8]:
Text(0, 0.5, 'ylable')
 
In [10]:
plt.plot([1,2,3,4,5],[1,4,9,16,25],'r-.')#'r-.'可以合并写线条样式和颜色
plt.xlabel('xlable',fontsize=16)
plt.ylabel('ylable',fontsize=16)
Out[10]:
Text(0, 0.5, 'ylable')
 
In [16]:
tang_numpy=np.arange(0,10,0.5)
plt.plot(tang_numpy,tang_numpy,'r-.')#一次方
plt.plot(tang_numpy,tang_numpy**2,'bs')#二次方
plt.plot(tang_numpy,tang_numpy**3,'yo')#三次方
Out[16]:
[<matplotlib.lines.Line2D at 0x16bb69e8>]
 
In [17]:
tang_numpy=np.arange(0,10,0.5)
plt.plot(tang_numpy,tang_numpy,'r-.',
        tang_numpy,tang_numpy**2,'bs',
        tang_numpy,tang_numpy**3,'yo')#合并所有要画的图
Out[17]:
[<matplotlib.lines.Line2D at 0x16b84d68>,
 <matplotlib.lines.Line2D at 0x16b84eb8>,
 <matplotlib.lines.Line2D at 0x16b84ac8>]
 
 

2-2指定线条宽度linewidth

In [24]:
x=np.linspace(-10,10)
y=np.sin(x)
plt.plot(x,y,linewidth=3)
Out[24]:
[<matplotlib.lines.Line2D at 0x1704cc88>]
 
 

2-3 其他绘图属性

  • linestyle=':',marker='o'|指定线条样式和函数里的标志样式
  • markerfacecolor='r',markersize='10'|指定标志的颜色和大小
In [29]:
plt.plot(x,y,color='b',linestyle=':',marker='o',markerfacecolor='r',markersize='10')
Out[29]:
[<matplotlib.lines.Line2D at 0x16a51160>]
 
 

2-4 设置透明度:alpha:0-1,从透明到不透明

In [39]:
line=plt.plot(x,y)#先画图
plt.setp(line,color='r',linewidth=2.0,alpha=0.3)#再设置属性
Out[39]:
[None, None, None]
 
 

3.画子图

3-1画各种子图

In [41]:
plt.subplot(211)#两行一列的一个子图
plt.plot(x,y,color='r')
plt.subplot(212)#两行一列的二个子图
plt.plot(x,y,color='b')
Out[41]:
[<matplotlib.lines.Line2D at 0x18ebd828>]
 
In [42]:
plt.subplot(121)#一行两列的一个子图
plt.plot(x,y,color='r')
plt.subplot(122)#一行两列的二个子图
plt.plot(x,y,color='b')
Out[42]:
[<matplotlib.lines.Line2D at 0x190b4ba8>]
 
In [43]:
plt.subplot(321)
plt.plot(x,y,color='r')
plt.subplot(324)
plt.plot(x,y,color='b')
Out[43]:
[<matplotlib.lines.Line2D at 0x191ab390>]
 
 

3-2 给图加注释

3-2-1 arrowprops #箭头参数,参数类型为字典dict

  • width:箭头的宽度(以点为单位)
  • headwidth:箭头底部以点为单位的宽度
  • headlength:箭头的长度(以点为单位)
  • shrink:总长度的一部分,从两端“收缩”
  • facecolor:箭头颜色
In [69]:
plt.plot(x,y,color='b',linestyle=':',marker='o',markerfacecolor='r',markersize='10')
plt.xlabel('x:---')
plt.ylabel('y:---')
plt.title('tang y:---')#图标题
plt.text(0,0,'tangyudi')#在某一点加注释
plt.grid(True)#加网格
plt.annotate('MRJ',xy=(-5,0),xytext=(-2,0.1),arrowprops=dict(facecolor='black',shrink=3,width=5,headwidth=10,headlength=2))
Out[69]:
Text(-2, 0.1, 'MRJ')
 
posted @ 2019-10-25 19:42  karina512  阅读(281)  评论(0编辑  收藏  举报