# 开始绘图
fig, ax1 = plt.subplots()
fig.set_size_inches(12, 6)
plt.set_cmap('RdBu')
# multiple line plot
x = np.arange(featureValuedf.shape[1]) # x坐标的范围
lw = 4 # 控制线条的粗细
a, = ax1.plot(x, featureValuedf.loc['Back'].to_numpy(),linewidth=lw, label='Back', marker='o', markersize=12)
b, = ax1.plot(x, featureValuedf.loc['Land'].to_numpy(), linewidth=lw, label='Land', marker='o', markersize=12)
c, = ax1.plot(x, featureValuedf.loc['Neptune'].to_numpy(), linewidth=lw, label='Neptune', marker='o', markersize=12)
d, = ax1.plot(x, featureValuedf.loc['Pod'].to_numpy(), linewidth=lw, label='Pod', marker='o', markersize=12)
e, = ax1.plot(x, featureValuedf.loc['Smurf'].to_numpy(), linewidth=lw, label='Smurf', marker='o', markersize=12)
f, = ax1.plot(x, featureValuedf.loc['Teardrop'].to_numpy(), linewidth=lw, label='Teardrop', marker='o', markersize=12)
plt.legend(handles = [a,b,c,d,e,f])
ax1.plot([x[0]-w, x[-1]+w], [0, 0], color='navy', lw=10, linestyle='-', alpha=0.3) # 这是y=0的直线(粗)
ax1.plot([x[0]-w, x[-1]+w], [0, 0], color='navy', lw=1, linestyle='--', alpha=0.3) # 这是y=0的直线(细)
# 设置坐标轴的标签
ax1.yaxis.set_tick_params(labelsize=15) # 设置y轴的字体的大小
ax1.set_xticks(x) # 设置xticks出现的位置
# 创建xticks
xticksName = []
for i in range(len(binRange)-1):
# print(['{}
xticksName = xticksName + ['{}
ax1.set_xticklabels(xticksName, fontsize = 'large') # 设置xticks的值
# 设置x轴的范围
ax1.set_xlim(x[0]-0.3*w, x[-1]+0.3*w) # 设置x轴的范围
# 设置坐标轴名称
ax1.set_ylabel("SHAP Value", fontsize='xx-large')
ax1.set_xlabel("x={}".format(featureName), fontsize='xx-large')
# 设置标题
ax1.set_title('The SHAP Value of {} of Different Classifications'.format(featureName), fontsize='x-large')
plt.show()