Matplotlib可视化库 :基本操作(一)

1. 先导入库

import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline   #这行代码可以使我们直接在jupyter notebook中直接作图,否则就要加plt.show()

2.最基本的一个图

x = np.linspace(-10,10)
y = np.sin(x)
plt.plot(x,y,linewidth = 3.0)  #linewidth指定线条的宽度;
plt.plot(x,y,color='b',linestyle=':',marker = 'o',markerfacecolor='r',markersize = 10)
#marker是标记/点号的形状,markerfacecolor是marker的填充色,markersize是其大小
plt.xlabel('xlabel',fontsize = 16)  #x轴标签(标签名,字体大小)
plt.ylabel('ylabel') 

3. 不同的线条类型linestyle &表示颜色color的字符参数:

通常线型和颜色可以组合在一起用单引号表示。

#在一幅图中绘制多条线的两种方法
t = np.arange(0,10,0.5)
plt.plot(t,t*2,'r--')
plt.plot(t,t**2,'bs')
plt.plot(t,t**3,'go')

#方法二
plt.plot(t,t*2,'r--',
        t,t**2,'bs',
        t,t**3,'go')

5. 对图的操作还可以用plt.setp(),可以先作图,再更改布局风格

line = plt.plot(x,y)              #alpha为透明度
plt.setp(line,color='r',linewidth = 2.0, alpha = 0.4) 

6. 子图 .subplot()

plt.subplot(mnx)表示绘制m行n列布局的第x个子图 ,x可从1取到m*n;子图的编号从左到右、从上到下,

也就是第一个图在最左上角,第m*n个图在最右下角。

# 224 表示一会要画的图是2行一列的 最后一个4表示的是子图当中的第4个图
plt.subplot(224)
plt.plot(x,y,color='r')

# 212 表示一会要画的图是2行一列的 最后一个1表示的是子图当中的第2个图
plt.subplot(212)
plt.plot(x,y,color='b')

# 121 表示一会要画的图是1行2列的 最后一个1表示的是子图当中的第1个图
plt.subplot(121)
plt.plot(x,y,color='r')

7. 给图上加上注释

plt.plot(x,y,color='b',linestyle=':',marker = 'o',markerfacecolor='r',markersize = 10) #标记marker的样式
plt.xlabel('x:---') #轴标签 
plt.ylabel('y:---')
plt.title('Graph Title:---') 
plt.text(0,0,'texture') #在(x,y)=(0,0)处加文字 
plt.grid(True)  #增加网格线  
plt.annotate('annotation',xy=(-5,0),xytext=(-2,0.3),arrowprops = dict(facecolor='red',shrink=0.05,headlength= 20,headwidth = 20))

'''
annotate第一个参数为注释内容,
xy 是箭头指向的终点
xytext 为注释内容所在的位置
arrowprops为箭头样式,用字典dict来指定箭头长度headlength,箭头宽度headwidth
facecolor箭头颜色,shrink 箭头长短
'''

8. 风格设置

在 jupyter notebook 中输入 plt.style.available  就可以查看以下可用的风格:

['dark_background',  'seaborn-talk',  'seaborn-bright',  'seaborn-ticks',  'bmh',  'ggplot',  
'seaborn-darkgrid',  'classic',  'fivethirtyeight',  'seaborn-deep', 
 'seaborn-colorblind',  'seaborn-muted',  'seaborn-pastel',  'seaborn-notebook', 
 'seaborn-paper',  'seaborn-dark-palette',  'seaborn-whitegrid',  'seaborn-white', 
 'grayscale',  'seaborn-dark',  'seaborn-poster']

再 plt.style.use()进行风格设置

#风格设置
plt.style.use('bmh')
plt.plot(x,y)

 #可以多种风格混搭
plt.style.use(['ggplot','bmh']) 
plt.plot(x,y)

plt.xkcd() 生成不规则边界的图形

x = np.linspace(-10,10) 
y = np.sin(x) 
plt.xkcd() 
plt.plot(x,y)

猜你喜欢

转载自blog.csdn.net/qq_29831163/article/details/89219644