使用 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()
创建标签也是如此。
我不知道从哪里开始,因为我认为这对我来说是一种新方法。使用带有 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()
创建标签也是如此。