Я не понимаю, что вы имеете в виду, когда они сортируются - разве они не отображают 112, 0.90178 и не подключают его к 110.89899, 0.90779 и т. Д.?
Чтобы разделить ось X, но иметь 2 оси Y, на которых нанесены определенные наборы, используйте twinx
fig, ax1 = plt.subplots()
ax1.plot(df.col_0, df.col_1)
ax2 = ax1.twinx()
ax2.plot(df.col_0, df.col_2)
re: как построить в нужном вам порядке
Я полагаю, что вы намерены построить эти значения в зависимости от времени или индекса. Для этого я предлагаю:
fig, ax1 = plt.subplots()
ax1.plot(df['Time'], df.col_0) # or df.index, df.col_0
ax2 = ax1.twinx()
ax2.plot(df['Time'], df.col_1)