python - 如何降低 seaborn 中 x-ticks 的密度

标签 python matplotlib seaborn

我有一些数据,我正试图根据这些数据在 seaborn 中构建一个计数图。所以我做了这样的事情:

data = np.hstack((np.random.normal(10, 5, 10000), np.random.normal(30, 8, 10000))).astype(int)
plot_ = sns.countplot(data)

并获取我的计数图:

enter image description here

问题是 x 轴上的刻度太密集(这使它们毫无用处)。我尝试使用 plot_.xticks=np.arange(0, 40, 10) 来降低密度,但没有用。

还有没有办法用一种颜色制作情节?

最佳答案

报价频率

这里似乎有多个问题:

    1. 您在使用 plt.xticks 时使用了 = 运算符。您应该改用函数调用(但不是在这里;请先阅读第 2 点)!
    1. seaborn 的计数图返回轴对象,而不是图形
      • 您需要使用改变 x 刻度的轴级方法(这不是 plt.xticks())

试试这个:

for ind, label in enumerate(plot_.get_xticklabels()):
    if ind % 10 == 0:  # every 10th label is kept
        label.set_visible(True)
    else:
        label.set_visible(False)

颜色

我认为这里的数据设置对于这种类型的图来说不是最佳的。 Seaborn 将每个独特的值解释为新的类别并引入新的颜色。如果我是对的,颜色/和 x-ticks 的数量等于 np.unique(data) 的数量。

将您的数据与 seaborn 的示例进行比较(这些示例均基于可导入检查的数据)。

我还认为使用 pandas 数据帧(而不是 numpy 数组;我经常以错误的方式准备数据,子集选择需要预处理;数据帧提供更多)与 seaborn 一起工作要容易得多。我认为大多数 seaborn 示例都使用此数据输入。

关于python - 如何降低 seaborn 中 x-ticks 的密度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38947115/

相关文章:

python - 如何让 list_blobs 表现得像 gsutil

python - Django 开发服务器错误 : image not found

python - 如何根据 matplotlib 中的一些规则为数据点着色

python - 如何在 matplotlib 约束布局模式下检索轴的真实位置

python - seaborn中没有线性拟合的散点图

python - pip install 在 OpenShift 中失败,错误信息为 Permission Denied

python - json.dump python mysql 结果

在 mayavi 场景窗口关闭之前,Python 脚本不会继续

python - Seaborn light_palette 包括 cmap 中的白色

matplotlib - 当输入是DataFrame时,将框图分组在seaborn中