def METHOD_NAME(self, editor, node, column, object, paint_context):
    painter, option, index = paint_context
    data = self.get_data(object)
    xs = (
        np.linspace(0, option.rect.width(), len(data)) + option.rect.left()
    )
    ys = (data.max() - data) / self.y_scale + option.rect.top()
    height = option.rect.height()
    plot_height = ys.ptp()
    extra = height - plot_height
    if bool(option.displayAlignment & QtCore.Qt.AlignmentFlag.AlignVCenter):
        ys += extra / 2
    elif bool(option.displayAlignment & QtCore.Qt.Bottom):
        ys += extra
    if bool(option.state & QtGui.QStyle.StateFlag.State_Selected):
        painter.fillRect(option.rect, option.palette.highlight())
    points = [QtCore.QPointF(x, y) for x, y in zip(xs, ys)]
    old_pen = painter.pen()
    if bool(option.state & QtGui.QStyle.StateFlag.State_Selected):
        painter.setPen(QtGui.QPen(option.palette.highlightedText(), 0))
    try:
        if qt_api.startswith('pyside'):
            painter.drawPolyline(points)
        else:
            painter.drawPolyline(*points)
    finally:
        painter.setPen(old_pen)
    return None