def Evt_Bootstrap_Plot(self, event):
		from pandas.tools.plotting import bootstrap_plot
		page = self.New_Tab.GetSelection()  
		panel = self.New_Tab.GetPage(page)
		self.selected_checkbox()
		panel.canvas.figure.clf()

		if len(self.selected_checkboxes) == 1:
			bootstrap_plot(self.data[self.selected_checkboxes[0][1]][self.minimum: self.maximum], fig= panel.canvas.figure)
			panel.canvas.draw()

		else:
			raise KeyError("Bootstrap plot can only be drawn with One variable")

		return
Exemple #2
0
    def _doplot(self, data, ax, kind, subplots, kwargs):
        """Do core plotting"""

        cols = data.columns
        rows = int(round(np.sqrt(len(data.columns)),0))
        if len(data.columns) == 1:
            kwargs['subplots'] = 0
        if kind == 'pie':
            kwargs['subplots'] = True
        if subplots == 0:
            layout = None
        else:
            layout=(rows,-1)
        if kind == 'bar':
            if len(data) > 50:
                ax.get_xaxis().set_visible(False)
            if len(data) > 400:
                print ('too many bars to plot')
                return
        if kind == 'scatter':
            axs = self.scatter(data, ax, **kwargs)
            if kwargs['sharey'] == 1:
                lims = self.fig.axes[0].get_ylim()
                for a in self.fig.axes:
                    a.set_ylim(lims)
        elif kind == 'boxplot':
            axs = data.boxplot(ax=ax, rot=kwargs['rot'], grid=kwargs['grid'])
            #boxplot won't accept required kwargs?
            if kwargs['logy'] == 1:
                ax.set_yscale('log')
        elif kind == 'histogram':
            bins = int(kwargs['bins'])
            axs = data.plot(kind='hist',layout=layout, ax=ax, **kwargs)
        elif kind == 'heatmap':
            axs = self.heatmap(data, ax, kwargs)
        elif kind == 'bootstrap':
            axs = plotting.bootstrap_plot(data)
        elif kind == 'scatter_matrix':
            axs = pd.scatter_matrix(data, ax=ax, **kwargs)
        elif kind == 'hexbin':
            x = cols[0]
            y = cols[1]
            axs = data.plot(x,y,ax=ax,kind='hexbin',gridsize=20,**kwargs)
        else:
            axs = data.plot(ax=ax, layout=layout, **kwargs)
        return axs
def DrawGraph6():
    from pandas.tools.plotting import bootstrap_plot
    #fig, axes = plt.subplots(2,1,figsize=(24,16))
    #DF_stock['Volume'].plot(ax=axes[0], lw=1, style="b-")
    bootstrap_plot(DF_stock['Close'], size=10, samples=500, color="grey", lw=1)
    plt.show()
# In[247]:

returns[1:10]


# In[248]:

tsplots.plot_pacf(returns, lags= 20)
plt.show()


# In[249]:

from pandas.tools.plotting import bootstrap_plot
bootstrap_plot(returns, size = 50)
plt.show()


# Find out the following facts about the data set
# - Total number of data points
# - Number of positive returns
# - Number of negative returns
# - Average annualized returns
# - Standard deviation
# - Sharpe ratio
# - Cumulative returns

# In[250]:

