我试图找到一种在python中绘制线性模型系数的好方法,我得到了以下内容:
import statsmodels.formula.api as sm
import seaborn as sns
import matplotlib as mpl
import matplotlib.pyplot as plt
f = 'change ~ close_r + close_f + close_f1 + close_f2 + gender + age + country_of_citizenship + country_of_origin + religion +ethnicity'
reg_results = sm.ols(f, data=data).fit().summary()
sns.set(style="ticks")
mpl.rc("figure", figsize=(10, 15))
sns.coefplot(f,data,intercept=False);
会产生以下丑陋的图(您无法看到x轴标签)。
如何旋转绘图使其垂直(即交换y轴和x轴以查看标签)?如何为系数添加自定义刻度名称(除了数据框中的默认名称)?
我也对替代解决方案/类型的情节持开放态度。
答案 0 :(得分:3)
当我提出问题时,M Waskow自己给了我一个解决方案:
ax = plt.gca()
plt.setp(ax.get_xticklabels(), rotation=90)
请参阅https://github.com/mwaskom/seaborn/issues/576
可以使用plt.gca().set_xlabel(list_of_strings)