docs: def draw(self, **kwargs):
          """
          Called from the fit method, this method creates the canvas and
          draws the distribution plot on it.
  
          Parameters
          ----------
          kwargs: generic keyword arguments.
  
          """
          # Prepare the data
          bins  = np.arange(self.N)
          words = [self.features[i] for i in self.sorted_[:self.N]]
          freqs = {}
  
          # Set up the bar plots
          if self.conditional_freqdist_:
              for label, values in sorted(self.conditional_freqdist_.items(), key=itemgetter(0)):
                  freqs[label] = [
                      values[i] for i in self.sorted_[:self.N]
                  ]
          else:
              freqs['corpus'] = [
                  self.freqdist_[i] for i in self.sorted_[:self.N]
              ]
  
          # Draw a horizontal barplot
          if self.orient == 'h':
              # Add the barchart, stacking if necessary
              for label, freq in freqs.items():
                  self.ax.barh(bins, freq, label=label, align='center')
  
              # Set the y ticks to the words
              self.ax.set_yticks(bins)
              self.ax.set_yticklabels(words)
  
              # Order the features from top to bottom on the y axis
              self.ax.invert_yaxis()
  
              # Turn off y grid lines and turn on x grid lines
              self.ax.yaxis.grid(False)
              self.ax.xaxis.grid(True)
  
          # Draw a vertical barplot
          elif self.orient == 'v':
              # Add the barchart, stacking if necessary
              for label, freq in freqs.items():
                  self.ax.bar(bins, freq, label=label, align='edge')
  
              # Set the y ticks to the words
              self.ax.set_xticks(bins)
              self.ax.set_xticklabels(words, rotation=90)
  
              # Turn off x grid lines and turn on y grid lines
              self.ax.yaxis.grid(True)
              self.ax.xaxis.grid(False)
  
          # Unknown state
          else:
              raise YellowbrickValueError(
                  "Orientation must be 'h' or 'v'"
              )