<p dir="auto">In vertically oriented catplot, y axis is always reverted in the rightmost panel.</p>
<p dir="auto">seaborn 0.10.1<br>
Python 3.7.3<br>
Windows</p>
<p dir="auto">I created a <code class="notranslate">DataFrame</code> as below:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import pandas as pd
concatdf = pd.DataFrame([])
l = list(range(30))
df = pd.DataFrame(l, columns=[&quot;value 1&quot;])
df[&quot;value 2&quot;] = df[&quot;value 1&quot;]
df[&quot;category&quot;] = &quot;a&quot;
concatdf = concatdf.append(df)
df = pd.DataFrame(l, columns=[&quot;value 1&quot;])
df[&quot;value 2&quot;] = df[&quot;value 1&quot;]*2
df[&quot;category&quot;] = &quot;b&quot;
concatdf = concatdf.append(df)
df = pd.DataFrame(l, columns=[&quot;value 1&quot;])
df[&quot;value 2&quot;] = df[&quot;value 1&quot;]*3
df[&quot;category&quot;] = &quot;c&quot;
concatdf = concatdf.append(df)"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-s1">pandas</span> <span class="pl-k">as</span> <span class="pl-s1">pd</span>
<span class="pl-s1">concatdf</span> <span class="pl-c1">=</span> <span class="pl-s1">pd</span>.<span class="pl-v">DataFrame</span>([])
<span class="pl-s1">l</span> <span class="pl-c1">=</span> <span class="pl-en">list</span>(<span class="pl-en">range</span>(<span class="pl-c1">30</span>))
<span class="pl-s1">df</span> <span class="pl-c1">=</span> <span class="pl-s1">pd</span>.<span class="pl-v">DataFrame</span>(<span class="pl-s1">l</span>, <span class="pl-s1">columns</span><span class="pl-c1">=</span>[<span class="pl-s">"value 1"</span>])
<span class="pl-s1">df</span>[<span class="pl-s">"value 2"</span>] <span class="pl-c1">=</span> <span class="pl-s1">df</span>[<span class="pl-s">"value 1"</span>]
<span class="pl-s1">df</span>[<span class="pl-s">"category"</span>] <span class="pl-c1">=</span> <span class="pl-s">"a"</span>
<span class="pl-s1">concatdf</span> <span class="pl-c1">=</span> <span class="pl-s1">concatdf</span>.<span class="pl-en">append</span>(<span class="pl-s1">df</span>)
<span class="pl-s1">df</span> <span class="pl-c1">=</span> <span class="pl-s1">pd</span>.<span class="pl-v">DataFrame</span>(<span class="pl-s1">l</span>, <span class="pl-s1">columns</span><span class="pl-c1">=</span>[<span class="pl-s">"value 1"</span>])
<span class="pl-s1">df</span>[<span class="pl-s">"value 2"</span>] <span class="pl-c1">=</span> <span class="pl-s1">df</span>[<span class="pl-s">"value 1"</span>]<span class="pl-c1">*</span><span class="pl-c1">2</span>
<span class="pl-s1">df</span>[<span class="pl-s">"category"</span>] <span class="pl-c1">=</span> <span class="pl-s">"b"</span>
<span class="pl-s1">concatdf</span> <span class="pl-c1">=</span> <span class="pl-s1">concatdf</span>.<span class="pl-en">append</span>(<span class="pl-s1">df</span>)
<span class="pl-s1">df</span> <span class="pl-c1">=</span> <span class="pl-s1">pd</span>.<span class="pl-v">DataFrame</span>(<span class="pl-s1">l</span>, <span class="pl-s1">columns</span><span class="pl-c1">=</span>[<span class="pl-s">"value 1"</span>])
<span class="pl-s1">df</span>[<span class="pl-s">"value 2"</span>] <span class="pl-c1">=</span> <span class="pl-s1">df</span>[<span class="pl-s">"value 1"</span>]<span class="pl-c1">*</span><span class="pl-c1">3</span>
<span class="pl-s1">df</span>[<span class="pl-s">"category"</span>] <span class="pl-c1">=</span> <span class="pl-s">"c"</span>
<span class="pl-s1">concatdf</span> <span class="pl-c1">=</span> <span class="pl-s1">concatdf</span>.<span class="pl-en">append</span>(<span class="pl-s1">df</span>)</pre></div>
<p dir="auto">this <code class="notranslate">concatdf</code> gives this:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import seaborn as sns
g = sns.catplot(x=&quot;value 1&quot;, y=&quot;value 2&quot;, hue=&quot;category&quot;, data=concatdf)"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-s1">seaborn</span> <span class="pl-k">as</span> <span class="pl-s1">sns</span>
<span class="pl-s1">g</span> <span class="pl-c1">=</span> <span class="pl-s1">sns</span>.<span class="pl-en">catplot</span>(<span class="pl-s1">x</span><span class="pl-c1">=</span><span class="pl-s">"value 1"</span>, <span class="pl-s1">y</span><span class="pl-c1">=</span><span class="pl-s">"value 2"</span>, <span class="pl-s1">hue</span><span class="pl-c1">=</span><span class="pl-s">"category"</span>, <span class="pl-s1">data</span><span class="pl-c1">=</span><span class="pl-s1">concatdf</span>)</pre></div>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/16083688/83445376-2fd2c280-a44d-11ea-9677-24b67d05c726.png"><img src="https://user-images.githubusercontent.com/16083688/83445376-2fd2c280-a44d-11ea-9677-24b67d05c726.png" alt="sandbox1" style="max-width: 100%;"></a></p>
<p dir="auto">Plotting with <code class="notranslate">columns="category"</code> with <code class="notranslate">orient="v"</code> is fine.</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="g = sns.catplot(x=&quot;value 1&quot;, y=&quot;value 2&quot;, hue=&quot;category&quot;, data=concatdf,
    row=&quot;category&quot;,
    sharex=True,
    sharey=False,
    orient=&quot;v&quot;,
    aspect=3, height=1.7)"><pre class="notranslate"><span class="pl-s1">g</span> <span class="pl-c1">=</span> <span class="pl-s1">sns</span>.<span class="pl-en">catplot</span>(<span class="pl-s1">x</span><span class="pl-c1">=</span><span class="pl-s">"value 1"</span>, <span class="pl-s1">y</span><span class="pl-c1">=</span><span class="pl-s">"value 2"</span>, <span class="pl-s1">hue</span><span class="pl-c1">=</span><span class="pl-s">"category"</span>, <span class="pl-s1">data</span><span class="pl-c1">=</span><span class="pl-s1">concatdf</span>,
    <span class="pl-s1">row</span><span class="pl-c1">=</span><span class="pl-s">"category"</span>,
    <span class="pl-s1">sharex</span><span class="pl-c1">=</span><span class="pl-c1">True</span>,
    <span class="pl-s1">sharey</span><span class="pl-c1">=</span><span class="pl-c1">False</span>,
    <span class="pl-s1">orient</span><span class="pl-c1">=</span><span class="pl-s">"v"</span>,
    <span class="pl-s1">aspect</span><span class="pl-c1">=</span><span class="pl-c1">3</span>, <span class="pl-s1">height</span><span class="pl-c1">=</span><span class="pl-c1">1.7</span>)</pre></div>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/16083688/83445425-424cfc00-a44d-11ea-8c60-26ae81cffd95.png"><img src="https://user-images.githubusercontent.com/16083688/83445425-424cfc00-a44d-11ea-8c60-26ae81cffd95.png" alt="sandbox3" style="max-width: 100%;"></a></p>
