matlab库零散笔记

matlab.pylpot

1. 函数plt.plot()

1.1 基本用法

用于绘制线图和散点图

# 语法格式
# 画单条线
plot([x], y, [fmt], *, data=None, **kwargs)
# 画多条线
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
  • x, y:点或线的节点,x 为 x 轴数据,y 为 y 轴数据,数据可以列表或数组。
  • fmt:可选,定义基本格式(如颜色、标记和线条样式)
    • fmt = '[marker][line][color]'
  • ** kwargs:可选,用在二维平面图上,设置指定属性,如标签,线的宽度等
常用marker如下
marker 含义
.
o 实心圆
* 星号
x 乘号
v 下三角
< 左三角
> 右三角
^ 上三角
常用line如下
类型 简写 说明
solid (默认) - 实线
dotted : 点虚线
dashed -- 破折线
dashdot -. 点划线
None '' 或 ' ' 不画线
标记大小与颜色
  • markersize,简写为 ms:定义标记的大小
  • markerfacecolor,简写为 mfc:定义标记内部的颜色
  • markeredgecolor,简写为 mec:定义标记边框的颜色
# 例子
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, 'o--b')
# 或者 plt.plot(ypoints,marker='o',\
# linestyle='--',mfc='b',ms=5)
plt.show()

image

# 例子,加上x轴、y轴标签以及标题
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.plot(x, y, 'o:b')
plt.title("TEST TITLE")
plt.xlabel("x - label")
plt.ylabel("y - label")
plt.show()

image

1.2 绘制多图

2. 属性设置 xlim,ylim

xlim 和 ylim 在 matplotlib 中分别用于获取或设置x轴和y轴的范围

用法 (xmin 和 xmax 分别是x轴的最小值和最大值)

  • 获取当前x轴的范围:
    xmin, xmax = plt.xlim()
  • 设置x轴的范围:
    plt.xlim(xmin, xmax)
    plt.xlim([xmin, xmax])
# 例子(放大图像中的特定领域)
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)

# 设置x轴和y轴的范围
plt.xlim(2, 8)
plt.ylim(-1, 1)

plt.show()

image

# 例子(同步两个的子图的坐标轴范围)
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

fig, axs = plt.subplots(2, 1)

axs[0].plot(x, y1, 'y')
axs[1].plot(x, y2, 'b')

# 设置两个子图的x轴范围相同
axs[0].set_xlim(2, 8)
axs[1].set_xlim(2, 8)

plt.show()

image

# 例子(动态调整坐标轴的范围)
x = np.linspace(0, 10, 100)
y = np.sin(x) + np.random.normal(0, 0.2, 100)  # 添加随机噪声

plt.plot(x, y, 'o')

# 动态设置y轴范围,使其略大于数据的最大值和最小值
plt.ylim(y.min() - 0.5, y.max() + 0.5)

plt.show()

image


3. 函数plt.scatter()

用于绘制散点图

用法
plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)

  • x,y:长度相同的数组,也就是我们即将绘制散点图的数据点,输入数据。

  • s:点的大小,默认 20,也可以是个数组,数组每个参数为对应点的大小。

  • c:点的颜色,默认蓝色 'b',也可以是个 RGB 或 RGBA 二维行数组。

  • marker:点的样式,默认小圆圈 'o'。

  • cmap:Colormap,默认 None,标量或者是一个 colormap 的名字,只有 c 是一个浮点数数组的时才使用。如果没有申明就是 image.cmap。

  • norm:Normalize,默认 None,数据亮度在 0-1 之间,只有 c 是一个浮点数的数组的时才使用。

  • vmin,vmax::亮度设置,在 norm 参数存在时会忽略。

  • alpha::透明度设置,0-1 之间,默认 None,即不透明。

  • linewidths::标记点的长度。

  • edgecolors::颜色或颜色序列,默认为 'face',可选值有 'face', 'none', None。

  • plotnonfinite::布尔值,设置是否使用非限定的 c ( inf, -inf 或 nan) 绘制点。

  • **kwargs::其他参数

# 例子
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])
colors = np.array(["red", "green", "black", "orange", "purple", "beige", "cyan", "magenta"])
sizes = np.array([20, 50, 100, 200, 500, 1000, 60, 90])
plt.scatter(x, y, c=colors, s=sizes)
plt.show()

image

posted @ 2024-04-18 10:33  Away-  阅读(26)  评论(0)    收藏  举报