title: How to plot a value_counts in pandas that has a huge number of different counts not distributed evenly
body: <p>Lets say I have the following data:</p>
  
  <pre><code>s2 = pd.Series([1,2,3,4,5,2,3,333,2,123,434,1,2,3,1,11,11,432,3,2,4,3,3,3,54,34,24,2,223,2535334,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30000, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2])
  s2.value_counts(normalize=True).plot()
  </code></pre>
  
  <p>What I want to show in the plot is that there are a few numbers that make up the majority of cases.The problem is that this will be seen in the far left side of the graph and then there will be a straight line for all the other categories.
  In the real data the x axis will be categorical with about 18000 categories and 4% of the counts will be around 10000 high then the rest will drop of and be around 50.</p>
  
  <p>I want to show this for an audience of "ordinary" business people so cant be some fanzy hard to read solution.</p>
  
  <p>Update: see @unutbu answere
  Updated code and im getting an error for <code>qcut</code> when trying to use tuples.</p>
  
  <pre><code>TypeError: unsupported operand type(s) for -: 'tuple' and 'tuple'
  
  df = pd.DataFrame({'s1':[1,0,1,0], 's2':[1,0,1,1], 's3':[1,0,1,1], 's4':[0,0,0,1]})
  perms = df.apply(tuple, axis=1)
  prob = perms.value_counts(normalize=True).reset_index(drop='True')
  category_classes = pd.qcut(prob, q=[0, .25, 0.95, 1.], 
                   labels=['bottom 25%', 'mid 70%', 'top 5%'])
  prob_groups = prob.groupby(category_classes).sum()
  prob_groups.plot(kind='bar')
  plt.xticks(rotation=0)
  plt.show()
  </code></pre>