【Python】plt库详解和示例

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

目录

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

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()

【Python】plt库详解和示例_第1张图片

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()

【Python】plt库详解和示例_第2张图片

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()

【Python】plt库详解和示例_第3张图片

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()

【Python】plt库详解和示例_第4张图片

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()

【Python】plt库详解和示例_第5张图片

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()

【Python】plt库详解和示例_第6张图片

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()会把数据内容清空。

你可能感兴趣的:(Python学习和使用过程积累,python,开发语言)