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

 Matplotlib官网

目录

1. 先导入库   

2.最基本的一个图

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

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

6. 子图 .subplot()

7. 给图上加上注释

8. 风格设置

matplotlib cheatsheet


 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的字符参数:

import matplotlib.pyplot as plt
plt.plot(x,y,format_string,**kwargs)  #x轴数据,y轴数据,format_string控制曲线的格式字串 

format_string 由颜色字符,风格字符,和标记字符

函数的参数里的(*args, *kargs)都是可变参数,如果同时使用这两个参数,*args要在**kwargs之前

  • *args表示无名参数,是一个元组tuple
  • **kwargs是键值参数,相当于一个字典,

Matplotlib可视化:绘图基本操作(一)_第1张图片Matplotlib可视化:绘图基本操作(一)_第2张图片

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

#在一幅图中绘制多条线的两种方法
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')

比如你输入参数为:(1,2,3,4,k,a=1,b=2,c=3),*args=(1,2,3,4,k),**kwargs={'a':'1,'b':2,'c':3} 

不能是:a=1,b=2,c=3,1,2,3,4,k,这样会出现语法错误提示:

SyntaxError:non-keyword arg after keyword arg

*kwargs 还可以创建字典:【相当于Python自带的dic() 】

def dicmake(**kwargs):

    return kwargs

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 箭头长短
'''

Matplotlib可视化:绘图基本操作(一)_第3张图片

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)

Matplotlib可视化:绘图基本操作(一)_第4张图片

matplotlib cheatsheet

 


 

 

你可能感兴趣的:(python机器学习)