<p dir="auto">When I switch <code class="notranslate">x</code> and <code class="notranslate">y</code>, <code class="notranslate">sharex</code> and <code class="notranslate">sharey</code>, <code class="notranslate">orient</code>, in the rightmost panel, y axis (value 1) is totally reverted:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="g = sns.catplot(x=&quot;value 2&quot;, y=&quot;value 1&quot;, hue=&quot;category&quot;, data=concatdf,
    col=&quot;category&quot;,
    sharex=False,
    sharey=True,
    orient=&quot;h&quot;,
    aspect=0.3)"><pre class="notranslate"><span class="pl-s1">g</span> <span class="pl-c1">=</span> <span class="pl-s1">sns</span>.<span class="pl-en">catplot</span>(<span class="pl-s1">x</span><span class="pl-c1">=</span><span class="pl-s">"value 2"</span>, <span class="pl-s1">y</span><span class="pl-c1">=</span><span class="pl-s">"value 1"</span>, <span class="pl-s1">hue</span><span class="pl-c1">=</span><span class="pl-s">"category"</span>, <span class="pl-s1">data</span><span class="pl-c1">=</span><span class="pl-s1">concatdf</span>,
    <span class="pl-s1">col</span><span class="pl-c1">=</span><span class="pl-s">"category"</span>,
    <span class="pl-s1">sharex</span><span class="pl-c1">=</span><span class="pl-c1">False</span>,
    <span class="pl-s1">sharey</span><span class="pl-c1">=</span><span class="pl-c1">True</span>,
    <span class="pl-s1">orient</span><span class="pl-c1">=</span><span class="pl-s">"h"</span>,
    <span class="pl-s1">aspect</span><span class="pl-c1">=</span><span class="pl-c1">0.3</span>)</pre></div>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/16083688/83445399-38c39400-a44d-11ea-89ea-1c4e5d7d5ad2.png"><img src="https://user-images.githubusercontent.com/16083688/83445399-38c39400-a44d-11ea-89ea-1c4e5d7d5ad2.png" alt="sandbox2" style="max-width: 100%;"></a></p>
