예제 #1
0
파일: task.py 프로젝트: joskid/mldata
def plot_data_split(request, id, split_nr):
    split_nr = int(split_nr)
    task = get_object_or_404(Task, pk=id)
    img = [task.get_split_image(split_nr)]
    #import pdb
    #pdb.set_trace()
    if (img == None):
        return None


#   why it does not work ?
    from pylab import axis
    axis('off')

    from StringIO import StringIO
    dpi = 60
    bgcol = '#ffffff'
    fig = Figure(figsize=(7, 0.3), dpi=dpi, facecolor=bgcol)

    canvas = FigureCanvas(fig)
    bx = fig.add_subplot(111)
    bx.set_yticklabels([])
    bx.set_xticklabels([])
    bx.set_yticks([])
    #import pdb
    #pdb.set_trace()
    bx.imshow(img,
              aspect='auto',
              interpolation='nearest',
              vmin=0,
              vmax=3,
              cmap=cmap_mldata)

    #    bx = fig.add_subplot(212)
    #    bx.set_yticklabels([])
    #    bx.set_xticklabels([])

    #    bx.imshow(img,aspect='auto',interpolation='nearest',cmap=cm.jet,extent=[0,len(img[0])-1,0,1])

    canvas.draw()
    imdata = StringIO()
    fig.savefig(imdata, format='png', dpi=dpi, facecolor=bgcol)
    return HttpResponse(imdata.getvalue(), mimetype='image/png')
예제 #2
0
파일: task.py 프로젝트: arjunpola/mldata
def plot_data_split(request,id,split_nr):
    split_nr=int(split_nr)
    task=get_object_or_404(Task, pk=id)
    img = [task.get_split_image(split_nr)]
    #import pdb
    #pdb.set_trace()
    if (img == None):
        return None    

#   why it does not work ? 
    from pylab import axis
    axis('off')

    from StringIO import StringIO
    dpi=60
    bgcol='#ffffff'
    fig = Figure(figsize=(7,0.3), dpi=dpi, facecolor=bgcol)

    canvas = FigureCanvas(fig)
    bx = fig.add_subplot(111)
    bx.set_yticklabels([])
    bx.set_xticklabels([])
    bx.set_yticks([])
    #import pdb
    #pdb.set_trace()
    bx.imshow(img,aspect='auto',interpolation='nearest',vmin=0,vmax=3,cmap=cmap_mldata)
    
#    bx = fig.add_subplot(212)
#    bx.set_yticklabels([])
#    bx.set_xticklabels([])

#    bx.imshow(img,aspect='auto',interpolation='nearest',cmap=cm.jet,extent=[0,len(img[0])-1,0,1])

    canvas.draw()
    imdata=StringIO()
    fig.savefig(imdata,format='png', dpi=dpi, facecolor=bgcol)
    return HttpResponse(imdata.getvalue(),mimetype='image/png')
예제 #3
0
def stats_helper(request, software_id, type, dpi):
    # matplotlib needs a writable home directory
    if settings.PRODUCTION:
        import os
        os.environ['HOME']='/home/mloss/tmp'

    import matplotlib
    import datetime
    matplotlib.use('Cairo')
    from matplotlib.figure import Figure
    from matplotlib.backends.backend_cairo import FigureCanvasCairo as FigureCanvas
    from matplotlib.dates import DayLocator, WeekdayLocator, HourLocator, MonthLocator, YearLocator
    from matplotlib.dates import DateFormatter, date2num
    from StringIO import StringIO

    if dpi<=40:
        bgcol='#f7f7f7'
    else:
        bgcol='#ffffff'
    fig = Figure(figsize=(8,6), dpi=dpi, facecolor=bgcol)
    canvas = FigureCanvas(fig)
    ax = fig.add_subplot(111)

    stat = SoftwareStatistics.objects.filter(software=software_id).distinct().order_by('date')

    if stat.count()<=0:
        return HttpResponseForbidden()

    x=list()
    y=list()
    for entry in stat:
        x.append(date2num(entry.date))
        if type=='downloads':
            y.append(entry.number_of_downloads)
        elif type=='views':
            y.append(entry.number_of_views)

    #ax.plot(x,y,'bo', alpha=0.7)
    #ax.plot(x,y,'b-',linewidth=1, alpha=0.5)
    ax.bar(x,y)

    days = DayLocator()
    weeks= WeekdayLocator()
    months= MonthLocator()
    years= YearLocator()
    dateFmt = DateFormatter("%Y-%m-%d")
    ax.xaxis.set_major_formatter(dateFmt)

    if len(x)<=14:
        ax.xaxis.set_major_locator(days)
    elif len(x)<60:
        ax.xaxis.set_major_locator(weeks)
        ax.xaxis.set_minor_locator(days)
    elif len(x)<720:
        ax.xaxis.set_major_locator(months)
        ax.xaxis.set_minor_locator(weeks)
    else:
        ax.xaxis.set_major_locator(years)
        ax.xaxis.set_minor_locator(months)

    if dpi>40:
        if type=='downloads':
            ax.set_title('Number of Downloads')
            ax.set_ylabel('Downloads per Day')
        elif type=='views':
            ax.set_title('Number of Views')
            ax.set_ylabel('Views per Day')

        ax.grid(True)
    ax.axis("tight")

    for label in ax.get_xticklabels():
        label.set_ha('right')
        label.set_rotation(30)

    canvas.draw()
    imdata=StringIO()
    fig.savefig(imdata,format='png', dpi=dpi, facecolor=bgcol)
    del fig
    del ax

    return HttpResponse(imdata.getvalue(), mimetype='image/png')
