Matplotlib学习笔记(二)标注及能见度


前言

  本次是对图像增加注释的两个函数annotate()和text()的运用和图像能见度的设置


一、标注

代码如下:

import matplotlib.pyplot as plt
import numpy as np
# 定义函数
x = np.linspace(-3, 3, 50) 
y = 2 * x + 1 

制图和画坐标轴在上一节有比较详细的说明
https://blog.csdn.net/qq_40680007/article/details/112972554

# 定义图像以及制图
plt.figure(figsize=(8, 5)) 
plt.plot(x, y) 

# 画坐标轴
ax = plt.gca() 
ax.spines["right"].set_color("none") 
ax.spines["top"].set_color("none")
ax.xaxis.set_ticks_position("bottom")
ax.yaxis.set_ticks_position("left")
ax.spines["bottom"].set_position(("data", 0))
ax.spines["left"].set_position(("data", 0))
# 画点
x0 = 1
y0 = 2 * x0 + 1
plt.scatter(x0, y0, s = 50, color = "b") # scatter()散点函数 分别传入点x坐标 y坐标 大小 颜色
plt.plot([x0, x0], [y0, 0], "k--", lw = 2.5) # 做在x0处,0到y0的2.5宽的黑色虚线

# 方法一
# annotate()注释函数 
# s 注释文本内容  xy 注释坐标点  xycoords data(默认) xytext 注释文字坐标位置
plt.annotate(s = r"$2x+1=%s$" % y0, xy = (x0, y0), xycoords = "data", xytext=(+30, -30), 
             textcoords = "offset points", fontsize = 16, 
# offse points 注释文字相对位置
             arrowprops = dict(arrowstyle = "->", connectionstyle = "arc3, rad = .2"))
# arrowprops 箭头参数,参数类型为字典dict

# 方法二
# text()文字说明函数
# plt.text(x, y, string, weight="bold", color="b")
plt.text(-3.7, 3, r"$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$",
         fontdict={"size":16, "color":"red"}) # 字体字典 设置大小和颜色
# \斜杠进行转义,有相当一部分的希俄字母可以转义
# _下横线加字符可以变成下标
plt.show()

显示结果:
在这里插入图片描述

二、能见度

代码如下:


import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3, 3, 50)
y = 0.1 * x
plt.figure()
# 在 plt 2.0.2 或更高的版本中, 设置 zorder 给 plot 在 z 轴方向排序,zorder将图层置于底层
plt.plot(x, y, linewidth = 10, zorder = 1)
plt.ylim(-1, 1)

# 画坐标轴
ax = plt.gca()
ax.spines["right"].set_color("none") 
ax.spines["top"].set_color("none")
ax.xaxis.set_ticks_position("bottom")
ax.yaxis.set_ticks_position("left")
ax.spines["bottom"].set_position(("data", 0))
ax.spines["left"].set_position(("data", 0))
# 迭代更改坐标每个刻度的标签
for label in ax.get_xticklabels() + ax.get_yticklabels():
    label.set_fontsize(12) # label.set_fontsize(12)重新调节字体大小为12
    label.set_bbox(dict(facecolor = "white", edgecolor = "None", alpha = 0.7))
    # bbox设置目的内容的透明度相关参数
    # facecolor调节 box 前景色,edgecolor 设置边框 本处设置边框颜色为无alpha设置透明度为0.7.
plt.show()

显示结果:
在这里插入图片描述