我正在绘制包含缺失值的数据条形图(np.nan)。似乎当np.nan值出现在最后一个类别中时,x轴刻度的位置与没有np.nans或NaN值处于不同位置时的位置不同。
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
years = np.array([2011, 2012, 2013, 2014, 2015])
x = np.arange(len(years))
y1 = np.array([ 29., 10., 16., 29., np.nan])
y2 = np.array([ 29., 10., np.nan, 29., 16.])
y3 = np.array([ np.nan, 29., 29., 10., 16.])
f = plt.figure(figsize=(4,6))
ax = f.add_subplot(311)
ax.bar(x, y1, align='center')
ax.set_xticks(x)
ax.set_xticklabels(years)
ax = f.add_subplot(312)
ax.bar(x, y2, align='center')
ax.set_xticks(x)
ax.set_xticklabels(years)
ax = f.add_subplot(313)
ax.bar(x, y3, align='center')
ax.set_xticks(x)
ax.set_xticklabels(years)
plt.show()
理想情况下,无论数据中是否存在NaN值,我都希望x轴标签位于同一位置。