python中的系数图

时间:2015-02-21 05:08:53

标签: python matplotlib plot seaborn

我试图找到一种在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轴标签)。

enter image description here

如何旋转绘图使其垂直(即交换y轴和x轴以查看标签)?如何为系数添加自定义刻度名称(除了数据框中的默认名称)?

我也对替代解决方案/类型的情节持开放态度。

1 个答案:

答案 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)

设置Xaxis刻度标签