title: How to manually change the tick labels of the margin plots on a Seaborn jointplot
body: <p>I am trying to use a log scale as the margin plots for my seaborn jointplot. I am usings set_xticks() and set_yticks(), but my changes do not appear. Here is my code below and the resulting graph:</p>
  <pre><code>import matplotlib.pyplot as plt
  %matplotlib inline
  import numpy as np
  import seaborn as sns
  import pandas as pd
  
  tips = sns.load_dataset('tips')
  female_waiters = tips[tips['sex']=='Female']
  
  def graph_joint_histograms(df1):
      g=sns.jointplot(x = 'total_bill',y = 'tip', data = tips, space = 0.3,ratio = 3)
      g.ax_joint.cla()
      g.ax_marg_x.cla()
      g.ax_marg_y.cla()
  
      for xlabel_i in g.ax_marg_x.get_xticklabels():
          xlabel_i.set_visible(False)
      for ylabel_i in g.ax_marg_y.get_yticklabels():
          ylabel_i.set_visible(False)
  
      x_labels = g.ax_joint.get_xticklabels()
      x_labels[0].set_visible(False)
      x_labels[-1].set_visible(False)
  
      y_labels = g.ax_joint.get_yticklabels()
      y_labels[0].set_visible(False)
      y_labels[-1].set_visible(False)
  
      g.ax_joint.set_xlim(0,200)
      g.ax_marg_x.set_xlim(0,200)
  
      g.ax_joint.scatter(x = df1['total_bill'],y = df1['tip'],data = df1,c = 'y',edgecolors= '#080808',zorder = 2)
      g.ax_joint.scatter(x = tips['total_bill'],y = tips['tip'],data = tips, c= 'c',edgecolors= '#080808')
  
      ax1 =g.ax_marg_x.get_axes()
      ax2 = g.ax_marg_y.get_axes()
      ax1.set_yscale('log')
      ax2.set_xscale('log')
      
      ax1.set_yscale('log')
      ax2.set_xscale('log')
  
      ax2.set_xlim(1e0, 1e4)
      ax1.set_ylim(1e0, 1e3)
      ax2.xaxis.set_ticks([1e0,1e1,1e2,1e3])
      ax2.xaxis.set_ticklabels((&quot;1&quot;,&quot;10&quot;,&quot;100&quot;,&quot;1000&quot;), visible = True)
  
  
      plt.setp(ax2.get_xticklabels(), visible = True)
      colors = ['y','c']
      ax1.hist([df1['total_bill'],tips['total_bill']],bins = 10, stacked=True,log = True,color = colors, ec='black')
  
      ax2.hist([df1['tip'],tips['tip']],bins = 10,orientation = 'horizontal', stacked=True,log = True,color = colors, ec='black')
  ax2.set_ylabel('')
  </code></pre>
  <p>Any ideas would be much appreciated.</p>
  <p>Here is the resulting graph:</p>
  <p><a href="https://i.stack.imgur.com/4nntM.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/4nntM.png" alt="enter image description here" /></a></p>