欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-01-14 11:27:22
...

 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可视化:绘图基本操作(一)Matplotlib可视化:绘图基本操作(一)

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

#在一幅图中绘制多条线的两种方法
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可视化:绘图基本操作(一)

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可视化:绘图基本操作(一)

matplotlib cheatsheet

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