def plot(self, path, data, colors, legendNames, xLabels):
        fig, ax = plotHelper.createPlot()
        grapher = StackedBarGrapher()
        grapher.stackedBarPlot(ax,
                               data,
                               colors,
                               xLabels,
                               ylabel="latency [ms]",
                               gap=0.4,
                               yTicks=5)

        handles = map(
            lambda
            (color, label): matplotlib.patches.Patch(color=color, label=label),
            zip(colors, legendNames))

        ax.yaxis.grid(True)
        ax.legend(handles=handles,
                  frameon=1,
                  bbox_to_anchor=(0., 1., 1., 0),
                  ncol=2,
                  borderaxespad=0)
        fig.patch.set_visible(True)

        plotHelper.savePlot(ax, fig, path, self.title, "legend title")
    def plot2d(self, path, data):
        fig, ax = plotHelper.createPlot()
        ax.set_ylabel(self.yAxisText)
        ax.set_xlabel(self.xAxisText)

        x = [val[0] for val in data]
        y = [val[1] for val in data]

        plt.scatter(x, y)

        plotHelper.savePlot(ax, fig, path, self.title)
    def plot(self,
             path,
             data,
             label,
             centerOn=None,
             comparision=False,
             captions=None,
             nonNumeric=False):

        fig, ax = plotHelper.createPlot()
        ax.set_title(self.title)

        if nonNumeric:
            cmap = ListedColormap(
                sns.cubehelix_palette(start=2.8, rot=.1, light=0.9,
                                      n_colors=3))
        else:
            cmap = "viridis"

        if comparision:
            sns.heatmap(data,
                        ax=ax,
                        annot=True,
                        fmt=".1f",
                        cmap=cmap,
                        center=centerOn,
                        vmin=0,
                        vmax=2,
                        cbar=not nonNumeric)
        else:
            if captions is not None:
                sns.heatmap(data,
                            ax=ax,
                            annot=captions,
                            fmt="",
                            cmap=cmap,
                            center=centerOn,
                            cbar=not nonNumeric)
            else:
                sns.heatmap(data,
                            ax=ax,
                            annot=True,
                            fmt=".1f",
                            cmap=cmap,
                            center=centerOn,
                            cbar=not nonNumeric)

        if not nonNumeric:
            cbar = ax.collections[0].colorbar
            cbar.set_label(label)
        ax.invert_yaxis()

        plotHelper.savePlot(ax, fig, path, self.title)
    def plot(self, path, data, xName, yName, hueName):

        fig, ax = plotHelper.createPlot()
        ax.set_ylabel(self.yAxisText)
        ax.set_xlabel(self.xAxisText)

        colors = sns.color_palette("Set3", 20)
        toRemove = colors[1]
        colors = filter(lambda x: x != toRemove, colors)
        sns.barplot(xName,
                    yName,
                    hueName,
                    data,
                    ax=ax,
                    ci=None,
                    palette=colors)
        plotHelper.savePlot(ax, fig, path, self.title, hueName)
Пример #5
0
    def plot(self, path, data, xName=None, yName=None, hue=None, log=False):

        fig, ax = plotHelper.createPlot()
        ax.set_ylabel(self.yAxisText)
        if log:
            ax.set_yscale("log")
        #huePalette = sns.color_palette("viridis", desat=.5)
        colors = sns.color_palette("Set3", 20)
        toRemove = colors[1]
        colors = filter(lambda x: x != toRemove, colors)
        sns.boxplot(ax=ax,x=xName, y=yName, data=data, showfliers=False,linewidth=0.7, hue=hue, palette=colors)#palette="binary" if hue is None else huePalette)
        ax.set_xlabel(self.xAxisText)

        if hue is None:
            for box in ax.artists:
                box.set_facecolor("white")

        plotHelper.savePlot(ax, fig, path, self.title, hue, sortLegend=False, log=log)
Пример #6
0
    def plot(self, path, data):
        #data = [(x,y),..]
        fig, ax = plt.subplots()
        ax.set_title(self.title)
        ax.set_ylabel(self.yAxisText)
        ax.set_xlabel(self.xAxisText)

        xValues = [x[0] for x in data]
        yValues = [x[1] for x in data]

        ax.plot(xValues, yValues, "-o")
        plt.legend()
        plt.minorticks_on()
        ax.xaxis.set_major_formatter(ScalarFormatter())
        ax.yaxis.set_major_formatter(ScalarFormatter())
        plt.grid(True, which='major', linestyle='--', color='gray')
        plt.grid(True, which='minor', linestyle='--', color='lightgray')
        ax.set_axisbelow(True)

        plotHelper.savePlot(path, self.title, fig)
    def plot(self,
             path,
             dataArray,
             legendTitle,
             xLables=None,
             xLog=False,
             yLim=None):
        #print xLables
        #print "!!!!!"
        fig, ax = plotHelper.createPlot()
        ax.set_ylabel(self.yAxisText)
        ax.set_xlabel(self.xAxisText)
        if xLog:
            ax.set_xscale('log')

        filledMarkers = list(Line2D.filled_markers)
        xValues = []
        xValueSet = set()
        colors = sns.color_palette("Set3", 20)
        toRemove = colors[1]
        colors = filter(lambda x: x != toRemove, colors)
        for i, el in enumerate(dataArray):
            label = el[0]
            data = el[1]

            xValues = [x[0] for x in data]
            xValueSet |= set(xValues)
            yValues = [x[1] for x in data]

            ax.plot(xValues,
                    yValues,
                    marker=filledMarkers[i],
                    label=label,
                    color=colors[i])
        if xLables is not None:
            plt.xticks(sorted(list(xValueSet)), xLables)
        if yLim is not None:
            #lim = ax.get_ylim()
            #ax.set_ylim([lim[0] * yLim[0], lim[1] * yLim[1]])
            ax.set_ylim(yLim)
        plotHelper.savePlot(ax, fig, path, self.title, legendTitle)
    def plot(self, path, data, figSize=(40, 10)):
        #data: [(name, val), (name, val)]

        fig, ax = plt.subplots(figsize=figSize)
        ax.set_title(self.title)
        ax.set_ylabel(self.yAxisText)
        ax.set_xlabel(self.xAxisText)

        N = len(data)

        ind = np.arange(N)  # the x locations for the groups
        width = 0.35  # the width of the bars

        labels = [x[0] for x in data]
        yVal = [x[1] for x in data]
        yError = [x[2] if len(x) > 2 else 0 for x in data]

        newWidth = (width + 0.1)
        xPos = ind * newWidth
        labelPos = xPos

        ax.bar(xPos, yVal, width, yerr=yError)

        ax.set_xticks(labelPos)
        ax.set_xticklabels(
            labels,
            rotation=20,
            ha="right",
        )
        #ax.xaxis.set_major_formatter(ScalarFormatter())
        plt.minorticks_on()
        ax.yaxis.set_major_formatter(ScalarFormatter())
        plt.grid(True, which='major', linestyle='--', color='gray')
        plt.grid(True, which='minor', linestyle='--', color='lightgray')
        ax.set_axisbelow(True)

        plt.tight_layout()
        plotHelper.savePlot(path, self.fileName, fig)