探讨plot函数中fmt传参中是否指定marker的各种情况,以及不通过fmt传参,而是通过**kwargs传参,应该怎么办?

1.fmt参数

在Python的matplotlib库中的plot函数中,fmt参数是用来设置线条样式、标记和颜色的。plt.plot()函数中的fmt参数是一个字符串,用于控制线条和标记的样式。

其中fmt参数可以包含以下内容:

bgrcmyk 分别代表不同颜色的线条

'o': 表示用圆形标记数据点,并且没有连线;

'-': 表示用直线连接所有的数据点,但不显示任何标记;

'--': 表示用虚线连接所有的数据点,同样也不显示任何标记;

'-.': 表示用短划线连接所有的数据点,同样也不显示任何标记;

's': 表示用正方形标记数据点,并且用直线连接所有数据点;

'^': 表示用上三角形标记数据点,并且用直线连接所有数据点;

'v': 表示用下三角形标记数据点,并且用直线连接所有数据点;

'd': 表示用钻石形标记数据点,并且用直线连接所有数据点;

'<': 表示用左箭头标记数据点,并且用直线连接所有数据点;

'>': 表示用右箭头标记数据点,并且用直线连接所有数据点;

'p': 表示用五角星标记数据点,并且用直线连接所有数据点;

'h': 表示用水平线条标记数据点,并且用直线连接所有数据点;

'H': 表示用垂直线条标记数据点,并且用直线连接所有数据点;

'+': 表示用加号标记数据点,并且用直线连接所有数据点;

'x': 表示用叉号标记数据点,并且用直线连接所有数据点。

fmt参数基本格式

# fmt = '[marker][line][color]'

示例代码

import matplotlib.pyplot as plt #导入matplotlib库中的pyp3ot模块并重命名为 plt
import numpy as np           #导入numpy库并重命名为 np

x = np.arange(5)  #设置x轴数据
y1 = np.array([52,38,64,34,44])
y2 = np.array([12,18,12,24,14])    #设置y轴数据
bar_width=0.3     #设置宽度
plt.bar(x,y1,bar_width)        #绘制柱形图
plt.bar(x + bar_width,y2,bar_width)         #绘制柱形图

plt.errorbar(x, y1,yerr=y2,capsize=2, capthick=2,fmt='y--',color='b')    #绘制误差棒,使用fmt传参


plt.show()                   #展示图表

运行结果

2.**kwargs参数

在Python Matplotlib库中,绘图函数通常都会接收一组可变参数kwargs,这些参数允许我们定制图表的各种细节,比如标签、标题、刻度等等。

通过**kwargs指定标记

labels: 设置每个轴的标签  基本格式:plt.plot(x, y, label=' labels')

title: 设置图表的标题 基本格式:plt.title('My First Plot')

legend: 设置图例的位置 基本格式:plt.legend(loc='upper left')

xlim: 设置x轴的范围 基本格式:plt.xlim((0, 10))

ylim: 设置y轴的范围 基本格式:plt.ylim((-10, 10))

xticks: 设置x轴的刻度位置及刻度标签 基本格式:plt.xticks( )

yticks: 设置y轴的刻度位置及刻度标签 基本格式:plt.yticks( )

grid: 设置网格是否显示 基本格式:plt.grid(True)

color: 设置线的颜色 基本格式:plt.plot(x, y, 'r') # red line

linestyle: 设置线的风格,例如实线、虚线、点线等 基本格式:plt.plot(x, y, '-') 

marker: 设置数据点的标记类型 基本格式:plt.plot(x, y, 'ro') 

linewidth: 设置线的宽度 基本格式: plt.plot(x, y, linewidth=2.5)

fontsize: 设置字体大小 基本格式:plt.title('size', fontsize=20)

示例代码

import matplotlib.pyplot as plt #导入matplotlib库中的pyp3ot模块并重命名为 plt
import numpy as np           #导入numpy库并重命名为 np

x = np.array(range(1,16,2))  #设置x轴数据1~16从1开始每隔2个数取一个
y1 = np.random.rand(8,2)    #设置y轴数据,生成8个随机数
y2 = np.random.rand(8,2)    #设置y轴数据,生成8个随机数

plt.plot(x,y1,color='orange',   #设置线条为橙色
linestyle='--',                #用虚线链接所有数据点
marker='o',                   #绘图设置标记点为实心圆
linewidth=2.5)                 #线宽为2.5
plt.plot(x,y2,color='blue',    #设置线条为蓝色
linestyle='-',               #用直线线链接所有数据点
marker='v',                  #绘图设置标记点三角形
linewidth=2)                #线宽为2

plt.show()                   #展示图表

运行结果

3.总结

在matplotlib中,fmt传参是一种较为传统的传递图形参数的方式,主要用于设置线条的样式和数据点的标记。它可以快速方便地绘制出常见的线条和标记样式,例如实线、虚线、空心圆、实心圆等。 而**kwargs传参则是一种更为灵活的方式,它可以传递任意数量的命名参数,以更加精细地控制图形的外观和样式。**kwargs传参的优点在于它能够支持更多的参数选项,例如颜色、透明度、标记大小、填充颜色、边框颜色、边框宽度等等。 两者之间的主要区别在于:fmt传参比较简单直观,适合快速绘制常见图形;kwargs传参更加灵活多样,适用范围更广,适合精细化定制图形外观。在实际使用中,可以根据自身的需要和要求选择。

除了以上函数和方法外,还有很多其他的函数和方法可以用来定制matplotlib的绘图。具体相关信息可以访问Matplotlib — Visualization with Python查阅matplotlib的官方文档。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值