<h2 dir="auto"><code class="notranslate">xticklabels</code> and <code class="notranslate">yticklabels</code> kwargs in <code class="notranslate">clustermap</code> are broken in seaborn v0.8.</h2>
<p dir="auto">This behaviour can be reproduced by:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ conda create -n seaborn0.8 python=3 seaborn=0.8
$ source activate seaborn0.8
$ python
&gt;&gt;&gt; import numpy as np
&gt;&gt;&gt; import seaborn as sns
&gt;&gt;&gt; sns.clustermap(np.random.rand(5,5), xticklabels=False)
Traceback (most recent call last):
  File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;
  File &quot;/Users/harry/anaconda3/envs/seaborn0.8/lib/python3.6/site-packages/seaborn/matrix.py&quot;, line 1301, in clustermap
    **kwargs)
  File &quot;/Users/harry/anaconda3/envs/seaborn0.8/lib/python3.6/site-packages/seaborn/matrix.py&quot;, line 1142, in plot
    self.plot_matrix(colorbar_kws, xind, yind, **kws)
  File &quot;/Users/harry/anaconda3/envs/seaborn0.8/lib/python3.6/site-packages/seaborn/matrix.py&quot;, line 1118, in plot_matrix
    xtl_rot = self.ax_heatmap.get_xticklabels()[0].get_rotation()
IndexError: list index out of range"><pre class="notranslate"><code class="notranslate">$ conda create -n seaborn0.8 python=3 seaborn=0.8
$ source activate seaborn0.8
$ python
&gt;&gt;&gt; import numpy as np
&gt;&gt;&gt; import seaborn as sns
&gt;&gt;&gt; sns.clustermap(np.random.rand(5,5), xticklabels=False)
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  File "/Users/harry/anaconda3/envs/seaborn0.8/lib/python3.6/site-packages/seaborn/matrix.py", line 1301, in clustermap
    **kwargs)
  File "/Users/harry/anaconda3/envs/seaborn0.8/lib/python3.6/site-packages/seaborn/matrix.py", line 1142, in plot
    self.plot_matrix(colorbar_kws, xind, yind, **kws)
  File "/Users/harry/anaconda3/envs/seaborn0.8/lib/python3.6/site-packages/seaborn/matrix.py", line 1118, in plot_matrix
    xtl_rot = self.ax_heatmap.get_xticklabels()[0].get_rotation()
IndexError: list index out of range
</code></pre></div>
<p dir="auto">With seaborn v0.7 this behaviour works as expected:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ conda create -n seaborn0.7 python=3 seaborn=0.7
$ source activate seaborn0.7
$ python
&gt;&gt;&gt; import numpy as np
&gt;&gt;&gt; import seaborn as sns
&gt;&gt;&gt; sns.clustermap(np.random.rand(5,5), xticklabels=False)
/Users/harry/anaconda3/envs/seaborn0.7/lib/python3.6/site-packages/matplotlib/cbook/deprecation.py:106: MatplotlibDeprecationWarning: The axisbg attribute was deprecated in version 2.0. Use facecolor instead.
  warnings.warn(message, mplDeprecation, stacklevel=1)
&lt;seaborn.matrix.ClusterGrid object at 0x101a22898&gt;"><pre class="notranslate"><code class="notranslate">$ conda create -n seaborn0.7 python=3 seaborn=0.7
$ source activate seaborn0.7
$ python
&gt;&gt;&gt; import numpy as np
&gt;&gt;&gt; import seaborn as sns
&gt;&gt;&gt; sns.clustermap(np.random.rand(5,5), xticklabels=False)
/Users/harry/anaconda3/envs/seaborn0.7/lib/python3.6/site-packages/matplotlib/cbook/deprecation.py:106: MatplotlibDeprecationWarning: The axisbg attribute was deprecated in version 2.0. Use facecolor instead.
  warnings.warn(message, mplDeprecation, stacklevel=1)
&lt;seaborn.matrix.ClusterGrid object at 0x101a22898&gt;
</code></pre></div>
<p dir="auto">Dataset:</p>
<p dir="auto"><a href="https://github.com/mwaskom/seaborn/files/11337012/train.csv">train.csv</a></p>
<p dir="auto">Code:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import numpy as np
import pandas as pd
import plotly.express as px
import matplotlib.pyplot as plt
import seaborn as sns

train_df = pd.read_csv(&quot;train.csv&quot;)

