matplotlib
是一个流行的Python绘图库,用于创建各种静态、动态、交互式可视化。以下是一些基本的用法:
线图
plt.plot([1, 2, 3, 4])
plt.ylabel('Some Numbers')
plt.show()
散点图
x = [1,2,3,4,5]
y = [2,3,4,5,6]
plt.scatter(x, y)
plt.show()
条形图
names = ['mk', 'ct']
values = [666, 250]
plt.bar(names, values)
plt.show()
直方图
# 示例数据
data = [1, 2, 2, 3, 3, 3, 4, 4, 5]
# 使用plt.hist()绘制直方图
plt.hist(data, bins=5, edgecolor='black') # 分成5个区间
# 添加标签和标题(可选)
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram')
# 显示图形
plt.show()
饼图
# 数据
sizes = [15, 30, 45, 10]
labels = ['Frogs', 'Hogs', 'Dogs', 'Logs']
# 绘制饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140)
# 设置为圆形(避免变成椭圆)
plt.axis('equal')
# 显示图形
plt.show()
箱线图
# 示例数据
data = [20, 21, 22, 23, 24, 25, 22, 28, 29, 30, 22, 23, 19, 18, 30]
# 绘制箱线图
plt.boxplot(data)
# 添加标题和标签(可选)
plt.title('Box Plot')
plt.ylabel('Value')
# 显示图形
plt.show()
箱线图展示了数据的五个主要统计量:最小值、第一四分位数、中位数、第三四分位数和最大值。这些值可以在图上清楚地看到,并有助于了解数据的分布和中心趋势。
热图
import matplotlib.pyplot as plt
import numpy as np
# 创建一个示例数据,例如10x10的随机数组
data = np.random.rand(10, 10)
# 使用imshow函数创建热图
plt.imshow(data, cmap='hot', interpolation='nearest')
# 添加颜色条
plt.colorbar()
# 添加标题和标签(可选)
plt.title('Heatmap')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
# 显示图形
plt.show()
三维图
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
# 创建一个坐标网格
X = np.linspace(-5, 5, 50)
Y = np.linspace(-5, 5, 50)
X, Y = np.meshgrid(X, Y)
# 定义一个三维函数,例如一个简单的抛物面
Z = X**2 + Y**2
# 创建一个图形窗口
fig = plt.figure()
# 在图形窗口中创建一个3D坐标轴
ax = fig.add_subplot(111, projection='3d')
# 使用坐标轴上的`plot_surface`方法绘制曲面
ax.plot_surface(X, Y, Z, cmap='viridis')
# 添加标签和标题(可选)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
ax.set_title('3D Surface Plot')
# 显示图形
plt.show()
轮廓图
import matplotlib.pyplot as plt
import numpy as np
# 创建坐标网格
X = np.linspace(-5, 5, 100)
Y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(X, Y)
# 定义一个三维函数,例如一个简单的抛物面
Z = X**2 + Y**2
# 使用contour函数绘制等高线
plt.contour(X, Y, Z, levels=20)
# 使用contourf函数绘制填充的等高线(可选)
plt.contourf(X, Y, Z, levels=20, alpha=0.5, cmap='viridis')
# 添加标签和标题(可选)
plt.xlabel('X Label')
plt.ylabel('Y Label')
plt.title('Contour Plot')
# 显示图形
plt.show()
棒棒糖图
import matplotlib.pyplot as plt
# 创建数据
categories = ['A', 'B', 'C', 'D', 'E']
values = [10, 23, 17, 14, 28]
# 绘制棒棒糖棒
plt.stem(categories, values, linefmt='-', markerfmt='o')
# 添加标题和标签(可选)
plt.title('Lollipop Chart')
plt.xlabel('Categories')
plt.ylabel('Values')
# 显示图形
plt.show()
误差条形图
import matplotlib.pyplot as plt
# 创建数据
x = [1, 2, 3, 4, 5]
y = [10, 15, 9, 20, 17]
y_error = [1, 2, 1.5, 2.5, 1.2] # 误差
# 绘制误差条形图
plt.errorbar(x, y, yerr=y_error, fmt='o', capsize=5, color='blue')
# 添加标题和标签(可选)
plt.title('Error Bar Chart')
plt.xlabel('X Values')
plt.ylabel('Y Values')
# 显示图形
plt.show()
误差条形图是一种图表,用于展示数据的不确定性。它通过在每个数据点周围添加误差条来表示可能的值的范围,通常用于科学和工程图表,以展示测量的不确定性或统计的可变性。
下面是误差条形图的主要组成部分和含义:
-
中心点:每个误差条的中心点表示数据的平均值、中位数或特定测量值。
-
误差条:连接到中心点的线表示数据的变化范围或不确定性。误差条的长度可以代表标准偏差、标准误差、置信区间等。
-
误差线端部:误差条的端部(也称为“帽子”)可以更精确地表示误差范围的界限。
-
水平和垂直误差条:误差条可以是垂直的(yerr)或水平的(xerr),取决于你想表示哪个方向上的不确定性。