Matplotlib笔记1----------基本绘图、样式和颜色、画布配置、多图布局

1.基本绘图

  • 绘图函数:plt.plot()
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
x = np.linspace(-5,5,50)
y = x ** 2
plt.plot(x,y)

2.样式和颜色

  • 样式ls(line style):'-', '--', '-.', ':', 'None', ' '(空格), ''(空), 'solid', 'dashed', 'dashdot', 'dotted'
  • 颜色color:b(蓝色),g(绿色),r(红色),c(青色),m(品红),y(黄色),k(黑色),w(白色)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
x = np.linspace(-5,5,50)
y = x ** 2
plt.plot(x,y,color='r',ls='-.')

 3.画布配置

  • 配置函数plt.figure
    • 参数figsize:画布长宽比
    • 参数dpi:画布分辨率
    • 参数facecolor:画布背景色
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(5,3),dpi=100,facecolor='green')
x = np.linspace(0,2*np.pi)
y = np.sin(x)
plt.plot(x,y)

  • 在一个画布上画多个图 
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(5,3))
x = np.linspace(0,8)
plt.plot(x,np.sin(x))
plt.plot(x,np.cos(x))
plt.plot(x,-np.sin(x))

  • 立即显示函数plt.show():会立刻绘制当前图,后续图将再另外画布上绘制 
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(5,3))
x = np.linspace(0,8)
plt.plot(x,np.sin(x))
plt.show()
plt.plot(x,np.cos(x))
plt.plot(x,-np.sin(x))
plt.show()

4.多图布局

(1)子图

  • 函数plt.subplot()             

         基本用法

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(8,5))
x = np.linspace(-np.pi,np.pi,30)
y = np.sin(x)
#子图1
ax1 = plt.subplot(2,2,1) #2行2列中的第1个图
ax1.plot(x,y)
ax1.set_title('fig1')
#子图2
ax2 = plt.subplot(2,2,2) #2行2列中的第2个图
ax2.plot(x,y)
ax2.set_title('fig2')
#子图3
ax3 = plt.subplot(2,2,3) #2行2列中的第3个图
ax3.plot(x,y)
ax3.set_title('fig3')
#子图4
ax4 = plt.subplot(2,2,4) #2行2列中的第4个图
ax4.plot(x,y)
ax4.set_title('fig4')
#自动调整布局
fig.tight_layout()

        其他用法

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(8,5))
x = np.linspace(-np.pi,np.pi,30)
y = np.sin(x)
#子图1
ax1 = plt.subplot(2,2,1) #2行2列中的第1个图
ax1.plot(x,y)
#子图2
ax2 = plt.subplot(2,2,2) #2行2列中的第2个图
ax2.plot(x,y)
#子图3
ax3 = plt.subplot(2,1,2) #2行1列中的第2个图
ax3.plot(x,np.sin(x*x))

  • 函数subplots() 
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
x = np.linspace(0,2*np.pi)
#3行3列
fig,ax = plt.subplots(3,3)
ax1,ax2,ax3 = ax
ax11,ax12,ax13 = ax1
ax21,ax22,ax23 = ax2
ax31,ax32,ax33 = ax3
#fig设置画布大小
fig.set_figwidth(8)
fig.set_figheight(5)
#第1行
ax11.plot(x,np.sin(x))
ax12.plot(x,np.cos(x))
ax13.plot(x,np.tan(x))
#第2行
ax21.plot(x,np.tanh(x))
ax22.plot(x,np.cosh(x))
ax23.plot(x,np.sinh(x))
#第3行
ax31.plot(x,np.sin(x) + np.cos(x))
ax32.plot(x,np.sin(x*x) + np.cos(x*x))
ax33.plot(x,np.sin(x) * np.cos(x))
plt.tight_layout()

(2)嵌套图 

  • 函数add_subplot() 
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(8,5))
#子图1
axes1 = fig.add_subplot(1,1,1)
axes1.plot([0,1],[1,3])
#子图2:嵌套图
axes2 = fig.add_subplot(2,2,1)
axes2.plot([1,3])

  • 函数axes()
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(8,5))
#图1
x = np.linspace(0,2*np.pi,30)
y = np.sin(x)
plt.plot(x,y)
#嵌套图1
axes1 = plt.axes([0.55,0.55,0.3,0.3])
axes1.plot(x,y,color='g')
#嵌套图2
axes2 = fig.add_axes([0.18,0.18,0.3,0.3])
axes2.plot(x,y,color='r')
绿线为嵌套图1,红线为嵌套图2

 

(3)双轴显示 

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(6,4))
x = np.linspace(0,10,100)
#图1
axes1 = plt.gca() #得到当前轴域
axes1.plot(x,np.exp(x),c='r')
axes1.set_xlabel('time')
axes1.set_ylabel('exp',c='r')
axes1.tick_params(axis='y',labelcolor='r')
#图2
axes2 = axes1.twinx() #和图1共享x轴
axes2.plot(x,np.sin(x),c='b')
axes2.set_ylabel('sin',c='b')
axes2.tick_params(axis='y',labelcolor='b')

plt.tight_layout()

知识点为听课总结笔记,课程为B站“千锋教育python数据可视化Matplotlib绘图教程,Matplotlib柱状图|Matplotlib动态图|Matplotlib散点图”:千锋教育python数据可视化Matplotlib绘图教程,Matplotlib柱状图|Matplotlib动态图|Matplotlib散点图_哔哩哔哩_bilibili 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值