total_data = len(returns)
Exemple #5
0
    def _doplot(self, data, ax, kind, subplots, errorbars, useindex, bw, kwargs):
        """Core plotting method"""

        kwargs = kwargs.copy()
        cols = data.columns
        if kind == "line":
            data = data.sort_index()
        rows = int(round(np.sqrt(len(data.columns)), 0))
        if len(data.columns) == 1 and kind not in ["pie"]:
            kwargs["subplots"] = 0
        if "colormap" in kwargs:
            cmap = plt.cm.get_cmap(kwargs["colormap"])
        else:
            cmap = None
        # change some things if we are plotting in b&w
        styles = []
        if bw == True and kind not in ["pie", "heatmap"]:
            cmap = None
            kwargs["color"] = "k"
            kwargs["colormap"] = None
            styles = ["-", "--", "-.", ":"]
            if "linestyle" in kwargs:
                del kwargs["linestyle"]

        if subplots == 0:
            layout = None
        else:
            layout = (rows, -1)
        if errorbars == True:
            yerr = data[data.columns[1::2]]
            data = data[data.columns[0::2]]
            yerr.columns = data.columns
        else:
            yerr = None
        if kind == "bar":
            if len(data) > 50:
                ax.get_xaxis().set_visible(False)
            if len(data) > 300:
                self.showWarning("too many bars to plot")
                return
        if kind == "scatter":
            axs = self.scatter(data, ax, **kwargs)
            if kwargs["sharey"] == 1:
                lims = self.fig.axes[0].get_ylim()
                for a in self.fig.axes:
                    a.set_ylim(lims)
        elif kind == "boxplot":
            axs = data.boxplot(ax=ax, rot=kwargs["rot"], grid=kwargs["grid"], patch_artist=True)
            lw = kwargs["linewidth"]
            plt.setp(axs["boxes"], color="black", lw=lw)
            plt.setp(axs["whiskers"], color="black", lw=lw)
            plt.setp(axs["fliers"], color="black", marker="+", lw=lw)
            clr = cmap(0.5)
            for patch in axs["boxes"]:
                patch.set_facecolor(clr)
            # boxplot won't accept required kwargs?
            if kwargs["logy"] == 1:
                ax.set_yscale("log")
        elif kind == "histogram":
            bins = int(kwargs["bins"])
            axs = data.plot(kind="hist", layout=layout, ax=ax, **kwargs)
        elif kind == "heatmap":
            axs = self.heatmap(data, ax, kwargs)
        elif kind == "bootstrap":
            axs = plotting.bootstrap_plot(data)
        elif kind == "scatter_matrix":
            axs = pd.scatter_matrix(data, ax=ax, **kwargs)
        elif kind == "hexbin":
            x = cols[0]
            y = cols[1]
            axs = data.plot(x, y, ax=ax, kind="hexbin", gridsize=20, **kwargs)
        elif kind == "contour":
            xi, yi, zi = self.contourData(data)
            cs = ax.contour(xi, yi, zi, 15, linewidths=0.5, colors="k")
            # plt.clabel(cs,fontsize=9)
            cs = ax.contourf(xi, yi, zi, 15, cmap=cmap)
            self.fig.colorbar(cs, ax=ax)
            axs = ax
        elif kind == "imshow":
            xi, yi, zi = self.contourData(data)
            im = ax.imshow(zi, interpolation="nearest", cmap=cmap, alpha=kwargs["alpha"])
            self.fig.colorbar(im, ax=ax)
            axs = ax
        elif kind == "pie":
            if kwargs["legend"] == True:
                lbls = None
            else:
                lbls = list(data.index)
            axs = data.plot(ax=ax, kind="pie", labels=lbls, layout=layout, autopct="%1.1f%%", subplots=True, **kwargs)
            if lbls == None:
                axs[0].legend(labels=data.index)
        elif kind == "barh":
            lw = kwargs["linewidth"]
            axs = data.plot(ax=ax, layout=layout, xerr=yerr, **kwargs)
        else:
            # line, bar and area plots
            if useindex == False:
                x = data.columns[0]
                data.set_index(x, inplace=True)
                data = data.sort()
            if len(data.columns) == 0:
                msg = "Not enough data.\nIf 'use index' is off select at least 2 columns"
                self.showWarning(msg)
                return
            # adjust colormap to avoid white lines
            if cmap != None:
                cmap = util.adjustColorMap(cmap, 0.15, 1.0)
                del kwargs["colormap"]
            axs = data.plot(ax=ax, layout=layout, yerr=yerr, style=styles, cmap=cmap, **kwargs)
        return axs
def DrawGraph6():
    from pandas.tools.plotting import bootstrap_plot
    # fig, axes = plt.subplots(2,1,figsize=(24,16))
    # df['Volume'].plot(ax=axes[0], lw=1, style='b-')
    bootstrap_plot(df['Close'], size=10, samples=500, color='grey', lw=1)
    plt.show()
