plot函数中fmt传参中marker与**kwargs传参的各种情况

首先,我们用绘制折线图来实例:在Matplotilb中,折线图主要是使用到了plt库中的plot方法。

plot函数的基本调用签名如下:

#单条线:
plot([x],y,[fmt],*,data=None, **kwargs)

#多条线:
plot([x], y, [fmt], [x2], y2, [fmt2], ...,**kwargs

可选参数 【fmt】是一个字符串来定义图的基本属性如:颜色 (color),点型(market),线型(linestyle)。

  • fmt = '[marker][linestyle][color]'
  • 关键字参数**kwargs,除了fmt能够定义的内容外,还可以定义线条宽度、标记大小、标记外框属性等。
  • 如果两个参数都对某一外观属性进行了定义,以关键字参数定义为准。即关键字参数**kwargs参数优先级高于fmt参数。
  • Line2d关键字参数 **kwargs:由一系列line2d属性相关的关键词参数构成。

fmt 基本参数对应图表 

 

fmt传参示例: 

#导入库
import numpy as np 
import matplotlib.pyplot as plt

#导入模块
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

#显示中文
x = np.arange(3)
y1 = np.array([2.04, 1.57, 1.63])
y2 = np.array([1.69, 1.61, 1.64])
y3 = np.array([4.65, 4.99, 4.94])
y4 = np.array([3.39, 2.33, 4.10])

#导入x轴,y轴数据
error1 = [0.16, 0.08, 0.10]
error2 = [0.27, 0.14, 0.14]
error3 = [0.34, 0.32, 0.29]
error4 = [0.23, 0.23, 0.39]

#指定测量偏差
bar_width = 0.2

#柱形图柱子宽度
plt.bar(x, y1, bar_width)
plt.bar(x + bar_width, y2, bar_width, align = "center", tick_label = ["春季", "夏季", "秋季"])
plt.bar(x + 2*bar_width, y3, bar_width)
plt.bar(x + 3*bar_width, y4, bar_width)

#绘制柱形图
plt.errorbar(x, y1, yerr = error1, capsize = 3, elinewidth=2, fmt = 'k,')
plt.errorbar(x + bar_width, y2, yerr = error2, capsize = 3, elinewidth=2, fmt = 'k8--')

#fmt传参             
plt.errorbar(x + 2*bar_width, y3, yerr = error3, capsize = 3, elinewidth=2, color='r', marker='s', linestyle=':' )
plt.errorbar(x + 3*bar_width, y4, yerr = error4, capsize = 3, elinewidth=2, color='g', marker='.', linestyle=':' )
#**kwagrs
             
#展示绘图
plt.show()

 

通过**kwargs参数来代替fmt(当我们不想使用fmt时而**kwargs最能来表示折线图的绘画) 

**kwargs则代表了单个属性的赋值 

代码示例如下:

#导入库
import numpy as np 
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

#显示中文
x = np.arange(3)
y1 = np.array([2.04, 1.57, 1.63])
y2 = np.array([1.69, 1.61, 1.64])
y3 = np.array([4.65, 4.99, 4.94])
y4 = np.array([3.39, 2.33, 4.10])

#导入x轴,y轴数据
error1 = [0.16, 0.08, 0.10]
error2 = [0.27, 0.14, 0.14]
error3 = [0.34, 0.32, 0.29]
error4 = [0.23, 0.23, 0.39]

#指定测量偏差
bar_width = 0.2

#柱形图柱子宽度
plt.bar(x, y1, bar_width)
plt.bar(x + bar_width, y2, bar_width, align = "center", tick_label = ["春季", "夏季", "秋季"])
plt.bar(x + 2*bar_width, y3, bar_width)
plt.bar(x + 3*bar_width, y4, bar_width)

#绘制柱形图
plt.errorbar(x, y1, yerr = error1, capsize = 3, elinewidth=2, fmt = 'k,')
plt.errorbar(x + bar_width, y2, yerr = error2, capsize = 3, elinewidth=2, fmt = 'k8--')
plt.errorbar(x,y1, yerr=error1,capsize=3, elinewidth=2, color='red',linestyle='-',marker='p')

#绘制误差棒
plt.errorbar(x + bar_width,y2,yerr=error2, capsize=3, elinewidth=2, color='red',linestyle='-',marker='p')
plt.errorbar(x + 2*bar_width,y3, yerr=error3, capsize=3, elinewidth=2, color='red',linestyle='-',marker='p')
plt.errorbar(x + 3*bar_width,y4, yerr=error4, capsize=3, elinewidth=2, color='red',linestyle='-',marker='p')

#展示绘图
plt.show()

       

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值