You are missing the ax=ax
and use_index=False
arguments in the line plot function. This will draw the line in the same plot as the bars and it will prevent the line plot from using the timestamps for the x-axis. Instead, the x-axis units will start at zero like for the bar plot, so that the line is aligned with the bars. No need to convert the index and no need for matplotlib.
import pandas as pd # v 1.1.3
# Create sample dataset
idx = pd.date_range(start='2020-01-01 00:30', periods=3, freq='60T')
df_prog = pd.DataFrame({"Prognos tim": [2, 3, 3]}, index=idx)
# Combine pandas line and bar plots
ax = df_prog.plot.bar(figsize=(8,5))
df_prog.plot(use_index=False, linestyle='-', marker='o', color='r', ax=ax)
# Format labels
ax.set_xticklabels([ts.strftime('%H:%M') for ts in df_prog.index])
ax.figure.autofmt_xdate(rotation=0, ha='center')

If you omit the use_index=False
argument, both the bars and line are still drawn in the same figure except that the x limits are constrained to the second plot you create. As you can see here for example:
ax = df_prog.plot.bar(figsize=(8,5))
df_prog.plot(linestyle='-', marker='o', color='r', ax=ax) # plot line in bars plot
ax.set_xlim(-0.5,2.5); # the bars are here
# ax.set_xlim(26297300, 26297450); # the line is here, the values are pandas period units