Exemple #7
0
    def _doplot(self, data, ax, kind, subplots, errorbars, useindex, kwargs):
        """Do core plotting"""

        cols = data.columns
        if kind == 'line':
            data = data.sort_index()
        rows = int(round(np.sqrt(len(data.columns)),0))
        if len(data.columns) == 1 and kind not in ['pie']:
            kwargs['subplots'] = 0
        if 'colormap' in kwargs:
            cmap = plt.cm.get_cmap(kwargs['colormap'])
        if subplots == 0:
            layout = None
        else:
            layout=(rows,-1)
        if errorbars == True:
            yerr = data[data.columns[1::2]]
            data = data[data.columns[0::2]]
            yerr.columns = data.columns
        else:
            yerr = None
        if kind == 'bar':
            if len(data) > 50:
                ax.get_xaxis().set_visible(False)
            if len(data) > 300:
                self.showWarning('too many bars to plot')
                return
        if kind == 'scatter':
            axs = self.scatter(data, ax, **kwargs)
            if kwargs['sharey'] == 1:
                lims = self.fig.axes[0].get_ylim()
                for a in self.fig.axes:
                    a.set_ylim(lims)
        elif kind == 'boxplot':
            axs = data.boxplot(ax=ax, rot=kwargs['rot'], grid=kwargs['grid'],
                               patch_artist=True)
            lw = kwargs['linewidth']
            plt.setp(axs['boxes'], color='black', lw=lw)
            plt.setp(axs['whiskers'], color='black', lw=lw)
            plt.setp(axs['fliers'], color='black', marker='+', lw=lw)
            clr = cmap(0.5)
            for patch in axs['boxes']:
                patch.set_facecolor(clr)
            #boxplot won't accept required kwargs?
            if kwargs['logy'] == 1:
                ax.set_yscale('log')
        elif kind == 'histogram':
            bins = int(kwargs['bins'])
            axs = data.plot(kind='hist',layout=layout, ax=ax, **kwargs)
        elif kind == 'heatmap':
            axs = self.heatmap(data, ax, kwargs)
        elif kind == 'bootstrap':
            axs = plotting.bootstrap_plot(data)
        elif kind == 'scatter_matrix':
            axs = pd.scatter_matrix(data, ax=ax, **kwargs)
        elif kind == 'hexbin':
            x = cols[0]
            y = cols[1]
            axs = data.plot(x,y,ax=ax,kind='hexbin',gridsize=20,**kwargs)
        elif kind == 'contour':
            xi,yi,zi = self.contourData(data)
            cs = ax.contour(xi,yi,zi,15,linewidths=.5,colors='k')
            #plt.clabel(cs,fontsize=9)
            cs = ax.contourf(xi,yi,zi,15,cmap=cmap)
            self.fig.colorbar(cs,ax=ax)
            axs = ax
        elif kind == 'imshow':
            xi,yi,zi = self.contourData(data)
            im = ax.imshow(zi, interpolation="nearest",
                           cmap=cmap, alpha=kwargs['alpha'])
            self.fig.colorbar(im,ax=ax)
            axs = ax
        elif kind == 'pie':
            if kwargs['legend'] == True:
                lbls=None
            else:
                lbls = list(data.index)
            axs = data.plot(ax=ax,kind='pie', labels=lbls, layout=layout,
                            autopct='%1.1f%%', subplots=True, **kwargs)
            if lbls == None:
                axs[0].legend(labels=data.index)
        elif kind == 'barh':
            lw = kwargs['linewidth']
            axs = data.plot(ax=ax, layout=layout, xerr=yerr, **kwargs)
        else:
            if useindex == False:
                x=data.columns[0]
                data.set_index(x,inplace=True)
                data=data.sort()
            if len(data.columns) == 0:
                msg = "Not enough data.\nIf 'use index' is off select at least 2 columns"
                self.showWarning(msg)
                return
            axs = data.plot(ax=ax, layout=layout, yerr=yerr, **kwargs)
        return axs
Exemple #8
0
data = Series(randn(1000))
data.hist(by=randint(0, 4, 1000), figsize=(6, 4))
plt.show()
plt.savefig("image9.png")

from pandas.tools.plotting import scatter_matrix
df = DataFrame(randn(1000, 4), columns=['a', 'b', 'c', 'd'])
scatter_matrix(df, alpha=0.2, figsize=(6, 6), diagonal='kde')

plt.show()
plt.savefig("image11.png")

from pandas.tools.plotting import bootstrap_plot
data = Series(rand(1000))
bootstrap_plot(data, size=50, samples=500, color='grey')
plt.show()
plt.savefig("image12.png")

df = DataFrame(randn(1000, 10), index=ts.index)
df = df.cumsum()
plt.figure()
df.plot(colormap='jet')
plt.show()
plt.savefig("image13.png")

