Code like this results in bad domains on both axes:
data = {
'cat': ['a', 'b'],
'min': [-4, -2],
'lower': [-2, -1],
'middle': [0, 0],
'upper': [2, 1],
'max': [4, 2]
}
ggplot(data) + \
geom_boxplot(aes(y='cat', xmin='min', lower='lower', middle='middle', upper='upper', xmax='max'), stat='identity')

Explicitly setting orientation and using other aesthetics don't help to get a correct horizontal boxplot.