예제 #4
0
파일: task.py 프로젝트: arjunpola/mldata
def plot_legend(request):
    import numpy
    img=numpy.array([[0,1,2,3]])
    #from pylab import axis
    #axis('off')

    from StringIO import StringIO
    dpi=25
    bgcol='#ffffff'
    fig = Figure(figsize=(7,1.5), dpi=dpi, facecolor=bgcol)

    canvas = FigureCanvas(fig)
    ax = fig.add_subplot(171)
    ax.set_title('not used')
    ax.title.set_fontsize(30)

    ax.set_yticklabels([])
    ax.set_xticklabels([])

    ax.set_yticks([])
    ax.set_xticks([])
    ax.imshow([[0]],interpolation='nearest',vmin=0,vmax=3,cmap=cmap_mldata)

    bx = fig.add_subplot(173)
    bx.set_title('train')
    bx.title.set_fontsize(30)

    bx.set_yticklabels([])
    bx.set_xticklabels([])

    bx.set_yticks([])
    bx.set_xticks([])

    bx.imshow([[1]],interpolation='nearest',vmin=0,vmax=3,cmap=cmap_mldata)

    cx = fig.add_subplot(175)
    cx.set_title('validation')
    cx.title.set_fontsize(30)

    cx.set_yticklabels([])
    cx.set_xticklabels([])

    cx.set_yticks([])
    cx.set_xticks([])

    cx.imshow([[2]],interpolation='nearest',vmin=0,vmax=3,cmap=cmap_mldata)
    dx = fig.add_subplot(177)
    dx.set_title('test')
    dx.title.set_fontsize(30)

    dx.set_yticklabels([])
    dx.set_xticklabels([])

    dx.set_yticks([])
    dx.set_xticks([])

    dx.imshow([[3]],interpolation='nearest',vmin=0,vmax=3,cmap=cmap_mldata)
  #bx.set_title('legend')
    #bx.set_yticklabels([])
    #bx.set_xticklabels([])

    #bx.set_yticklabels([])
    #bx.set_xticklabels(['not used','train','validation','test'])

    #bx.set_yticks([])
    #bx.set_xticks([2,7,12,17])
    #for label in bx.get_xticklabels():
    #    label.set_fontsize(12) 
    #bx.imshow([[0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3]],aspect=None,interpolation='nearest',cmap=cm.Greys)

    canvas.draw()
    imdata=StringIO()
    fig.savefig(imdata,format='png', dpi=dpi, facecolor=bgcol)
    return HttpResponse(imdata.getvalue(),mimetype='image/png')
예제 #5
0
파일: task.py 프로젝트: joskid/mldata
def plot_legend(request):
    import numpy
    img = numpy.array([[0, 1, 2, 3]])
    #from pylab import axis
    #axis('off')

    from StringIO import StringIO
    dpi = 25
    bgcol = '#ffffff'
    fig = Figure(figsize=(7, 1.5), dpi=dpi, facecolor=bgcol)

    canvas = FigureCanvas(fig)
    ax = fig.add_subplot(171)
    ax.set_title('not used')
    ax.title.set_fontsize(30)

    ax.set_yticklabels([])
    ax.set_xticklabels([])

    ax.set_yticks([])
    ax.set_xticks([])
    ax.imshow([[0]], interpolation='nearest', vmin=0, vmax=3, cmap=cmap_mldata)

    bx = fig.add_subplot(173)
    bx.set_title('train')
    bx.title.set_fontsize(30)

    bx.set_yticklabels([])
    bx.set_xticklabels([])

    bx.set_yticks([])
    bx.set_xticks([])

    bx.imshow([[1]], interpolation='nearest', vmin=0, vmax=3, cmap=cmap_mldata)

    cx = fig.add_subplot(175)
    cx.set_title('validation')
    cx.title.set_fontsize(30)

    cx.set_yticklabels([])
    cx.set_xticklabels([])

    cx.set_yticks([])
    cx.set_xticks([])

    cx.imshow([[2]], interpolation='nearest', vmin=0, vmax=3, cmap=cmap_mldata)
    dx = fig.add_subplot(177)
    dx.set_title('test')
    dx.title.set_fontsize(30)

    dx.set_yticklabels([])
    dx.set_xticklabels([])

    dx.set_yticks([])
    dx.set_xticks([])

    dx.imshow([[3]], interpolation='nearest', vmin=0, vmax=3, cmap=cmap_mldata)
    #bx.set_title('legend')
    #bx.set_yticklabels([])
    #bx.set_xticklabels([])

    #bx.set_yticklabels([])
    #bx.set_xticklabels(['not used','train','validation','test'])

    #bx.set_yticks([])
    #bx.set_xticks([2,7,12,17])
    #for label in bx.get_xticklabels():
    #    label.set_fontsize(12)
    #bx.imshow([[0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3]],aspect=None,interpolation='nearest',cmap=cm.Greys)

    canvas.draw()
    imdata = StringIO()
    fig.savefig(imdata, format='png', dpi=dpi, facecolor=bgcol)
    return HttpResponse(imdata.getvalue(), mimetype='image/png')