dd = DataFrame(randn(10, 10)).applymap(abs)
dd = dd.cumsum()
plt.figure()
dd.plot(kind='bar', colormap='Greens')
plt.show()
Exemple #9
0
    def _doplot(self, data, ax, kind, subplots, errorbars, useindex, bw, kwargs):
        """Core plotting method"""

        kwargs = kwargs.copy()
        cols = data.columns
        if kind == 'line':
            data = data.sort_index()

        rows = int(round(np.sqrt(len(data.columns)),0))
        if len(data.columns) == 1 and kind not in ['pie']:
            kwargs['subplots'] = 0
        if 'colormap' in kwargs:
            cmap = plt.cm.get_cmap(kwargs['colormap'])
        else:
            cmap = None
        #change some things if we are plotting in b&w
        styles = []
        if bw == True and kind not in ['pie','heatmap']:
            cmap = None
            kwargs['color'] = 'k'
            kwargs['colormap'] = None
            styles = ["-","--","-.",":"]
            if 'linestyle' in kwargs:
                del kwargs['linestyle']

        if subplots == 0:
            layout = None
        else:
            layout=(rows,-1)
        if errorbars == True:
            yerr = data[data.columns[1::2]]
            data = data[data.columns[0::2]]
            yerr.columns = data.columns
        else:
            yerr = None
        if kind == 'bar' or kind == 'barh':
            if len(data) > 50:
                ax.get_xaxis().set_visible(False)
            if len(data) > 300:
                self.showWarning('too many bars to plot')
                return
        if kind == 'scatter':
            axs = self.scatter(data, ax, **kwargs)
            if kwargs['sharey'] == 1:
                lims = self.fig.axes[0].get_ylim()
                for a in self.fig.axes:
                    a.set_ylim(lims)
        elif kind == 'boxplot':
            axs = data.boxplot(ax=ax, rot=kwargs['rot'], grid=kwargs['grid'],
                               patch_artist=True)
            lw = kwargs['linewidth']
            plt.setp(axs['boxes'], color='black', lw=lw)
            plt.setp(axs['whiskers'], color='black', lw=lw)
            plt.setp(axs['fliers'], color='black', marker='+', lw=lw)
            clr = cmap(0.5)
            for patch in axs['boxes']:
                patch.set_facecolor(clr)
            #boxplot won't accept required kwargs?
            if kwargs['logy'] == 1:
                ax.set_yscale('log')
        elif kind == 'histogram':
            bins = int(kwargs['bins'])
            axs = data.plot(kind='hist',layout=layout, ax=ax, **kwargs)
        elif kind == 'heatmap':
            axs = self.heatmap(data, ax, kwargs)
        elif kind == 'bootstrap':
            axs = plotting.bootstrap_plot(data)
        elif kind == 'scatter_matrix':
            axs = pd.scatter_matrix(data, ax=ax, **kwargs)
        elif kind == 'hexbin':
            x = cols[0]
            y = cols[1]
            axs = data.plot(x,y,ax=ax,kind='hexbin',gridsize=20,**kwargs)
        elif kind == 'contour':
            xi,yi,zi = self.contourData(data)
            cs = ax.contour(xi,yi,zi,15,linewidths=.5,colors='k')
            #plt.clabel(cs,fontsize=9)
            cs = ax.contourf(xi,yi,zi,15,cmap=cmap)
            self.fig.colorbar(cs,ax=ax)
            axs = ax
        elif kind == 'imshow':
            xi,yi,zi = self.contourData(data)
            im = ax.imshow(zi, interpolation="nearest",
                           cmap=cmap, alpha=kwargs['alpha'])
            self.fig.colorbar(im,ax=ax)
            axs = ax
        elif kind == 'pie':
            if kwargs['legend'] == True:
                lbls=None
            else:
                lbls = list(data.index)
            axs = data.plot(ax=ax,kind='pie', labels=lbls, layout=layout,
                            autopct='%1.1f%%', subplots=True, **kwargs)
            if lbls == None:
                axs[0].legend(labels=data.index)
        #elif kind == 'barh':
        #    lw = kwargs['linewidth']
        #    axs = data.plot(ax=ax, layout=layout, xerr=yerr, **kwargs)
        elif kind == 'venn':
            axs = self.venn(data, ax, **kwargs)
        else:
            #line, bar and area plots
            if useindex == False:
                x=data.columns[0]
                data.set_index(x,inplace=True)
                #data=data.sort()
            if len(data.columns) == 0:
                msg = "Not enough data.\nIf 'use index' is off select at least 2 columns"
                self.showWarning(msg)
                return
            #adjust colormap to avoid white lines
            if cmap != None:
                cmap = util.adjustColorMap(cmap, 0.15,1.0)
                del kwargs['colormap']
            axs = data.plot(ax=ax, layout=layout, yerr=yerr, style=styles, cmap=cmap,
                             **kwargs)
        return axs