What I want to do is the 2x2 charts in the subtitle. Then for each figure I will use two y axes. Therefore, for each chart, I used the twinx () method. The problem, as you see in the figure that I shared, is that it does not show xlabel and xticks for the first line. For the second line, everything is fine. I pointed out the problem in the red font in the figure ("No xlabel and xticks !!!").
Each chart has its own x-axis and y-axis, and this is not shared.
I changed this code a lot and narrowed down the problem creator. This is because I use doublex () in the top lines. If I try to remove the secondary y axis, everything will return to normal, and xlabel and ylabel for the top rows will be displayed correctly.
I do not know what's the problem!
This is the code I'm working on.
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from io import StringIO
s = StringIO(u""" amount price
A 40929 4066443
B 93904 9611272
C 188349 19360005
D 248438 24335536
E 205622 18888604
F 140173 12580900
G 76243 6751731
H 36859 3418329
I 29304 2758928
J 39768 3201269
K 30350 2867059""")
df = pd.read_csv(s, index_col=0, delimiter=' ', skipinitialspace=True)
fig = plt.figure()
ax_2 = fig.add_subplot(222, sharex=None, sharey=None)
ax_22 = ax_2.twinx()
ax_2.plot([1, 3, 5, 7, 9])
ax_22.plot([1.0/x for x in [1, 3, 5, 7, 9]])
ax_2.set_xlabel("AX2 X Lablel")
ax_2.set_ylabel("AX2 Y Lablel")
ax_22.set_ylabel("AX2_Twin Y Lablel")
ax_2 = fig.add_subplot(223, sharex=None, sharey=None)
ax_22 = ax_2.twinx()
ax_2.plot([100, 300, 500, 700, 900])
ax_22.plot([x*x for x in [100, 300, 500, 700, 900]])
ax_2.set_xlabel("AX3 X Lablel")
ax_2.set_ylabel("AX3 Y Lablel")
ax_22.set_ylabel("AX3_Twin Y Lablel")
ax_2 = fig.add_subplot(224, sharex=None, sharey=None)
ax_22 = ax_2.twinx()
ax_2.set_xlabel("AX4 X Lablel")
ax_2.set_ylabel("AX4 Y Lablel")
ax_22.set_ylabel("AX4_Twin Y Lablel")
ax = fig.add_subplot(221, sharex=None, sharey=None)
ax2 = ax.twinx()
width = 0.4
df.amount.plot(kind='bar', color='red', ax=ax, width=width, position=1, sharex=False, sharey=False)
df.price.plot(kind='bar', color='blue', ax=ax2, width=width, position=0, sharex=False, sharey=False)
ax.set_xlabel("Alphabets")
ax.set_ylabel('Amount')
ax2.set_ylabel('Price')
plt.subplots_adjust(wspace=0.8, hspace=0.8)
plt.savefig("t1.png", dpi=300)
plt.show()
It generates the following picture:

Edition:
Thanks for answers. However, my problem still exists when using Pandas in charting. I opened a new question. Please take a look at this:
matplotlib - Pandas - no xlabel and xticks for double axes in adjusted digits