如何解决我如何在垃圾桶的中心标记xticks,以获取海洋的distplot?
我想在箱子的中点使用带xticks的seaborn来绘制分配图。我正在使用以下代码:
sns.distplot(df['MILEAGE'],kde=False,bins=20)
解决方法
在您的特定情况下,您可以获取图形的刻度并将其添加25,以将其移动到小节的中间。您也可以完全重置它们。
ticks = plt.gca().get_xticks()
ticks += 25
plt.xticks(ticks)
或者,如果您使用matplotlib绘制直方图,则可以直接获取垃圾箱:
x = np.random.rand(100)
# Matplotlib only
counts,bins,patches = plt.hist(x)
plt.xticks(bins + 25)
,
要获取条的中点,可以提取生成的矩形补丁并将其宽度的一半加到其x位置。将这些中点设置为xticks将标记条形。
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
ax = sns.distplot(np.random.randn(1000).cumsum(),kde=False,bins=20)
mids = [rect.get_x() + rect.get_width() / 2 for rect in ax.patches]
ax.set_xticks(mids)
plt.show()
如果刻度标签重叠太多,则可以旋转它们和/或调整其字体大小:
ax.tick_params(axis='x',rotation=90,labelsize=8)
如果您需要纸槽边缘而不是它们的中心:
edges = [rect.get_x() for rect in ax.patches] + [ax.patches[-1].get_x() + ax.patches[-1].get_width()]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。