python 中的系数图
coefficient plot in python
我试图找到一种很好的方法来绘制 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 轴以查看标签)?以及如何为系数添加自定义刻度名称(数据框中的默认名称除外)?
我也愿意接受其他 solutions/type 情节。
当我提出这个问题时,M Waskow 亲自给我的解决方案:
ax = plt.gca()
plt.setp(ax.get_xticklabels(), rotation=90)
见https://github.com/mwaskom/seaborn/issues/576
X 轴刻度标签可以用 plt.gca().set_xlabel(list_of_strings)
设置
我试图找到一种很好的方法来绘制 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 轴以查看标签)?以及如何为系数添加自定义刻度名称(数据框中的默认名称除外)?
我也愿意接受其他 solutions/type 情节。
当我提出这个问题时,M Waskow 亲自给我的解决方案:
ax = plt.gca()
plt.setp(ax.get_xticklabels(), rotation=90)
见https://github.com/mwaskom/seaborn/issues/576
X 轴刻度标签可以用 plt.gca().set_xlabel(list_of_strings)