使用 matplotlib 绘制模糊数据

Plotting fuzzy data with matplotlib

我不知道从哪里开始,因为我认为这对我来说是一种新方法。使用带有 python 的 matplotlib,我想绘制一组模糊数(例如一组三角形或钟形曲线模糊数),如下图所示:

您可以循环绘制曲线。我尝试重现您的示例(包括标签 1 和 6 的叠加):

import matplotlib.pyplot as plt
import numpy as np

# creating the figure and axis
fig, ax = plt.subplots(1,1,constrained_layout=True)

# generic gaussian
y = np.linspace(-1,1,100)
x = np.exp(-5*y**2)

center_x = (0,2,4,1,3,0,5)
center_y = (6,2,3,4,5,6,7)

# loop for all the values
for i in range(len(center_x)):
    x_c, y_c = center_x[i], center_y[i]
    # plotting the several bells, relocated to (x_c, y_c)
    ax.plot(x + x_c,y + y_c,
            color='red',linewidth=2.0)
    ax.plot(x_c,y_c,
            'o',color='blue',markersize=3)
    # adding label
    ax.annotate(
        str(i+1),
        (x_c - 0.1,y_c), # slight shift in x
        horizontalalignment='right',
        verticalalignment='center',
        color='blue',
        )

ax.grid()

每次调用 ax.plot() 都是在同一轴上添加点或曲线(更准确地说,Artists)。 ax.annotate() 创建标签也是如此。