def densityplot_view(request): if request.method == "POST": var1 = request.POST['var-0'] #configuracion para tipo de archivo donde se guarda el grafico y nombre del mismo suffix_dir = "media/graphics/" ext_file = ".png" name_file = "density" + var1 png(file=suffix_dir + name_file + ext_file) values_var1 = Value.objects.filter(column=var1) list_values_var1 = [v.cast_value() for v in values_var1] errors = "" #configuracion para el grafico vector = robjects.FloatVector(list_values_var1) main = "Grafico de Densidad para" + Column.objects.get(pk=var1).name xlab = "Valores" densityplot(vector, main=main, xlab=xlab) off() out = Out() out.img = str(name_file + ext_file) out.save() return redirect("/outqueue")
def barplot_view(request): if request.method == "POST": var1 = request.POST['var-0'] suffix_dir = "media/graphics/" ext_file = ".png" values_var1 = Value.objects.filter(column=var1) list_values_var1 = [v.cast_value() for v in values_var1] errors = "" #configuracion para el grafico try: vector_var1 = robjects.FloatVector(list_values_var1) except e: errors = e name_file = "bar" + var1 png(file=suffix_dir + name_file + ext_file) bar(vector_var1) off() out = Out() out.img = str(name_file + ext_file) out.save() return redirect("/outqueue")
def scatterplot_view(request): if request.method == "POST": var1 = request.POST['var-0'] var2 = request.POST['var-1'] suffix_dir = "media/graphics/" ext_file = ".png" values_var1 = Value.objects.filter(column=var1) values_var2 = Value.objects.filter(column=var2) list_values_var1 = [v.cast_value() for v in values_var1] list_values_var2 = [v.cast_value() for v in values_var2] errors = "" #configuracion para el grafico vector_var1 = robjects.FloatVector(list_values_var1) vector_var2 = robjects.FloatVector(list_values_var2) name_file = "scatter" + var1 + var2 png(file=suffix_dir + name_file + ext_file) scatterplot(vector_var1, vector_var2) off() out = Out() out.img = str(name_file + ext_file) out.save() return redirect("/outqueue")
def scatterplotmatrix_view(request): if request.method == "POST": var1 = request.POST['var-0'] var2 = request.POST['var-1'] suffix_dir = "media/graphics/" ext_file = ".png" values_var1 = Value.objects.filter(column=var1) values_var2 = Value.objects.filter(column=var2) list_values_var1 = [v.cast_value() for v in values_var1] list_values_var2 = [v.cast_value() for v in values_var2] errors = "" vector_var1 = robjects.FloatVector(list_values_var1) vector_var2 = robjects.FloatVector(list_values_var2) main = "Grafico de Dispersion para %s" % (Column.objects.get( pk=var1).name + '-' + Column.objects.get(pk=var2).name) ylab = "" xlab = "Valores" name_file = "scatterplotmatrix" + var1 + var2 png(file=suffix_dir + name_file + ext_file) scatterplotmatrix([vector_var1, vector_var2]) off() out = Out() out.img = str(name_file + ext_file) out.save() return redirect("/outqueue")
def boxplot_view(request): if request.method == "POST": var = request.POST['var-0'] #configuracion para tipo de archivo donde se guarda el grafico y nombre del mismo suffix_dir = "media/graphics/" ext_file = ".png" name_file = "cajas" + var png(file=suffix_dir + name_file + ext_file) #se preparan los valores. TODO: Refactorizar casteo. Hacer mas eficiente. values = Value.objects.filter(column=var) list_values = [v.cast_value() for v in values] #creacion de vector R con los valores correspondientes (R) vector = robjects.FloatVector(list_values) #parametros del grafico main = "Grafico de Caja para %s" % (Column.objects.get(pk=var).name) xlab = "Valores" boxplot(vector, main=main, xlab=xlab) off() #Guardo el resultado y lo muestro en la cola de salida out = Out() out.img = str(name_file + ext_file) out.save() return redirect("/outqueue")
def map_point_density_view(request): if request.method == "POST": var1 = request.POST['column_geo'] suffix_dir = "media/graphics/" ext_file = ".png" values_var1 = Value.objects.filter(column=var1) point_values_lat = [p.point.geom.x for p in values_var1 if p.point] point_values_lng = [p.point.geom.y for p in values_var1 if p.point] errors = "" vector_var1 = robjects.FloatVector(point_values_lat) vector_var2 = robjects.FloatVector(point_values_lng) main = "Grafico de Densidad Por Puntos de %s" % (Column.objects.get( pk=int(var1)).name) xlab = "Latitud" ylab = "Longitud" name_file = "density_point" + var1 png(file=suffix_dir + name_file + ext_file) scatterplot(vector_var1, vector_var2, main=main, xlab=xlab, ylab=ylab) off() out = Out() out.img = str(name_file + ext_file) out.save() return redirect("/outqueue")
def map_area_r_view(request): datasource_id = request.POST.get('datasource') column_geo = request.POST.get('column_geo') datasource = DataSource.objects.get(pk=datasource_id) areas = Value.objects.filter(column__datasource=datasource_id, column=column_geo).values("area").annotate( Count('area')).order_by() shp_name = str(int(datasource_id) + int(column_geo)) min_val = 0 max_val = 1023 polys = [] suffix_dir = "media/graphics/" ext_file = ".png" main = "Grafico de Densidad Por Puntos de %s" xlab = "Latitud" ylab = "Longitud" png(file=suffix_dir + shp_name + ext_file) generate_shp(areas, shp_name + '.shp') shp_file = pbsmapping.importShapefile(settings.SHP_UPLOAD_DIR + shp_name) pbsmapping.plotPolys(shp_file) off() out = Out() out.img = str(shp_name + ext_file) out.save() return redirect("/outqueue")
def histogram_view(request): if request.method == "POST": var = request.POST['var-0'] #configuracion para tipo de archivo donde se guarda el grafico y nombre del mismo suffix_dir = "media/graphics/" ext_file = ".png" name_file = "histograma" + var png(file=suffix_dir + name_file + ext_file) errors = '' #se preparan los valores. TODO: Refactorizar casteo. Hacer mas eficiente. values = Value.objects.filter(column=var) list_values = [v.cast_value() for v in values] #creacion de vector R con los valores correspondientes (R) vector = robjects.FloatVector(list_values) #parametros del grafico freq = False probability = not freq include = True right = True col = "blue" border = par("fg") main = "Histograma de %s" % (Column.objects.get(pk=var).name) xlab = "Valores" ylab = "Frecuencia" try: hist(vector, col=col, border=border, main=main, xlab=xlab, ylab=ylab) off() except UnboundLocalError: errors += "" #Guardo el resultado y lo muestro en la cola de salida out = Out() out.img = str(name_file + ext_file) out.errors = errors out.text = main out.save() return redirect("/outqueue")
def stripchart_view(request): if request.method == "POST": var = request.POST['var-0'] #configuracion para tipo de archivo donde se guarda el grafico y nombre del mismo suffix_dir = "media/graphics/" ext_file = ".png" name_file = "stripchart" + var png(file=suffix_dir + name_file + ext_file) #se preparan los valores. TODO: Refactorizar casteo. Hacer mas eficiente. values = Value.objects.filter(column=var) list_values = [v.cast_value() for v in values] #creacion de vector R con los valores correspondientes (R) vector = robjects.FloatVector(list_values) #parametros del grafico jitter = 0.2 offset = 1 / 3 vertical = False main = "Grafico de Puntos para %s" % (Column.objects.get(pk=var).name) ylab = "Valores" xlab = "" pch = 1 col = par("fg") cex = par("cex") strip(vector, method="jitter", jitter=jitter, offset=offset, vertical=vertical, main=main, xlab=xlab, pch=pch, col=col, cex=cex) off() #Guardo el resultado y lo muestro en la cola de salida out = Out() out.img = str(name_file + ext_file) out.save() return redirect("/outqueue")