<p dir="auto">Hi everyone, I'm attempting to plot up data like this into a faceted violin plot with split violins:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="# Set up faceted data for plotting using catplot
sample_data = pd.DataFrame({'row': np.random.choice(['a', 'b'], 1000),
                            'col': np.random.choice(['c', 'd'], 1000),
                            'hue': np.random.choice(['g', 'h'], 1000),
                            'a': np.random.choice(['e', 'f'], 1000),
                            'b': np.random.randn(1000)})"><pre class="notranslate"><code class="notranslate"># Set up faceted data for plotting using catplot
sample_data = pd.DataFrame({'row': np.random.choice(['a', 'b'], 1000),
                            'col': np.random.choice(['c', 'd'], 1000),
                            'hue': np.random.choice(['g', 'h'], 1000),
                            'a': np.random.choice(['e', 'f'], 1000),
                            'b': np.random.randn(1000)})
</code></pre></div>
<p dir="auto">This works fine when I plot a standard vertical faceted plot: all the blue hued violins are on the left, and all the orange violins are on the right:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="# Plot horizontal catplot             
sns.catplot(x='a', 
            y='b', 
            col='col', 
            row='row', 
            hue='hue', 
            data=sample_data,
            kind='violin', 
            split=True, 
            inner=None,
            height=2,
            aspect=1.5)"><pre class="notranslate"><code class="notranslate"># Plot horizontal catplot             
sns.catplot(x='a', 
            y='b', 
            col='col', 
            row='row', 
            hue='hue', 
            data=sample_data,
            kind='violin', 
            split=True, 
            inner=None,
            height=2,
            aspect=1.5)
</code></pre></div>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/17680388/60630395-44719980-9e3d-11e9-952c-67329b759b43.JPG"><img src="https://user-images.githubusercontent.com/17680388/60630395-44719980-9e3d-11e9-952c-67329b759b43.JPG" alt="Capture" style="max-width: 100%;"></a></p>
<p dir="auto">However, when I attempt to plot a horizontal violin plot using the <code class="notranslate">orient='h'</code> parameter, the last facet in the plot will always plot "upside-down" compared to the other facets (e.g. orange on top in the first three facets, blue on top in the last facet):</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="# Plot horizontal catplot             
sns.catplot(x='b', 
            y='a', 
            col='col', 
            row='row', 
            hue='hue', 
            data=sample_data,
            orient='h',
            kind='violin', 
            split=True, 
            inner=None,
            height=2,
            aspect=1.5)"><pre class="notranslate"><code class="notranslate"># Plot horizontal catplot             
sns.catplot(x='b', 
            y='a', 
            col='col', 
            row='row', 
            hue='hue', 
            data=sample_data,
            orient='h',
            kind='violin', 
            split=True, 
            inner=None,
            height=2,
            aspect=1.5)
</code></pre></div>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/17680388/60630420-5a7f5a00-9e3d-11e9-84b6-2c69e44a86de.JPG"><img src="https://user-images.githubusercontent.com/17680388/60630420-5a7f5a00-9e3d-11e9-84b6-2c69e44a86de.JPG" alt="Capture2" style="max-width: 100%;"></a></p>
<p dir="auto">I've tried using <code class="notranslate">hue_order=['h', 'g']</code> to force the order, but it appears to have no effect on the final facet. What can I do to get all facets to plot in the same order?</p>