matplotlib.pyplot 常用指令收集(持续更新)

本文介绍了Python中多个绘图相关函数及操作。如plt.figure()用于创建新图像,plt.imshow()显示二维图像,plt.plot()绘制曲线等。还提及了设置坐标轴范围、绘制分类边界等操作,以及np.arange、np.linspace等数组生成函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import matplotlib.pyplot as plt
  • plt.figure():创建一个新的图像:参数figsize表示图像大小

  • plt.imshow(x):x为(行像素,列像素):参数cmap为图像颜色:cmap=plt.cm.binary为黑白色

  • plt.plot():绘制曲线,有属性label:为某一曲线打标签

  • subplot(nrows, ncols, index):将一个大图分成几部分来显示小图

  • plt.xticks([]),plt.yticks([]):去掉x和y轴的坐标值

  • plt.ylabel():y轴的标签

  • plt.xlable():x轴的标签

  • plt.title():绘图的标题

  • plt.show():显示图像

  • plt.colorbar():显示色条

  • plt.grid(True):显示网格

  • plt.legend(loc, shadow):添加图像说明,会自动将图中曲线的标签打印在图上

  • plt.scatter(x, y, c):输入x轴和y轴信息,图中点的区分依靠c的值

  • plt.bar():画柱形图

  • plt.hist(arr, bins):画直方图,bins为将数据分成几个直方

  • plt.contourf():绘制等高线

  • axes = plt.gca():返回坐标轴的实体,便于操作坐标轴

  • axes.set_xlim([maxX, minX]):设置横坐标范围

  • axes.set_ylim([maxY, minY]):设置纵坐标范围

  • np.arange(min, max, h):返回范围[min, max)相隔h的值

  • np.linspace(min, max, c):将范围[min,max]等分为c部分,并返回值

  • xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h)):用于绘制边界

  • xx.ravel():将矩阵变为一维向量

    绘制分类边界:机制是通过预测图上每个点,输出True或False,根据不同结果绘制不同颜色

    def plot_decision_boundary(model, X, y):
        # Set min and max values and give it some padding
        x_min, x_max = X[0, :].min() - 1, X[0, :].max() + 1
        y_min, y_max = X[1, :].min() - 1, X[1, :].max() + 1
        h = 0.01
        # Generate a grid of points with distance h between them
        xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
        # Predict the function value for the whole grid
        Z = model(np.c_[xx.ravel(), yy.ravel()])
        Z = Z.reshape(xx.shape)
        # Plot the contour and training examples
        plt.contourf(xx, yy, Z, cmap=plt.cm.Spectral)
        plt.ylabel('x2')
        plt.xlabel('x1')
        plt.scatter(X[0, :], X[1, :], c=np.squeeze(y[0,:]), cmap=plt.cm.Spectral)
        plt.show()
    plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)

     

  • plt.colorbar() 显示一个色彩条状图

  • plt.grid(True) 显示网格

  • plt.imshow() 显示2维的图像

  • plt.xticks([]); plt.yticks([]) 不显示图像的x和y轴坐标

`import matplotlib.pyplot` 和 `from matplotlib import pyplot` 虽然都可以导入 Matplotlib 的 `pyplot` 模块,但它们的使用方式和语义略有不同。 ### 1. `import matplotlib.pyplot` ```python import matplotlib.pyplot as plt plt.plot([1, 2, 3], [4, 5, 6]) plt.show() ``` **解释**: - 这种方式直接导入了整个 `matplotlib.pyplot` 模块,并通过 `as plt` 给它起了一个别名。 - 使用时需要通过 `plt.` 的形式调用模块中的函数或变量。 --- ### 2. `from matplotlib import pyplot` ```python from matplotlib import pyplot as plt plt.plot([1, 2, 3], [4, 5, 6]) plt.show() ``` **解释**: - 这种方式是从 `matplotlib` 包中单独导入 `pyplot` 模块,并同样通过 `as plt` 给它起了一个别名。 - 使用时与第一种方式完全相同,也需要通过 `plt.` 的形式调用模块中的函数或变量。 --- ### 两者的区别 1. **代码风格和可读性**: - `import matplotlib.pyplot` 更加直观,明确地表明你正在使用 `matplotlib` 包中的 `pyplot` 模块。 - `from matplotlib import pyplot` 则更简洁,但可能会让人误以为 `pyplot` 是一个独立的模块,而不是 `matplotlib` 的一部分。 2. **命名空间**: - 在 `import matplotlib.pyplot` 中,`matplotlib` 的命名空间被保留,你可以通过 `matplotlib.pyplot` 访问模块。 - 在 `from matplotlib import pyplot` 中,`matplotlib` 的命名空间被隐藏,只能通过 `pyplot` 访问模块。 3. **实际效果**: - 两者在功能上没有差异,最终都是导入了 `pyplot` 模块并可以通过 `plt` 调用。 --- ### 推荐使用方式 大多数情况下,推荐使用 `import matplotlib.pyplot as plt`,因为这种方式更加清晰,能够明确看到 `pyplot` 来自于 `matplotlib` 包。 --- ### 示例对比 #### 使用 `import matplotlib.pyplot` ```python import matplotlib.pyplot as plt plt.plot([1, 2, 3], [4, 5, 6]) plt.title("A Simple Plot") plt.xlabel("X-axis") plt.ylabel("Y-axis") plt.show() ``` #### 使用 `from matplotlib import pyplot` ```python from matplotlib import pyplot as plt plt.plot([1, 2, 3], [4, 5, 6]) plt.title("A Simple Plot") plt.xlabel("X-axis") plt.ylabel("Y-axis") plt.show() ``` 上述两种方式的效果完全一致,均绘制了一条简单的折线图。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值