【发布时间】:2019-06-19 14:22:39
【问题描述】:
我试图绘制一个以零为中心的分布,因此我想在 0 处显示 y 轴脊椎,但我想将刻度标签本身保持在图形的左侧(即在地块区域)。我认为这可以通过tick_params 实现,但labelleft 选项似乎将标签保持在中心。一个简短的例子如下:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(1)
vals = np.random.normal(loc=0, scale=10, size=300)
bins = range(int(min(vals)), int(max(vals))+1)
fig, ax = plt.subplots(figsize=(15,5))
ax.hist(vals, bins=bins)
ax.spines['left'].set_position('zero')
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.grid(axis='y', which='major', alpha=0.5)
plt.show()
这给了你:
我希望标签位于网格线的左端,而不是绘图的中心。
【问题讨论】:
标签: python pandas matplotlib