python - 如何为两个子图设置相等的刻度数?
问题描述
我有两个水平条的子图matplotlib
。对于第一个子图,y 轴刻度数是合适的,但我无法弄清楚为什么为第二个子图指定刻度数是错误的。这是代码:
import matplotlib.pyplot as plt
import numpy as np
# Plot separate subplots for genders
fig, (axes1, axes2) = plt.subplots(nrows=1, ncols=2,
sharex=False,
sharey=False,
figsize=(15,10))
labels = list(out.index)
x = ["20%", "40%", "60%", "80%", "100%"]
y = np.arange(len(out))
width = 0.5
axes1.barh(y, female_distr, width, color="olive",
align="center", alpha=0.8)
axes1.ticks_params(nbins=6)
axes1.set_yticks(y)
axes1.set_yticklabels(labels)
axes1.set_xticklabels(x)
axes1.yaxis.grid(False)
axes1.set_xlabel("Occurence (%)")
axes1.set_ylabel("Language")
axes1.set_title("Language Distribution (Women)")
axes2.barh(y, male_distr, width, color="chocolate",
align="center", alpha=0.8)
axes2.locator_params(nbins=6)
axes2.set_yticks(y)
axes2.set_yticklabels(labels)
axes2.set_xticklabels(x)
axes2.yaxis.grid(False)
axes2.set_xlabel("Occurence (%)")
axes2.set_ylabel("Language")
axes2.set_title("Language Distribution (Men)")
其余的对象out
都是简单的数据框,我认为这里不需要描述。上面的代码返回以下图:
我希望第二个子图具有相同数量的刻度,但尝试nbins
总是导致比第一个子图更多或更少的刻度。
解决方案
推荐阅读
- regex - 正则表达式 url 验证器的问题
- android-studio - 从 Mac 中的 .android 文件夹中删除构建缓存是否安全
- python - 如何向特定用户提供特殊信息页面的访问权限
- junit - 模拟来自另一个类的对象
- scala - 用于加特林 3 的 CSV 馈线
- java - 尝试在非活动类中调用方法时的 Java NPE
- python - api调用的python脚本
- jquery - How to resize an image while dragging a cursor using jQuery (Draggable & Resizable)
- php - 获取PHP中两个日期之间确切差异的简单方法,包括毫秒
- r - 以 R 中另一列中的切换布尔变量为条件选择数据框中的行