r语言plot函数x轴y轴名字_第六章:Python+matplotlib划分画布的主要函数

1、函数subplot()的使用方法

 1 import matplotlib.pyplot as plt 2 import numpy as np 3  4 x = np.linspace(-2*np.pi,2*np.pi,200) 5 y1 = np.sin(x) 6 y2 = np.cos(x) 7  8 plt.subplot(121) 9 plt.plot(x,y1)10 11 plt.subplot(122)12 plt.plot(x,y2)13 14 plt.show()
b7a7d62c9874fa295b157961f58d213a.png

2、在极坐标轴上绘制折线图

 1 import matplotlib.pyplot as plt 2 import numpy as np 3  4 radii = np.linspace(0,1,100) 5 theta = 2 * np.pi * radii       # θ=2*np.pi*半径 6  7 fig = plt.subplot(111,          # 1行1列第一个子区 8                   polar=True)   # 在极坐标上绘制 9 fig.plot(theta,                 # 表达式10          radii,                 # 半径11          color="r",             # 折线条颜色12          linestyle="-",         # 线条样式13          linewidth=2)           # 线条宽度14 plt.show()
f99d7d4fee6de6bfeea8ba1c79080915.png

3、在极坐标轴上绘制散点图

 1 import matplotlib.pyplot as plt 2 import numpy as np 3 import matplotlib 4  5 radii = 30 * np.random.rand(100) 6 theta = 2 * np.pi * np.random.rand(100) 7 colors = np.random.rand(100) 8 size = 50 * radii 9 10 fig = plt.subplot(111,                  # 1行1列第1个子区11                   polar=True)           # 在极坐标轴上绘制12 # 在极坐标轴上绘制散点图13 fig.scatter(theta,                      # 表达式14             radii,                      # 半径15             s=size,                     # 散点图大小16             c=colors,                   # 散点图颜色17             cmap=matplotlib.cm.PuOr,    # 使用颜色映射表PuOr对散点进行着色18             marker="*")                 # 散点图样式19 plt.show()
b7b21a6e82e35eebc87847c021ae9208.png

4、在非等分的绘图区域上实现绘图展示

 1 import matplotlib.pyplot as plt 2 import numpy as np 3  4 fig = plt.figure() 5  6 x = np.linspace(0.0,2*np.pi) 7 y = np.cos(x) * np.sin(x) 8  9 ax1 = fig.add_subplot(121)10 ax1.margins(0.03)11 ax1.plot(x,y,ls="-",lw="2",color="b")12 13 ax2 = fig.add_subplot(222)14 ax2.margins(0.7,0.7)15 ax2.plot(x,y,ls="-",lw="2",color="r")16 17 ax3 = fig.add_subplot(224)18 ax3.margins(x=0.1,y=0.3)19 ax3.plot(x,y,ls="-",lw="2",color="g")20 21 plt.show()
200d90aa9863947aebd1c200c7000d2e.png

需要注意的是实例方法margins(m)可以设置数据范围的空白区域,也就是说M倍的数据区间会被添加到原来数据区间的两端,数据空白区域的调整类型即包括x轴也包括y轴的数据区间,参数m的取值范围是>-0.5的任意浮点数。

5、函数subplot2grid()的使用方法:让子区跨越固定网格布局

 1 import  matplotlib 2 import  matplotlib.pyplot as plt 3 import numpy as np 4  5 # 显示中文标识 6 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 7 matplotlib.rcParams["axes.unicode_minus"] = False 8  9 plt.subplot2grid(shape=(2,3),   # 2行3列10                  loc=(0,0),     # 以第1行第1列作为起点11                  colspan=2)     # 图像占画布列的2个单位12 x = np.linspace(0.0,4.0,100)13 y = np.random.randn(100)14 plt.scatter(x,y,c="c")15 plt.title("散点图")16 17 plt.subplot2grid(shape=(2,3),   # 2行3列18                  loc=(0,2),     # 以第1行第3列作为起点19                  colspan=1)     # 图像占画布列的1个单位20 plt.title("空白绘图区域")21 22 plt.subplot2grid(shape=(2,3),   # 2行3列23                  loc=(1,0),     # 以第2行第1列作为起点24                  colspan=3)     # 图像占画布列的3个单位25 x = np.linspace(0.0,4.0,100)26 y1 = np.sin(x)27 plt.plot(x,y1,lw=2,ls="-")28 plt.xlim(0,3)29 plt.grid(True,ls=":",c="r")30 plt.title("折线图")31 32 # 给整个画布添加标题33 plt.suptitle("subplot2grid函数的实例展示",fontsize=25)34 plt.show()
01b17ec1be5f1b39a96cc5a7323b2995.png

6、创建一张画布和一个子区的绘图模式

 1 import  matplotlib 2 import  matplotlib.pyplot as plt 3 import numpy as np 4  5 # 显示中文标识 6 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 7 matplotlib.rcParams["axes.unicode_minus"] = False 8  9 font_style = dict(fontsize=18,weight="black")10 11 x = np.linspace(0,2*np.pi,500)12 y = np.sin(x) * np.cos(x)13 14 # 返回一个画布对象fig和一个坐标轴实例ax,subplot_kw:设置坐标轴的背景颜色15 fig, ax = plt.subplots(1,1,subplot_kw=dict(facecolor="cornflowerblue"))16 ax.plot(x,y,"k--",lw=2)17 ax.set_xlabel("时间(秒)",**font_style)18 ax.set_ylabel("振幅",**font_style)19 ax.set_title("简单折线图",**font_style)20 21 ax.set_xlim(0,2*np.pi)22 ax.set_ylim(-0.65,0.65)23 24 ax.grid(ls=":",lw=1,color="gray",alpha=0.8)25 26 plt.show()
db1fae75f12a14c8ef4fe99157dcdd9c.png

7、创建一张画布和两个子区的绘图模式

 1 import  matplotlib 2 import  matplotlib.pyplot as plt 3 import numpy as np 4  5 # 显示中文标识 6 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 7 matplotlib.rcParams["axes.unicode_minus"] = False 8  9 font_style = dict(fontsize=18,weight="black")10 11 x = np.linspace(0,2*np.pi,500)12 y = np.sin(x) * np.exp(-x)13 14 # 返回一个画布对象fig和一个坐标轴实例ax。使用sharey = True在matplotlib子图上标记标签15 fig,ax = plt.subplots(1,2,sharey=True)16 ax1 = ax[0]               # 1行2列的第1个子区17 ax1.plot(x,y,"k--",lw=2)18 ax1.set_title("折线图")19 ax1.grid(ls=":",lw=2,color="gray",alpha=0.8)20 21 ax2 = ax[1]               # 1行2列的第2个子区22 ax2.scatter(x,y,s=10,c="skyblue",marker="o")23 ax2.set_title("散点图")24 25 plt.suptitle("创建一张画布两个子区的绘图模式")26 plt.show() 
2a73d9a5adb7a1f0a62dd1c56ad885d1.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值