3. Matplotlib小伙伴之点和线的多变

个人网站:山海同行
网站地址:https://shanhaigo.cn/
本篇地址:https://shanhaigo.cn/courseContent/1871464429850394624

上篇Matplotlib绘制了一张天气图,大家都很惊讶和好奇,当然也有好多疑问。最多的就是点的样式能不能改下,线条能换成虚线的样式吗?根据大家的反馈,Matplotlib小伙伴整理了大家的疑问,并分类说明…

希望通过本篇学习和实操之后,大家都可以画出内心的那张图!

一、Matplotlib小伙伴的点标记

绘图过程中大家都想要自己心目中的那张图,接下来是实现的第一步:点的标记

实现过程由Matplotlib小伙伴的工具plot() 方法的 marker 参数来定义

1. 点的符号标记

画一个实心圆的点,符号为:o

# 实心圆
plt.plot(x_data, y_data, marker='o')

image.png

下三角的点,符号为:v

# 下三角
plt.plot(x_data, y_data, marker='v')

image.png

举了俩个例子,相信大家都明白,替换marker中的符号,进行实现不同点的样式,完整的符号如下:

标记符号描述
“.”m00
“,”m01像素点
“o”m02实心圆
“v”m03下三角
“^”m04上三角
“<”m05左三角
“>”m06右三角
“1”m07下三叉
“2”m08上三叉
“3”m09左三叉
“4”m10右三叉
“8”m11八角形
“s”m12正方形
“p”m13五边形
“P”m23加号(填充)
“*”m14星号
“h”m15六边形 1
“H”m16六边形 2
“+”m17加号
“x”m18乘号 x
“X”m24乘号 x (填充)
“D”m19菱形
“d”m20瘦菱形
“|”m21竖线
“_”m22横线
0 (TICKLEFT)m25左横线
1 (TICKRIGHT)m26右横线
2 (TICKUP)m27上竖线
3 (TICKDOWN)m28下竖线
4 (CARETLEFT)m29左箭头
5 (CARETRIGHT)m30右箭头
6 (CARETUP)m31上箭头
7 (CARETDOWN)m32下箭头
8 (CARETLEFTBASE)m33左箭头 (中间点为基准)
9 (CARETRIGHTBASE)m34右箭头 (中间点为基准)
10 (CARETUPBASE)m35上箭头 (中间点为基准)
11 (CARETDOWNBASE)m36下箭头 (中间点为基准)
“None”, " " or “”没有任何标记
.........m37渲染指定的字符。例如 “fff” 以字母 f 为标记。

2. 点的代码标记

上述表可以通过符号实现,也给了一部分用代码实现的方式,比如画个左箭头的点

from matplotlib import markers

# 下三角
plt.plot(x_data, y_data, marker=markers.CARETDOWNBASE)

image.png

3. 点的大小和颜色

可以自定义标记的大小与颜色,使用的参数分别是:
markersize,简写为 ms:定义标记的大小。
markerfacecolor,简写为 mfc:定义标记内部的颜色。
markeredgecolor,简写为 mec:定义标记边框的颜色。

# 点的大小和颜色
# 实心圆 大小20,边框颜色红色,填充颜色黄色
plt.plot(x_data, y_data, marker='o', ms=20, mec='r', mfc='y')

image.png

二、Matplotlib小伙伴的线样式

1. 线的形状

Matplotlib小伙伴实现线有如下几种方式,通过linestyle参数实现

线类型标记描述
‘-’实线
‘:’虚线
‘–’破折线
‘-.’点划线

比如实现虚线,代码如下:

# 虚线
plt.plot(x_data, y_data, linestyle=':')

image.png

等等,其它方式,可以参考如上代码

2. 线的颜色

线的方式可以更改,那么线的颜色修改方式如下:

颜色标记描述
‘r’红色
‘g’绿色
‘b’蓝色
‘c’青色
‘m’品红
‘y’黄色
‘k’黑色
‘w’白色

举例,比如要实现红色的线条颜色

# 红色线条
plt.plot(x_data, y_data, color='r')

image.png

三、点和线汇总实现

除了上述的点的marker、线的linestyle、颜色的color方式单个实现,还有一种是组合实现,通过fmt参数实现,具体内容如下:
fmt 参数定义了基本格式,如标记、线条样式和颜色。

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

举例1

# 实心圆、破折线、绿色
plt.plot(x_data, y_data, 'o--g')

image.png

举例2

# 下三角、点划线、青色
plt.plot(x_data, y_data, 'v-.c')

image.png

完整代码

import matplotlib.pyplot as plt
from matplotlib import markers
plt.switch_backend('TkAgg')

# 北京2024年平均天气
# 十二个月
x_data = [i for i in range(1, 13)]
# 每个月平均温度
y_data = [-4, -4, 5, 10, 18, 23, 25, 25, 20, 10, 2, -4]

# 画布
plt.figure(figsize=(15, 7), dpi=100)

# 绘制折线图
# 实心圆
# plt.plot(x_data, y_data, marker='o')

# 下三角
# plt.plot(x_data, y_data, marker='v')

# 下三角
# plt.plot(x_data, y_data, marker=markers.CARETDOWNBASE)

# 点的大小和颜色
# 实心圆 大小20,边框颜色红色,填充颜色黄色
# plt.plot(x_data, y_data, marker='o', ms=20, mec='r', mfc='y')

# 虚线
# plt.plot(x_data, y_data, linestyle=':')


# 红色线条
# plt.plot(x_data, y_data, color='r')

# 实心圆、破折线、绿色
# plt.plot(x_data, y_data, 'o--g')

# 下三角、点划线、青色
plt.plot(x_data, y_data, 'v-.c')

# 生成图片
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值