Я хочу ограничить ось X в зависимости от значения Y, такого как y <= 0 or y > 100
на графике, используя маску, как показано ниже.
Однако, это не работает так, как показано на рисунке ниже. Не могли бы вы дать мне несколько советов о том, где проблема в коде?
На самом деле, не имеет значения метод, такой как маска, если я могу построить только область видимости x для 'y <0'. </p>
Я использовал значение кадра данных CSV, используя pandas, и пропускал значения как предыдущее значение, используя df.ffill()
df = pd.read_csv(file.csv)
df1 = df.ffill()
x = np.array(df1['A'])
y = np.array(df1['B'])
z = np.array(df1['C'])
x_for_ax1 = np.ma.masked_where((y <= 0) | (y > 100), x)
fig, (ax2, ax1) = plt.subplots(ncols=1, nrows=2)
ax1.set_xlabel('X Axis')
ax1.set_ylabel('Y Axis')
ax2.set_ylabel('Z Axis')
ax1.set_ylim([-10, 40])
ax2.set_ylim([-5, 5])
ax1.set_xlim([x_for_ax1.min(), x_for_ax1.max()])
ax2.set_xlim([x_for_ax1.min(), x_for_ax1.max()])
ax1.plot(x, y, color='k', linewidth=1)
ax2.plot(x, z, color='k', linewidth=1)
plt.show()