Draws the inputed item as a bar graph.
        
        :param      item    | <XChartDatasetItem>
                    painter | <QPainter>
                    option  | <QStyleOptionGraphicsItem>

def drawItem(self, item, painter, option):
        """
        Draws the inputed item as a bar graph.
        
        :param      item    | <XChartDatasetItem>
                    painter | <QPainter>
                    option  | <QStyleOptionGraphicsItem>
        """
        dataset = item.dataset()
        
        painter.save()
        painter.setRenderHint(painter.Antialiasing)
        
        pen = QPen(dataset.color())
        pen.setWidth(0.75)
        painter.setPen(pen)
        
        for path in item.buildData('subpaths', []):
            gradient = QLinearGradient()
            
            clr = QColor(dataset.color())
            clr.setAlpha(220)
            
            gradient.setColorAt(0.0,  clr.lighter(180))
            gradient.setColorAt(0.1,  clr.lighter(160))
            gradient.setColorAt(0.25, clr.lighter(140))
            gradient.setColorAt(1.0,  clr.lighter(125))
            
            if self.orientation() == Qt.Vertical:
                gradient.setStart(0, path.boundingRect().bottom())
                gradient.setFinalStop(0, path.boundingRect().top())
            else:
                gradient.setStart(path.boundingRect().left(), 0)
                gradient.setFinalStop(path.boundingRect().right(), 0)
            
            painter.setBrush(gradient)
            painter.drawPath(path)
        
        painter.restore()