使用 seaborn 更改直方图上的轴单位

Posted

技术标签:

【中文标题】使用 seaborn 更改直方图上的轴单位【英文标题】:Change the axis units on a histogram using seaborn 【发布时间】:2018-01-11 21:30:43 【问题描述】:

我正在从事 udacity ML 纳米学位的波士顿住房项目,该项目使用以下data set:

我正在使用 seabron 绘制数据的直方图:

df = pd.read_csv('housing.csv')
sns.distplot(df['MEDV'])

这看起来不错,但我不喜欢轴的比例,很难阅读。 如何将 x 轴设置为千位和 Y 轴 10e-3?

【问题讨论】:

【参考方案1】:

您可以简单地将系列除以 100,即

sns.distplot(df['MEDV']/100)
plt.show()

希望对你有帮助

【讨论】:

【参考方案2】:

您应该可以使用 matplotlib.pyplot.ticklabel_format 完成此操作:

import matplotlib.pyplot as plt
df = pd.read_csv('housing.csv')
g = sns.distplot(df['MEDV'])  
plt.ticklabel_format(style='sci', axis='both', scilimits=(0,0))

让我知道这是否是您想要的!祝你好运!

【讨论】:

g = sns.distplot(df['MEDV']) 与 plt.ticklabel_format() 有什么关系?我在其他任何地方都没有看到 g? 我相信它只是改变了所有 matplotlib 绘图的默认刻度标签格式。例如,如果您在代码的最开头运行plt.ticklabel_format(style='sci', axis='both', scilimits=(0,0),它的工作方式相同。更多的是设置更改而不是图表更改。

以上是关于使用 seaborn 更改直方图上的轴单位的主要内容,如果未能解决你的问题,请参考以下文章

Seaborn 概率直方图 - KDE 归一化

如何更改 seaborn 直方图以在一天中的几个小时内工作?

使用 seaborn 绘制多个直方图

使用 Seaborn Python 绘制 CDF + 累积直方图

python 示例显示如何使用累积比绘制直方图。使用seaborn.FacetGrid()绘制多个直方图。

使用 seaborn 为数据框绘制直方图