Matplotlib improve broken axis in subplots

I want to create a break between subplots but would like to have the left side cover 80% of the plot and the right side 20% of the plot. I adjusted the x-axis as well to cover only the data but ideally, the plot would cover a portion of the same scale so that the data has the same stretch.

Also, is there a way to have the 2 sublplots closer to each other with a breakline in between? The .csv file with the data can be found here.

import numpy as np
import matplotlib.pyplot as plt
from pandas import read_csv
import pandas as pd
import csv
import datetime
import matplotlib.dates as mdates
import matplotlib.gridspec as gridspec
from datetime import datetime
import datetime as dt
import statistics

csv = 'Data.csv'

df = pd.read_csv(csv, header=None, names=['time', 'tide', 'ho', 'tp', 'lo', 'mwd'])
xp = [datetime.strptime(d, "%d/%m/%YT%H:%M") for d in df['time']]

xs = mdates.date2num(xp)
date = mdates.DateFormatter ("%d/%m/%Y\n")

fig = plt.figure(tight_layout=False)
gs = gridspec.GridSpec(4, 2)

#Subplot 1 
ax11 = fig.add_subplot(gs[0, 0])
ax11.xaxis.set_major_formatter(date)
ax11.set_xlim(dt.datetime(2019, 3, 1, 0), dt.datetime(2019, 9, 30, 0))

ax12 = fig.add_subplot(gs[0, 1])
ax12.xaxis.set_major_formatter(date)
ax12.set_xlim(dt.datetime(2020, 8, 1, 0), dt.datetime(2020, 9, 30, 0))

#surveys
ax11.axvline(dt.datetime(2019,3,26,14), color = 'red', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,4,10,14), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,4,11,15), color = 'red', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,5,1,9), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,5,3,10), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,5,10,15), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,5,17,9), color = 'red', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,5,20,12), color = 'red', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,6,6,13), color = 'red', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,6,14,8), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,6,18,12), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,6,21,14), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,6,24,16), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,6,25,6), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,6,25,17), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,7,2,11), color = 'red', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,7,3,11), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,7,4,12), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,7,16,10), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,7,31,10), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,8,1,11), color = 'red', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,8,28,9), color = 'blue', linestyle='--', linewidth='1')
ax11.axvline(dt.datetime(2019,9,13,11), color = 'red', linestyle='--', linewidth='1')

ax12.axvline(dt.datetime(2020,8,30,11), color = 'red', linestyle='--', linewidth='1')
ax12.axvline(dt.datetime(2020,9,15,9), color = 'blue', linestyle='--', linewidth='1')
ax12.axvline(dt.datetime(2020,9,21,11), color = 'red', linestyle='--', linewidth='1')

#subplot 1
plt.setp(ax11.get_xticklabels(), visible=True)
ax11.set_ylabel ('$H_o\ [m]$', size = 12)
ax11.grid(True, ls='--')
ax11.plot(xs, df['ho'], linewidth = 1, color = 'k')

plt.setp(ax12.get_xticklabels(), visible=True)
ax12.grid(True, ls='--')
ax12.plot(xs, df['ho'], linewidth = 1, color = 'k')

ax11.spines['right'].set_visible(False)
ax12.spines['left'].set_visible(False)
ax11.yaxis.tick_left()
ax11.tick_params(labeltop='off')
ax12.tick_params(labelleft = 'off')
ax12.tick_params(left = 'off')

Your task was twofold: first, you wanted the horizontal ratio of the subplot to be 8 to 2. Second, you made the assumption that you wanted to set up a broken axis. The horizontal ratio of the subplot can be handled by gridspec_ratios=[4,1] as shown in the comments; the second is to apply the broken axes from the Broken Axis. Vertical lines have been omitted.

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import matplotlib.ticker as ticker
import datetime as dt
from datetime import datetime

csv = './data/Data_20220114.csv'
df = pd.read_csv(csv, header=None, names=['time', 'tide', 'ho', 'tp', 'lo', 'mwd'])
xp = [datetime.strptime(d, "%d/%m/%YT%H:%M") for d in df['time']]
xs = mdates.date2num(xp)
    months_fmt = mdates.DateFormatter('%d/%m/%Y\n')

fig, (ax11, ax12) = plt.subplots(1, 2, figsize=(12,3), gridspec_kw=dict(width_ratios=[4,1]), sharex=False)
fig.subplots_adjust(wspace=0.05)

ax11.plot(xs, df['ho'], linewidth = 1, color = 'k')
ax11.xaxis.set_major_locator(mdates.MonthLocator(interval=3))
ax11.xaxis.set_major_formatter(months_fmt)
plt.setp(ax11.get_xticklabels(), rotation=45, ha='right')
ax11.set_ylabel ('$H_o\ [m]$', size = 12)
ax11.grid(True, ls='--')

ax12.plot(xs[-1440:], df['ho'][-1440:], linewidth = 1, color = 'k')
ax12.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
ax12.xaxis.set_major_formatter(months_fmt)
plt.setp(ax12.get_xticklabels(), rotation=45, ha='right')
ax12.grid(True, ls='--')

ax11.spines.right.set_visible(False)
ax12.spines.left.set_visible(False)
ax11.yaxis.tick_left()
ax12.tick_params(labelleft=False)
ax12.yaxis.tick_right()

d = 0.8  # proportion of vertical to horizontal extent of the slanted line
kwargs = dict(marker=[(-1, -d), (1, d)], markersize=12,
              linestyle="none", color='k', mec='k', mew=1, clip_on=False)
ax11.plot([1, 1], [1, 0], transform=ax11.transAxes, **kwargs)
ax12.plot([0, 0], [1, 0], transform=ax12.transAxes, **kwargs)

plt.show()

enter image description here