title: How to deal with NaN values when plotting a boxplot
body: <p>I am using matplotlib to plot a box figure but there are some missing values (NaN). Then I found it doesn't display the box figure within the columns having NaN values.
  Do you know how to solve this problem?
  Here are the codes.</p>
  <pre><code>import numpy as np
  import matplotlib.pyplot as plt
  
  #==============================================================================
  # open data
  #==============================================================================
  filename='C:\\Users\\liren\\OneDrive\\Data\\DATA in the first field-final\\ks.csv'
  
  AllData=np.genfromtxt(filename,delimiter=&quot;;&quot;,skip_header=0,dtype='str')
  
  TreatmentCode = AllData[1:,0]
  RepCode = AllData[1:,1]
  KsData= AllData[1:,2:].astype('float')
  DepthHeader = AllData[0,2:].astype('float')
  TreatmentUnique = np.unique(TreatmentCode)[[3,1,4,2,8,6,9,7,0,5,10],]
  nT = TreatmentUnique.size#nT=number of treatments
  #nD=number of deepth;nR=numbers of replications;nT=number of treatments;iT=iterms of treatments
  nD = 5
  nR = 6
  KsData_3D = np.zeros((nT,nD,nR)) 
  
  for iT in range(nT):
      Treatment = TreatmentUnique[iT]
  
      TreatmentFilter = TreatmentCode == Treatment
  
      KsData_Filtered = KsData[TreatmentFilter,:]
      
      KsData_3D[iT,:,:] = KsData_Filtered.transpose()iD = 4
                        
  fig=plt.figure()
  ax = fig.add_subplot(111)
  plt.boxplot(KsData_3D[:,iD,:].transpose())
  ax.set_xticks(range(1,nT+1))
  ax.set_xticklabels(TreatmentUnique)
  ax.set_title(DepthHeader[iD])
  </code></pre>
  <p>Here is the final figure and some of the treatments are missing in the box.</p>
  <p><img src="https://i.stack.imgur.com/GsLLW.png" alt="enter image description here" /></p>