The easiest approach I can think of is to 'reencode' your categorical (or in your case ordinal) data as numeric. This will allow you to easily plot the data. Once plotted you can adjust the figure's labels to display categories instead of numbers. Using this approach you'll be able to add, remove and reorder your categories as you see fit.
import matplotlib.pyplot as plt
import pandas as pd
values_1 = ['Low', 'High', 'Low', 'Medium']
values_2 = ['High', 'Low', 'Low', 'High']
dates = pd.to_datetime(['2021-01-01', '2021-01-02', '2021-01-02', '2021-01-03' ])
cols = ['date', 'item_1', 'item_2']
df = pd.DataFrame({'dates': dates, 'item_1': values_1, 'item_2': values_2})
# Dict for converting categories to bar chart heights
cat_to_bar = {'Low': 1, 'Medium': 2, 'High': 3}
# Reencode categorical values as numeric
df[['item_1', 'item_2']] = df[['item_1', 'item_2']].replace(cat_to_bar)
# Use dates as our index
df = df.set_index('dates')
df
[out]
dates item_1 item_2
2021-01-01 1 3
2021-01-02 3 1
2021-01-02 1 1
2021-01-03 2 3
ax = df.plot(kind='bar')
# Force the y-axis to only have ticks at category heights
ax.set_yticks(list(cat_to_bar.values()))
# change y axis labels from numbers to our category names
ax.set_yticklabels(list(cat_to_bar.keys()))
