def addValue(self, row, col, size, colour_value):

        # decide the size of the box
        pos = bisect.bisect(self.mThresholdsSize, size)

        if self.mRevertSize:
            size = self.mMaxBoxSize * \
                (1.0 - float(pos) / len(self.mThresholdsSize))
        else:
            size = self.mMaxBoxSize * float(pos) / len(self.mThresholdsSize)

        d = (self.mMaxBoxSize - size) / 2

        x = self.mMapCol2Position[col] + d
        try:
            y = self.mMapRow2Position[row] + d
        except KeyError:
            return

        # determine the colour of the box
        pos = bisect.bisect(self.mThresholdsColour, colour_value)
        colour = self.mColours[pos]

        e = SVGdraw.rect(x, y,
                         size, size,
                         stroke="black",
                         fill="rgb(%i,%i,%i)" % colour)

        self.mElements.append(e)
add a dot in row/col.
dataset/ETHPy150Open CGATOxford/cgat/scripts/go2svg.py/GoPlot.addValue