train_df[&quot;CryoSleep&quot;] = train_df[&quot;CryoSleep&quot;].astype(bool)
train_df[&quot;VIP&quot;] = train_df[&quot;VIP&quot;].astype(bool)
train_df[&quot;CryoSleep&quot;] = train_df[&quot;CryoSleep&quot;].astype(int)
train_df[&quot;VIP&quot;] = train_df[&quot;VIP&quot;].astype(int)
train_df[&quot;Transported&quot;] = train_df[&quot;Transported&quot;].astype(int)
train_df[&quot;HomePlanet&quot;] = train_df[&quot;HomePlanet&quot;].astype(&quot;category&quot;)
train_df[&quot;Destination&quot;] = train_df[&quot;Destination&quot;].astype(&quot;category&quot;)
_ = train_df.drop(columns=[&quot;PassengerId&quot;, &quot;Cabin&quot;, &quot;Name&quot;]).copy(deep=True)

sns.pairplot(_.dropna())"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-s1">numpy</span> <span class="pl-k">as</span> <span class="pl-s1">np</span>
<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-k">import</span> <span class="pl-s1">plotly</span>.<span class="pl-s1">express</span> <span class="pl-k">as</span> <span class="pl-s1">px</span>
<span class="pl-k">import</span> <span class="pl-s1">matplotlib</span>.<span class="pl-s1">pyplot</span> <span class="pl-k">as</span> <span class="pl-s1">plt</span>
<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">train_df</span> <span class="pl-c1">=</span> <span class="pl-s1">pd</span>.<span class="pl-en">read_csv</span>(<span class="pl-s">"train.csv"</span>)

<span class="pl-s1">train_df</span>[<span class="pl-s">"CryoSleep"</span>] <span class="pl-c1">=</span> <span class="pl-s1">train_df</span>[<span class="pl-s">"CryoSleep"</span>].<span class="pl-en">astype</span>(<span class="pl-s1">bool</span>)
<span class="pl-s1">train_df</span>[<span class="pl-s">"VIP"</span>] <span class="pl-c1">=</span> <span class="pl-s1">train_df</span>[<span class="pl-s">"VIP"</span>].<span class="pl-en">astype</span>(<span class="pl-s1">bool</span>)
<span class="pl-s1">train_df</span>[<span class="pl-s">"CryoSleep"</span>] <span class="pl-c1">=</span> <span class="pl-s1">train_df</span>[<span class="pl-s">"CryoSleep"</span>].<span class="pl-en">astype</span>(<span class="pl-s1">int</span>)
<span class="pl-s1">train_df</span>[<span class="pl-s">"VIP"</span>] <span class="pl-c1">=</span> <span class="pl-s1">train_df</span>[<span class="pl-s">"VIP"</span>].<span class="pl-en">astype</span>(<span class="pl-s1">int</span>)
<span class="pl-s1">train_df</span>[<span class="pl-s">"Transported"</span>] <span class="pl-c1">=</span> <span class="pl-s1">train_df</span>[<span class="pl-s">"Transported"</span>].<span class="pl-en">astype</span>(<span class="pl-s1">int</span>)
<span class="pl-s1">train_df</span>[<span class="pl-s">"HomePlanet"</span>] <span class="pl-c1">=</span> <span class="pl-s1">train_df</span>[<span class="pl-s">"HomePlanet"</span>].<span class="pl-en">astype</span>(<span class="pl-s">"category"</span>)
<span class="pl-s1">train_df</span>[<span class="pl-s">"Destination"</span>] <span class="pl-c1">=</span> <span class="pl-s1">train_df</span>[<span class="pl-s">"Destination"</span>].<span class="pl-en">astype</span>(<span class="pl-s">"category"</span>)
<span class="pl-s1">_</span> <span class="pl-c1">=</span> <span class="pl-s1">train_df</span>.<span class="pl-en">drop</span>(<span class="pl-s1">columns</span><span class="pl-c1">=</span>[<span class="pl-s">"PassengerId"</span>, <span class="pl-s">"Cabin"</span>, <span class="pl-s">"Name"</span>]).<span class="pl-en">copy</span>(<span class="pl-s1">deep</span><span class="pl-c1">=</span><span class="pl-c1">True</span>)

<span class="pl-s1">sns</span>.<span class="pl-en">pairplot</span>(<span class="pl-s1">_</span>.<span class="pl-en">dropna</span>())</pre></div>
<p dir="auto">No matter what, I cannot make it work on this dataset. Even if you skip the type conversion block and apply it to the original <code class="notranslate">train_df</code> it still fails. Even without <code class="notranslate">dropna()</code> it still fails.</p>
<p dir="auto">Complete error message:</p>
<p dir="auto"><a href="https://gist.github.com/FlorinAndrei/f84c68a3efdab40968ffd84687e5e343">https://gist.github.com/FlorinAndrei/f84c68a3efdab40968ffd84687e5e343</a></p>
<p dir="auto">Python 3.11.3<br>
Pandas 2.0.0<br>
Numpy 1.24.2<br>
Seaborn 0.12.2<br>
Jupyter Notebook</p>