我想使用此方法生成包含垂直排列的各种标签的绘图:
def feat_imp(df, model, title, n_features, file_exp, format_exp):
d = dict(zip(df.columns, model.feature_importances_))
ss = sorted(d, key=d.get, reverse=True)
top_names = ss[0:n_features]
plt.figure()
plt.tight_layout()
plt.title(title)
plt.bar(range(n_features), [d[i] for i in top_names], color="g", align="center")
plt.xlim(-1, n_features)
plt.xticks(range(n_features), top_names, rotation='vertical')
plt.savefig(file_exp, format=format_exp, dpi=1200)
但是,执行此操作时,matplotlib创建EPS文件时不考虑标签(我需要EPS):
我这样称呼def:
feat_imp(df_K562, model, "Feature importances (" + cell_name + " - " + model_name + " - TOP 30)", 30, root_path + dest_path + "TOP30.eps", "eps")
我尝试在matplotlib配置文件中激活“autoSize”,尝试放置特定的dpi,并设置plt.tight_layout()。似乎什么都不管用。有什么想法吗
我已经像这样编辑了def,它可以工作:
相关问题 更多 >
编程相关推荐