python - seaborn 如何更改垃圾箱的宽度
问题描述
我有一个等级表,我希望所有的箱子都在相同的宽度
我希望垃圾箱在 [0,56,60,65,70,80,85,90,95,100] 的范围内,当第一个垃圾箱从 0-56 到 56-60 时......宽度相同
sns.set_style('darkgrid')
newBins = [0,56,60,65,70,80,85,90,95,100]
sns.displot(data= scores , bins=newBins)
plt.xlabel('grade')
plt.xlim(0,100)
plt.xticks(newBins);
不是我要找的:
我怎样才能平衡垃圾箱的宽度?
解决方案
你需要作弊一点。定义您自己的垃圾箱并使用线性范围命名垃圾箱。这是一个例子:
s = pd.Series(np.random.randint(100, size=100000))
bins = [-0.1, 50, 75, 95, 101]
s2 = pd.cut(s, bins=bins, labels=range(len(bins)-1))
ax = s2.astype(int).plot.hist(bins=len(bins)-
1)
ax.set_xticks(np.linspace(0, len(bins)-2, len(bins)))
ax.set_xticklabels(bins)
输出:
老答案:
为什么不让 seaborn 为您挑选垃圾箱:
sns.displot(data=scores, bins='auto')
或设置您想要的垃圾箱数量:
sns.displot(data=scores, bins=10)
它们将均匀分布
推荐阅读
- arrays - 如何从另一个数组中获取具有批准 ID 的项目?地图()过滤器()还是?
- node.js - 等到 for 循环没有在节点 js 中完全执行
- google-apps-script - Google Apps 脚本 | 如何访问特定范围的行/列数据
- android - 如何比较 Android Studio 中的两个 Git 分支?
- typescript - Cloud Function 部署成功,但代码未得到反映。获取之前执行的日志
- svg - 如何使用radialGradient在svg背景中添加图像
- angular - 不分派多个动作
- javascript - 函数需要支持 Promises 和 Callbacks
- mongodb - 仅从 mongodb 集合中的嵌入式数组对象中获取特定字段
- c# - 使用 C# 在 Artemis 上发送队列消息