【Python】plt库详解和示例

6281 2025-05-26 05:05:25
plt 是 Python 中 Matplotlib 库的一个常用别名,它表示 pyplot,这是一个用于创建图形和图形的可视化表示的工具。下面是一些 plt 函数的详解和示例

plt 是 Python 中 Matplotlib 库的一个常用别名,它表示 pyplot,这是一个用于创建图形和图形的可视化表示的工具。下面是一些 plt 函数的详解和示例,以帮助大家理解和使用。

目录

plt.subplots()plt.savefig()折线图plt.scatter()plt.bar() 函数plt.hist()plt.title(), plt.xlabel(), 和 plt.ylabel()Grid LinesLegend注意事项

plt.subplots()

plt.subplots是Matplotlib库中的一个函数,用于创建包含一个或多个子图的绘图。它返回一个包含了图形和轴的元组,可以用于进一步定制图形和轴。

函数原型如下:

plt.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, **fig_kw)

参数解释:

nrows: 子图的行数。默认为1。

ncols: 子图的列数。默认为1。

sharex: 如果为True,则子图共享x轴。默认为False。

sharey: 如果为True,则子图共享y轴。默认为False。

squeeze: 如果为True(默认),则将单个子图压缩为单一的图形。如果为False,则返回的图形将包含多个子图。

subplot_kw: 一个字典,用于定制子图的属性(例如标题、轴标签等)。

fig_kw: 一个字典,用于定制图形属性(例如大小、背景色等)。

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(0, 10, 100)

y1 = np.sin(x)

y2 = np.cos(x)

fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, sharex=True)

ax1.plot(x, y1)

ax2.plot(x, y2)

plt.show()

plt.savefig()

plt.savefig 是 Matplotlib 库中的一个函数,用于将当前的图形保存为图像文件。

函数原型如下:

plt.savefig(fname, dpi=None, facecolor='w', edgecolor='w', orientation='portrait', papertype=None, format=None, transparent=False, bbox_inches=None, pad_inches=0.1, frameon=None, metadata=None)

参数解释:

fname: 文件路径或者 Python 的文件类型对象。例如,使用 plt.savefig('my_figure.png') 将图像保存为 PNG 文件。也可以使用 plt.savefig(open('my_figure.png', 'wb')) 将图像保存为 PNG 文件,但这次是通过打开一个文件对象。

dpi: 图像的分辨率(每英寸的点数),默认为 None。如果提供了 dpi 参数,将改变图像的分辨率。

facecolor: 图像的背景色,默认为 'w'(白色)。

edgecolor: 图像边缘的颜色,默认为 'w'(白色)。

orientation: 图像的方向,默认为 'portrait'(纵向)。可以设置为 'landscape'(横向)或者 'square'(保持图像宽高比)。

papertype: 用于输出的纸张类型,默认为 None。例如,'a4'。

format: 图像的格式。这通常是从 fname 中推断出来的,因此通常不需要显式设置。可能的值包括 'png'、'pdf'、'svg'、'jpeg' 等。

transparent: 如果为 True,则图像将是透明的,默认为 False。

bbox_inches: 如果不为 None,则指定了图像的边界框大小(以英寸为单位)。默认为 None。

pad_inches: 边缘周围的填充量。默认为 0.1 英寸。

frameon: 如果为 True,则包含图像的边框,默认为 None(即使用默认值 True)。

metadata: 一个字典,用于存储与图像相关的元数据。例如,可以包含版权信息、创建日期等。默认为 None。

折线图

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]

y = [2, 4, 6, 8, 10]

plt.plot(x, y)

plt.savefig("1.jpg")

plt.show()

plt.scatter()

散点图

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]

y = [2, 4, 6, 8, 10]

plt.scatter(x, y)

plt.savefig("1.jpg")

plt.show()

plt.bar() 函数

使用 plt.bar() 函数绘制柱状图。

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D', 'E']

y = [10, 20, 30, 40, 50]

plt.bar(x, y)

plt.savefig("1.jpg")

plt.show()

plt.hist()

plt.hist()函数是Matplotlib库中的一个函数,用于创建直方图。它可以将数据的分布情况以直方图的形式展示出来,可以用于数据的可视化和分析。

函数原型如下:

matplotlib.pyplot.hist(data, bins, range=None, density=False, weights=None, color=None, align=None, edgecolor=None, **kwargs)

参数解释:

data: 这是您要绘制直方图的数据。这可以是一个数字列表,也可以是一个NumPy数组。

bins: 这是直方图的柱子数量。如果bins是一个整数,则将使用其计算等间距的 bins。如果bins是一个列表或元组,其值将被用作 bins 的边缘。

range: 这是 bin 的范围。如果传入两个值的列表或元组,则将其视为 bin 的边缘。如果传入一个值的列表或元组,则将其视为 bin 的中心。如果未指定此参数,则默认使用数据范围。

density: 如果为True,则返回的直方图将表示数据的概率密度函数,而不是实际的频率。

weights: 用于加权的直方图数据。

color: 为直方图设置颜色。可以使用颜色名称或RGB值。如果未指定,则默认使用蓝绿色。

align: 确定如何对齐 bin 边缘。可能的值包括 'left', 'right' 和 'mid'。

edgecolor: 为 bin 边缘设置颜色。可以使用颜色名称或RGB值。如果未指定,则默认使用黑色。

import matplotlib.pyplot as plt

import numpy as np

data = np.random.randn(1000)

plt.hist(data, bins=30)#设置的柱子数量

plt.savefig("1.jpg")

plt.show()

plt.title(), plt.xlabel(), 和 plt.ylabel()

设置标题和坐标轴标签:使用 plt.title(), plt.xlabel(), 和 plt.ylabel() 设置图形的标题和坐标轴标签。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]

y = [2, 4, 6, 8, 10]

plt.plot(x, y)

plt.title('My Plot') # 设置标题

plt.xlabel('X-axis') # 设置 x 轴标签

plt.ylabel('Y-axis') # 设置 y 轴标签

plt.savefig("1.jpg")

plt.show()

Grid Lines

网格线(Grid Lines):使用 plt.grid() 函数来显示或隐藏网格线。默认情况下,网格线是隐藏的。如果想要显示网格线,可以像下面这样设置:plt.grid(True)。

图例(Legend):使用 plt.legend() 函数来显示图例。例如:plt.legend([‘Red Line’, ‘Blue Line’])。这将在图形中添加两个图例,一个代表红色线条,另一个代表蓝色线条。

Legend

图例(Legend):使用 plt.legend() 函数来显示图例。例如:plt.legend([‘Red Line’, ‘Blue Line’])。这将在图形中添加两个图例,一个代表红色线条,另一个代表蓝色线条。

注意事项

如果需要保存图像,需要在plt.show()前使用plt.savefig(),负责保存的是空白,因为plt.show()会把数据内容清空。

糗事百科|基建照片系统