本文整理汇总了Python中reportlab.graphics.charts.legends.Legend类的典型用法代码示例。如果您正苦于以下问题:Python Legend类的具体用法?Python Legend怎么用?Python Legend使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Legend类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: legend_draw
def legend_draw(self, labels, chart, **kwargs):
legend = Legend()
chart_type = kwargs['type']
# legend.fontName = 'FreeSans'
legend.fontSize = 13
legend.strokeColor = None
if 'x' in kwargs:
legend.x = kwargs['x']
if 'y' in kwargs:
legend.y = kwargs['y']
legend.alignment = 'right'
if 'boxAnchor' in kwargs:
legend.boxAnchor = kwargs['boxAnchor']
if 'columnMaximum' in kwargs:
legend.columnMaximum = kwargs['columnMaximum']
# x-distance between neighbouring swatche\s
legend.deltax = 0
lcolors = get_random_colors(10)
if chart_type == 'line':
lcolors = [colors.red, colors.blue]
elif chart_type == 'pie':
lcolors = [colors.darkgreen, colors.darkblue] + lcolors
legend.colorNamePairs = list(zip(lcolors, labels))
for i, color in enumerate(lcolors):
if chart_type == 'line':
chart.lines[i].fillColor = color
elif chart_type == 'pie':
chart.slices[i].fillColor = color
elif chart_type == 'bar':
chart.bars[i].fillColor = color
return legend
开发者ID:mava-ar,项目名称:controla,代码行数:32,代码来源:pdf_utils.py
示例2: sample4pie
def sample4pie():
width = 300
height = 150
d = Drawing(width, height)
pc = Pie()
pc.x = 150
pc.y = 50
pc.data = [1, 50, 100, 100, 100, 100, 100, 100, 100, 50]
pc.labels = ["0", "a", "b", "c", "d", "e", "f", "g", "h", "i"]
pc.slices.strokeWidth = 0.5
pc.slices[3].popout = 20
pc.slices[3].strokeWidth = 2
pc.slices[3].strokeDashArray = [2, 2]
pc.slices[3].labelRadius = 1.75
pc.slices[3].fontColor = colors.red
d.add(pc)
legend = Legend()
legend.x = width - 5
legend.y = height - 5
legend.dx = 20
legend.dy = 5
legend.deltax = 0
legend.boxAnchor = "nw"
legend.colorNamePairs = Auto(chart=pc)
d.add(legend)
return d
开发者ID:sylex-team,项目名称:reportlab-patched,代码行数:26,代码来源:test_graphics_charts.py
示例3: sample4pie
def sample4pie():
width = 300
height = 150
d = Drawing(width, height)
pc = Pie()
pc.x = 150
pc.y = 50
pc.data = [1, 50, 100, 100, 100, 100, 100, 100, 100, 50]
pc.labels = ['0','a','b','c','d','e','f','g','h','i']
pc.slices.strokeWidth=0.5
pc.slices[3].popout = 20
pc.slices[3].strokeWidth = 2
pc.slices[3].strokeDashArray = [2,2]
pc.slices[3].labelRadius = 1.75
pc.slices[3].fontColor = colors.red
d.add(pc)
legend = Legend()
legend.x = width-5
legend.y = height-5
legend.dx = 20
legend.dy = 5
legend.deltax = 0
legend.boxAnchor = 'nw'
legend.colorNamePairs=Auto(chart=pc)
d.add(legend)
return d
开发者ID:Jbaumotte,项目名称:web2py,代码行数:26,代码来源:test_graphics_charts.py
示例4: __init__
def __init__(self, data, labels):
super(PieChart, self).__init__(400,200)
colors = [
HexColor("#0000e5"),
HexColor("#ff0011"),
HexColor("#800000"),
HexColor("#e05897"),
HexColor("#a08ff7"),
HexColor("#8f8ff5"),
HexColor("#c7c7fa"),
HexColor("#800000"),
HexColor("#eb8585"),
HexColor("#d60a0a"),
HexColor("#ffff00"),
HexColor("#1f1feb"),
]
# Create pie chart
pieChart = Pie()
pieChart.x = 40
pieChart.y = 30
pieChart.width = 120
pieChart.height = 120
pieChart.slices.strokeWidth=0.5
data = json.loads(data)
pieChart.data = data
pieChart.labels = []
labels = json.loads(labels.replace("'",'"'))
for d in data:
pieChart.labels.append(str(d))
# Create legend
legend = Legend()
legend.x = 380
legend.y = 60
legend.boxAnchor = 'se'
legend.subCols[1].align = 'right'
legend.colorNamePairs = []
len_data = len(data)
for i in range(0,len_data):
pieChart.slices[i].fillColor = colors[i]
legend.colorNamePairs.append((colors[i],labels[i]))
self.add(pieChart, "pie chart")
self.add(legend, "legend")
开发者ID:ranjithtenz,项目名称:pulpo-forms-django,代码行数:47,代码来源:PieChart.py
示例5: make_legend
def make_legend(self, drawing, chart):
if not self.legend_labels:
return
# Get legend labels
labels = self.get_legend_labels()
# Legend object
legend = Legend()
legend.colorNamePairs = zip(self.colors[:len(labels)], labels)
legend.columnMaximum = len(legend.colorNamePairs)
legend.deltay = 5
legend.alignment = 'right'
legend.x = drawing.width + 40
legend.y = drawing.height - (self.title and self.title.get('height', DEFAULT_TITLE_HEIGHT) or 0)
# Sets legend extra attributes if legend_labels is a dictionary
if isinstance(self.legend_labels, dict):
for k,v in self.legend_labels.items():
if k != 'labels' and v:
setattr(legend, k, v)
drawing.add(legend)
return legend
开发者ID:7o9,项目名称:stdm-plugin,代码行数:26,代码来源:charts.py
示例6: createReadsHistogram
def createReadsHistogram(self):
'''
Routine to create histogram of numbers of 'reads' for given years
'''
# The vertical bar chart will get added to the 'drawing' object
drawing = Drawing(400, 200)
# Now we can start constructing the vertical bar chart
lc = VerticalBarChart()
lc.x = 30
lc.y = 50
lc.height = 125
lc.width = 350
# Record the years, because these values will be used as x axis labels
years = sorted(map(lambda b: int(b), filter(lambda a: a.isdigit(), self.data['reads histogram'].keys())))
# This list will hold the data points for the histogram
lc.data = []
# Record the counts of both reads of refereed and non-refereed papers
refereed = []
non_refereed = []
# The maximum number of reads will be used to scale the y axis
max_reads = 0
# Take only the first two values of each value string in the histogram data
# The first is for 'all' papers, the second for the 'refereed' papers
for year in years:
values = map(lambda a: int(a),self.data['reads histogram'][str(year)].split(':')[:2])
max_reads = max(max_reads,max(values))
refereed.append(values[1])
non_refereed.append(values[0]-values[1])
lc.data.append(refereed)
lc.data.append(non_refereed)
# Proper label placement for years: shift by (-6, -6) in x and y to have labels positioned properly
lc.categoryAxis.labels.dx = -6
lc.categoryAxis.labels.dy = -6
# and rotate the labels by 90 degrees
lc.categoryAxis.labels.angle = 90
# Define the value step and maximum for the y axis
lc.valueAxis.valueMax = int(math.ceil(float(max_reads)/10.0))*10
lc.valueAxis.valueStep = max(int(math.floor(float(max_reads)/10.0)),1)
lc.valueAxis.valueMin = 0
# The label names are the access years
lc.categoryAxis.categoryNames = map(lambda a: str(a), years)
# Now add the histogram to the 'drawing' object
drawing.add(lc)
# Add a legend to the histogram so that we now which color means what
legend = Legend()
legend.alignment = 'right'
legend.x = 380
legend.y = 160
legend.deltax = 60
legend.dxTextSpace = 10
items = [(colors.red, 'refereed'), (colors.green, 'non-refereed')]
legend.colorNamePairs = items
drawing.add(legend, 'legend')
# Finally add a title to the histogram
drawing.add(String(200,190,"reads histogram", textAnchor="middle", fillColor='blue'))
# Append the result to the 'story'
self.story.append(drawing)
开发者ID:aburgm,项目名称:adsabs,代码行数:57,代码来源:pdf_report.py
示例7: myBarLegend
def myBarLegend(drawing, name1, name2):
"Add sample swatches to a diagram."
d = drawing or Drawing(400, 200)
swatches = Legend()
swatches.alignment = 'right'
swatches.x = 80
swatches.y = 160
swatches.deltax = 60
swatches.dxTextSpace = 10
swatches.columnMaximum = 4
items = [(colors.blue, name1), (colors.lightblue, name2)]
swatches.colorNamePairs = items
d.add(swatches, 'legend')
return d
开发者ID:oolsson,项目名称:oo_eclipse,代码行数:14,代码来源:pytrade.py
示例8: sample3
def sample3(drawing=None):
"Add sample swatches to a diagram."
d = drawing or Drawing(400, 200)
swatches = Legend()
swatches.alignment = 'right'
swatches.x = 80
swatches.y = 160
swatches.deltax = 60
swatches.dxTextSpace = 10
swatches.columnMaximum = 4
items = [(colors.red, 'before'), (colors.green, 'after')]
swatches.colorNamePairs = items
d.add(swatches, 'legend')
return d
开发者ID:Jbaumotte,项目名称:web2py,代码行数:18,代码来源:test_graphics_charts.py
示例9: range
lp.xValueAxis.labels.dy = -10
lp.xValueAxis.labels.boxAnchor = 'e'
lp.yValueAxis.labelTextFormat = lambda value: '%d MB' % (int(value) / 1000)
lp.yValueAxis.labels.fontName = 'Helvetica'
lp.yValueAxis.labels.fontSize = 7
lp.yValueAxis.visibleGrid = True
lp.yValueAxis.drawGridLast = True
lp.yValueAxis.valueMin = 0
if reserved:
if reserved[0]: lp.yValueAxis.valueMax = reserved[0]
if reserved[1]: lp.yValueAxis.valueStep = reserved[1]
for i in range(len(names)):
lp.lines[i].strokeColor = self.Color[i]
legend = Legend()
legend.x = 0
legend.y = h - 30
legend.boxAnchor = 'sw'
legend.colorNamePairs = [(self.Color[i], names[i]) for i in range(len(names))]
legend.fontName = 'Helvetica'
legend.fontSize = 8
legend.dxTextSpace = 5
legend.dy = 5
legend.dx = 5
legend.deltay = 5
legend.alignment ='right'
drawing.add(lp)
drawing.add(legend)
开发者ID:cokesprite,项目名称:memory-tool,代码行数:30,代码来源:mmparse.py
示例10: create_single_grade_pdf
#.........这里部分代码省略.........
bc.bars.symbol.fillColorStart = colors.lightblue
bc.bars.symbol.fillColorEnd = colors.lightblue
bc.bars.symbol.strokeWidth = 0
#this draws a line at the top of the graph to close it.
bc.strokeColor = colors.black
#Y-axis min, max, and steps.
if minimum != 100:
bc.valueAxis.valueMin = minimum -10
else:
bc.valueAxis.valueMin = 50
bc.valueAxis.valueMax = 100
bc.valueAxis.valueStep = 5
#where to anchor the origin of the graph
bc.categoryAxis.labels.boxAnchor = 'ne'
#Locations of labels for the X-axis
bc.categoryAxis.labels.dx = 2
bc.categoryAxis.labels.dy = -2
bc.barLabels.nudge = -10
bc.barLabelFormat = '%.2f%%'
bc.barLabels.dx = 0
bc.barLabels.dy = 0
#The angle of the lables for the X-axis
bc.categoryAxis.labels.angle = 30
#List of the categories to place on the X-axis
bc.categoryAxis.categoryNames = standard_ref_list
drawing.add(bc)
'''------'''
'''--Graph Legend--'''
#Graph Legend
legend = Legend()
legend.alignment = 'right'
legend.x = 420
legend.y = 150
legend.deltax = 60
legend.dxTextSpace = 10
legend.columnMaximum = 4
legend.colorNamePairs = [(colors.lightblue, 'grade average')]
drawing.add(legend, 'legend')
drawing_title = "Bar Graph"
Story.append(drawing)
Story.append(Spacer(1,15))
#LineGraph Title
ptext = '<font size=15><b>Class Performance by Assignment</b></font>'
Story.append(Paragraph(ptext, styles["title"]))
Story.append(Spacer(1,30))
'''
Line Plot Graph ------
'''
assignment_data_all =[[],[]]
for key in assignment_dict.keys():
assignment_data_all[0].append(assignment_dict[key][2])
assignment_data_all[1].append(assignment_dict[key][1])
drawing2 = Drawing(600, 200)
data2 = assignment_data_all
#lp = LinePlot()
#data[0] = preprocessData(data[0])
开发者ID:bpatzke,项目名称:student-growth-tracker,代码行数:67,代码来源:students.py
示例11: make_graphs
def make_graphs(self,canvas=None,left_margin=None):#text=None):
from reportlab.graphics import renderPDF
from reportlab.lib.pagesizes import letter
from reportlab.graphics.shapes import Drawing,String
from reportlab.graphics.charts.legends import Legend
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.widgets.markers import makeMarker
from reportlab.lib import colors
from reportlab.lib.units import inch
#help(colors)
self.framework = {4:dict(status=SpotClass.SPINDLE,color=colors.black),
5:dict(status=SpotClass.OVERLAP,color=colors.limegreen),
6:dict(status=SpotClass.OUTLIER,color=colors.greenyellow),
7:dict(status=SpotClass.ICE,color=colors.skyblue),
}
# set size and position
width,height = letter
#letter_landscape = (width,height)
plot_dim = 3.0*inch
# construct scatter plot
plot_dxdy_pos = (left_margin*inch,height - plot_dim - 0.5*inch)
plot_dxdy = LinePlot()
plot_dxdy.data = self.plot_dxdy_data
std_colors = {0:colors.darkred, 1:colors.red, 2:colors.salmon}
for key in std_colors.keys():
plot_dxdy.lines[key].strokeColor = None
plot_dxdy.lines[key].symbol = makeMarker('Circle')
plot_dxdy.lines[key].symbol.strokeColor = None
plot_dxdy.lines[key].symbol.fillColor = std_colors[key]
plot_dxdy.lines[key].symbol.size = 1.2
for key in self.framework.keys():
plot_dxdy.lines[key].strokeColor = None
plot_dxdy.lines[key].symbol = makeMarker('Circle')
plot_dxdy.lines[key].symbol.strokeColor = None
plot_dxdy.lines[key].symbol.fillColor = self.framework[key]["color"]
plot_dxdy.lines[key].symbol.size = 1.2
plot_dxdy.lines[3].strokeColor = None
plot_dxdy.lines[3].symbol = makeMarker('Circle')
plot_dxdy.lines[3].symbol.strokeColor = colors.blue
plot_dxdy.lines[3].symbol.fillColor = None
plot_dxdy.lines[3].symbol.strokeWidth = 0.6
plot_dxdy.lines[3].symbol.size = plot_dim*(self.sqrtr2)
#print plot_dxdy.lines[3].symbol.getProperties()
plot_dxdy.width = plot_dim
plot_dxdy.height = plot_dim
plot_dxdy.xValueAxis.valueMax = 1.0
plot_dxdy.xValueAxis.valueMin = -1.0
plot_dxdy.xValueAxis.joinAxis = plot_dxdy.yValueAxis
plot_dxdy.xValueAxis.joinAxisMode = 'value'
plot_dxdy.xValueAxis.joinAxisPos = -1.0
plot_dxdy.yValueAxis.valueMax = 1.0
plot_dxdy.yValueAxis.valueMin = -1.0
d_dxdy = Drawing(plot_dim,plot_dim)
d_dxdy.add(plot_dxdy)
# construct cdf plot
plot_cdf_pos = (left_margin*inch, height - 2.0*(plot_dim + 0.5*inch))
plot_cdf = LinePlot()
plot_cdf.data = self.plot_cdf_data
plot_cdf.lines[0].strokeColor = colors.blue
for key in std_colors.keys():
plot_cdf.lines[key+1].strokeColor = None
plot_cdf.lines[key+1].symbol = makeMarker('Circle')
plot_cdf.lines[key+1].symbol.strokeColor = None
plot_cdf.lines[key+1].symbol.fillColor = std_colors[key]
plot_cdf.lines[key+1].symbol.size = 1.2
if (len(self.plot_cdf_data) == 5):
plot_cdf.lines[4].strokeColor = colors.green
plot_cdf.width = plot_dim
plot_cdf.height = plot_dim
plot_cdf.xValueAxis.valueMax = 1.0
plot_cdf.xValueAxis.valueMin = 0.0
plot_cdf.yValueAxis.valueMax = 1.0
plot_cdf.yValueAxis.valueMin = 0.0
d_cdf = Drawing(plot_dim,plot_dim)
d_cdf.add(plot_cdf)
# construct pdf plot
plot_pdf_pos = (left_margin*inch, height - 3.0*(plot_dim + 0.5*inch))
plot_pdf = LinePlot()
plot_pdf.data = self.plot_pdf_data
plot_pdf.lines[1].strokeColor = colors.blue
plot_pdf.lines[0].strokeColor = None
plot_pdf.lines[0].symbol = makeMarker('Circle')
plot_pdf.lines[0].symbol.strokeColor = colors.red
plot_pdf.lines[0].symbol.size = 1
plot_pdf.width = plot_dim
plot_pdf.height = plot_dim
plot_pdf.xValueAxis.valueMax = 1.0
plot_pdf.xValueAxis.valueMin = 0.0
d_pdf = Drawing(2*plot_dim,plot_dim)
#.........这里部分代码省略.........
开发者ID:cctbx,项目名称:cctbx-playground,代码行数:101,代码来源:outlier_detection.py
示例12: run
#.........这里部分代码省略.........
# Lookup the integer weight of this answer
if value in answeroptions:
index = answeroptions.index(value)
weight = weights[index]
# Always add to the list. ReportLab deals with None.
if counter == 0:
dimension_one_values.append(weight)
else:
dimension_two_values.append(weight)
counter += 1
# Set minmax
absmax = max(abs(minval), abs(maxval)) * 1.1
lc.xValueAxis.valueMin = -absmax
lc.xValueAxis.valueMax = absmax
lc.yValueAxis.valueMin = -absmax
lc.yValueAxis.valueMax = absmax
# Zip to create data
data = [zip(dimension_one_values, dimension_two_values)]
if not len(data[0]):
return
lc.x = 0
lc.y = 0
# Misc setup
lc.height = 300
lc.width = 300
lc.data = data
lc.joinedLines = 0
lc.fillColor = None
lc.lines[0].strokeColor = colors.red
lc.lines[0].symbol = makeMarker('FilledCircle')
# Add a grid
grid = DoubleGrid()
lc.background = grid
setupGrid(lc)
lc.background = None
# Finetune the grid
grid.grid0.strokeWidth = 0.2
grid.grid1.strokeWidth = 0.2
# Add to drawing else it overwrites the center Y axis
drawing.add(grid)
# Add a Y axis to pass through the origin
yaxis = YValueAxis()
yaxis.setPosition(lc.width/2, 0, lc.height)
yaxis.configure([(0,-absmax),(0,absmax)])
yaxis.strokeColor = colors.blue
drawing.add(yaxis)
# Color X-Axis
lc.xValueAxis.strokeColor = colors.green
drawing.add(lc)
# Legend for Dimension One
drawing.add(String(lc.width+20, lc.height-12, 'Dimension One (X-Axis):',
fontName='Helvetica', fontSize=12, fillColor=colors.green))
legend = Legend()
legend.alignment = 'right'
legend.x = lc.width + 20
legend.y = lc.height - 20
legend.fontName = 'Helvetica'
legend.fontSize = 12
legend.columnMaximum = 7
items = []
for ob in dimension_one_answeroptions_as_objects:
items.append( ( StringWidget(ob.getWeight()), ob() ) )
legend.colorNamePairs = items
drawing.add(legend, 'legend1')
# Legend for Dimension Two
drawing.add(String(lc.width+20, lc.height/2-12, 'Dimension Two (Y-Axis):',
fontName='Helvetica', fontSize=12, fillColor=colors.blue))
legend = Legend()
legend.alignment = 'right'
legend.x = lc.width + 20
legend.y = lc.height/2 - 20
legend.fontName = 'Helvetica'
legend.fontSize = 12
legend.columnMaximum = 7
items = []
for ob in dimension_two_answeroptions_as_objects:
items.append( ( StringWidget(ob.getWeight()), ob() ) )
legend.colorNamePairs = items
drawing.add(legend, 'legend2')
# Write out
data = drawing.asString('png')
request = self.REQUEST
response = request.RESPONSE
response.setHeader('Content-Type', 'image/png')
response.setHeader('Content-Disposition','inline; filename=%s.png' % self.getId())
response.setHeader('Content-Length', len(data))
response.setHeader('Cache-Control', 's-maxage=0')
return data
开发者ID:UPCnet,项目名称:Products.PloneSurvey,代码行数:101,代码来源:get_2d_chart.py
示例13: setLegend
def setLegend(self):
legend = Legend()
legend.colorNamePairs = []
legend.fontName = 'Helvetica-Bold'
legend.fontSize = 12
legend.x = 100
legend.y = 110
legend.dxTextSpace = 5
legend.dy = 20
legend.dx = 20
legend.deltay = 5
legend.deltax = 7
legend.columnMaximum = 1
legend.alignment ='right'
legend.x = 60
legend.y = 50
legend.columnMaximum = 2
legend.colorNamePairs = []
legend.colorNamePairs.append((colors.green,
self._data_dict['max_score_legend']))
legend.colorNamePairs.append((colors.red,
self._data_dict['score_legend']))
self.add(legend, name='Legend')
开发者ID:upfrontsystems,项目名称:tarmii.theme,代码行数:23,代码来源:charts.py
示例14: generar_pdf_busquedas_view
#.........这里部分代码省略.........
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 0
bc.categoryAxis.categoryNames = ['Encontradas', 'No Encontradas']
drawing.add(bc)
bc.barLabels.nudge = 20
bc.barLabelFormat = '%0.0f'
bc.barLabels.dx = 0
bc.barLabels.dy = 0
bc.barLabels.boxAnchor = 'n' # irrelevant (becomes 'c')
bc.barLabels.fontName = 'Helvetica'
bc.barLabels.fontSize = 14
#GRAFICAS DE PASTEL
titulo2 = Paragraph("Busquedas y número de veces realizadas", estilo['title'])
d = Drawing(400, 200)
pc = Pie()
pc.x = 125
pc.y = 25
pc.data = lista
print lista
#pc.data = [7, 1, 1, 1, 1, 2]
#pc.labels = [ str(i.values()) for i in Busqueda.objects.filter(fecha__range=(fecha_inicio, fecha_final)).values('busqueda').distinct()]
lista_labels = [ str(i.values()) for i in Busqueda.objects.filter(fecha__range=(fecha_inicio, fecha_final)).values('busqueda').distinct()]
#pc.labels = ['example1', 'example2', 'example3', 'example4', 'example5', 'example6']
pc.sideLabels = 1
pc.width = 150
pc.height = 150
pc.slices.strokeWidth=1#0.5
pc.slices[0].fillColor = colors.yellow
pc.slices[1].fillColor = colors.thistle
pc.slices[2].fillColor = colors.cornflower
pc.slices[3].fillColor = colors.lightsteelblue
pc.slices[4].fillColor = colors.aquamarine
pc.slices[5].fillColor = colors.cadetblue
d.add(pc)
legend = Legend()
legend.x = 370
legend.y = 0
legend.dx = 10
legend.dy = 10
legend.fontName = 'Helvetica'
legend.fontSize = 10
legend.boxAnchor = 'n'
legend.columnMaximum = 10
legend.strokeWidth = 1
legend.strokeColor = colors.black
legend.deltax = 75
legend.deltay = 10
legend.autoXPadding = 5
legend.yGap = 0
legend.dxTextSpace = 5
legend.alignment = 'right'
legend.dividerLines = 1|2|4
legend.dividerOffsY = 4.5
legend.subCols.rpad = 30
#Insertemos nuestros propios colores
colores = [colors.blue, colors.red, colors.green, colors.yellow, colors.black, colors.white, colors.silver, colors.pink, colors.brown, colors.orange, colors.purple]
for i, color in enumerate(colores):
pc.slices[i].fillColor = color
legend.colorNamePairs = [(
pc.slices[i].fillColor,
(lista_labels[i][0:200], '%0.0f' % pc.data[i])
) for i in xrange(len(pc.data))]
d.add(pc)
reportes.append(t)
reportes.append(Spacer(0, inch*.1))
reportes.append(Spacer(0, inch*.1))
reportes.append(Spacer(0, inch*.1))
reportes.append(titulo)
reportes.append(drawing)
reportes.append(Spacer(0, inch*.1))
reportes.append(Spacer(0, inch*.1))
reportes.append(titulo2)
d.add(legend)
reportes.append(d)
doc.build(reportes)
response.write(buff.getvalue())
buff.close()
return response
开发者ID:Monita1234,项目名称:adsi,代码行数:101,代码来源:views.py
示例15: Label
xlbl.setOrigin(310, 72)
ylbl = Label()
ylbl.setText("Percentage\n (%)")
ylbl.setOrigin(28, 260)
lp.lines[0].strokeColor = colors.darkgreen
lp.lineLabels[0].strokeColor = colors.darkgreen
lp.lines[1].strokeColor = colors.tomato
lp.lineLabels[1].strokeColor = colors.tomato
lp.lines[2].strokeColor = colors.aquamarine
lp.lineLabels[2].strokeColor = colors.aquamarine
lp.lines[3].strokeColor = colors.purple
lp.lineLabels[3].strokeColor = colors.purple
lgnd = Legend()
lgnd.x = 70
lgnd.y = 63
lgnd.autoXPadding = 45
lgnd.colorNamePairs = [ (lp.lines[0].strokeColor, 'Positive'),
(lp.lines[1].strokeColor, 'Negative'),
(lp.lines[2].strokeColor, 'Norm. Pos.'),
(lp.lines[3].strokeColor, 'Norm. Neg.')
]
lgnd.demo()
d.add(lp)
d.add(lgnd)
d.add(xlbl)
d.add(ylbl)
d.save(fnRoot='testLinePlot1', formats=['png', 'pdf'])
开发者ID:oommenkm,项目名称:APRIORI-HYBRID-clustering-Algorithm-for-microarray-data,代码行数:31,代码来源:draw_linePlot_1_0.py
示例16: range
# Set bar colors
for i in range(len(colors)):
chart.bars[i].fillColor = colors[i]
# Add data to chart
chart.data = prices
chart.categoryAxis.categoryNames = categories
# Add labels to chart
chart.barLabelFormat = '$%.2f' # Text to display on label - 2 decimal float
chart.barLabels.nudge = 8 # Nudge labels upwards by 8px
# ------- Create legend -------
legend = Legend() # Create the legend
legend.boxAnchor = 'sw' # Set anchor to bottom-left
legend.x = 50 # Shift legend right to bring in line with chart
legend.y = 50 # Shift legend up by 50px
legend.alignment = 'right' # Put labels to the right of color icons
# Set legend colors
legend.colorNamePairs = [(colors[i], '{} '.format(labels[i])) for i in range(len(colors))]
# Add chart and legend to drawing
d.add(chart)
d.add(legend)
# Export as test_img.png
d.save(fnRoot='test_img', formats=['png'])
开发者ID:llf0029,项目名称:ue4-marketplace-scraper,代码行数:30,代码来源:outputTest.py
示例17: create_single_grade_pdf
#.........这里部分代码省略.........
#Setup the Dictionary of standard averages
standard_dict = {}
for row in standard_list:
if row.standard.id in standard_dict.keys():
if((row.grade.score != 0.0) | (row.student_grade.student_score != 0.0)):
max_score = standard_dict[row.standard.id][0] + row.grade.score
student_score = standard_dict[row.standard.id][1] + row.student_grade.student_score
standard_dict[row.standard.id] = [max_score, student_score, row.standard.reference_number, row.standard.short_name]
else:
standard_dict[row.standard.id] = [row.grade.score, row.student_grade.student_score, row.standard.reference_number, row.standard.short_name]
standard_table = []
standard_averages=[[]]
#set up the 2D list of Standard Averages
for standard in sorted(standard_dict.keys()):
standard_ref_list.append(standard_dict[standard][2])
standard_table.append([])
current_avg = (standard_dict[standard][1]/standard_dict[standard][0])*100
if minimum > current_avg:
minimum = current_avg
standard_table[i].append(standard_dict[standard][3]+": "+format((standard_dict[standard][1]/standard_dict[standard][0])*100,'.2f')+"%")
standard_averages[0].append(int(round((standard_dict[standard][1]/standard_dict[standard][0])*100)))
i+=1
sorted(standard_table,key=lambda l:l[0])
'''---Graph---'''
drawing = Drawing(600, 200)
data = standard_averages
bc = VerticalBarChart()
#location in the document (x,y)
bc.x = 10
bc.y = 30
#width and height of the graph
bc.height = 225
bc.width = 400
bc.data = data
bc.categoryAxis.drawGridLast=True
bc.categoryAxis.gridStart=0
bc.categoryAxis.gridStrokeLineCap = 2
bc.categoryAxis.gridEnd=3
#bc.barLabels =
#Update colors of the bars in the graph
bc.bars.symbol = ShadedRect()
bc.bars.symbol.fillColorStart = colors.lightblue
bc.bars.symbol.fillColorEnd = colors.lightblue
bc.bars.symbol.strokeWidth = 0
#this draws a line at the top of the graph to close it.
bc.strokeColor = colors.black
#Y-axis min, max, and steps.
if minimum != 100:
bc.valueAxis.valueMin = minimum -10
else:
bc.valueAxis.valueMin = 50
bc.valueAxis.valueMax = 100
bc.valueAxis.valueStep = 5
#where to anchor the origin of the graph
bc.categoryAxis.labels.boxAnchor = 'ne'
#Locations of labels for the X-axis
bc.categoryAxis.labels.dx = 2
bc.categoryAxis.labels.dy = -2
bc.barLabels.nudge = -10
bc.barLabelFormat = '%0.2f%%'
bc.barLabels.dx = 0
bc.barLabels.dy = 0
#The angle of the lables for the X-axis
bc.categoryAxis.labels.angle = 30
#List of the categories to place on the X-axis
bc.categoryAxis.categoryNames = standard_ref_list
drawing.add(bc)
'''------'''
'''--Graph Legend--'''
#Graph Legend
legend = Legend()
legend.alignment = 'right'
legend.x = 420
legend.y = 150
legend.deltax = 60
legend.dxTextSpace = 10
legend.columnMaximum = 4
legend.colorNamePairs = [(colors.lightblue, 'grade average')]
drawing.add(legend, 'legend')
drawing_title = "Bar Graph"
Story.append(drawing)
#build PDF document and return it
doc.build(Story)
pdf = buff.getvalue()
buff.close()
return pdf
开发者ID:Larry-Graves,项目名称:student-growth-tracker,代码行数:101,代码来源:admin.py
示例18: __get_tags_statistics
def __get_tags_statistics(self):
monto_categorias = dict()
for tra in self.transactions:
if len(tra.tags) > 0:
for tag in tra.tags:
if tag in monto_categorias.keys():
monto_categorias[tag] += tra.amount
else:
monto_categorias[tag] = tra.amount
labels = [lab.encode('utf-8') for lab in monto_categorias.keys()]
data = monto_categorias.values()
p = PageBreak()
p.drawOn(self.c, 0, 1000)
self.c.showPage()
self.l = 600
self.c.setFont('Courier', 14)
self.c.drawString(30, 800, 'Categorias')
drawing = Drawing(200, 200)
pie = Pie()
pie.x = 30
pie.y = self.l - 130
pie.height = 300
pie.width = 300
pie.data = data
pie.labels = labels
pie.simpleLabels = 1
pie.slices.strokeWidth = 1
pie.slices.strokeColor = black
pie.slices.label_visible = 0
legend = Legend()
legend.x = 400
legend.y = self.l
legend.dx = 8
legend.dy = 8
legend.fontName = 'Helvetica'
legend.fontSize = 7
legend.boxAnchor = 'w'
legend.columnMaximum = 10
legend.strokeWidth = 1
legend.strokeColor = black
legend.deltax = 75
legend.deltay = 10
legend.autoXPadding = 5
legend.yGap = 0
legend.dxTextSpace = 5
legend.alignment = 'right'
legend.dividerLines = 1|2|4
legend.dividerOffsY = 4.5
legend.subCols.rpad = 30
n = len(pie.data)
self.__setItems(n,pie.slices,
'fillColor',self.pdf_chart_colors)
legend.colorNamePairs = [(pie.slices[i].fillColor,
(pie.labels[i][0:20],'$%0.2f' % pie.data[i])) for i in xrange(n)]
drawing.add(pie)
drawing.add(legend)
x, y = 0, 10
renderPDF.draw(drawing, self.c, x, y, showBoundary=False)
开发者ID:gaccardo,项目名称:buxfer_api,代码行数:67,代码来源:reporter.py
示例19: __per_account_statistic
def __per_account_statistic(self):
for acc in self.accounts:
p = PageBreak()
p.drawOn(self.c, 0, 1000)
self.c.showPage()
self.l = 760
self.c.setFont('Courier', 14)
self.c.drawString(30, 800, 'Cuenta: %s' % \
acc.name)
header = ['Fecha', 'Tipo', 'Monto', 'Description']
data = [header]
g_data = list()
g_labe = list()
total = 0
for tra in self.transactions:
if tra.account == acc.name:
if tra.t_type in ['expense', 'transfer']:
tipo = self.__translate_type(tra.t_type)
data.append([tra.date, tipo.upper(),
'$%2.f' % tra.amount, tra.description])
total += tra.amount
g_data.append(tra.amount)
g_labe.append(tra.description.encode('utf-8'))
data.append(['TOTAL', '', '$%.2f' % total, ''])
if len(g_data) == 0 or len(g_labe) == 0:
self.c.setFont('Courier', 12)
self.c.drawString(30, 770, 'Sin movimientos negativos')
continue
from_title = 35
if len(data) != 2:
self.l -= ((len(data) * len(data)) + len(data)) + from_title
t = Table(data)
t.setStyle(TableStyle([('INNERGRID', (0,0), (-1,-1), 0.25, black),
('BOX', (0,0), (-1,-1), 0.25, black),
('FONTNAME', (0,0), (-1,0), 'Courier-Bold'),
('BACKGROUND', (0,0), (-1,0), HexColor('#efeded')),
('BACKGROUND', (0,0), (0,-1), HexColor('#efeded')),
('FONTSIZE', (0,0), (-1,0), 12),
('FONTSIZE', (0,1), (-1,-1), 8),
('FONTNAME', (0,1), (-1,-1), 'Courier'),
('BACKGROUND', (0,-1), (-1,-1), red),
('TEXTCOLOR', (0,-1), (-1,-1), white)]))
t.wrapOn(self.c, 30, self.l)
t.drawOn(self.c, 30, self.l)
drawing = Drawing(200, 100)
pie = Pie()
pie.x = 30
pie.y = self.l - 300
pie.height = 200
pie.width = 200
pie.data = g_data
pie.labels = g_labe
pie.simpleLabels = 1
pie.slices.strokeWidth = 1
pie.slices.strokeColor = black
pie.slices.label_visible = 0
pie.slices.popout = 1
#pie.labels = map(str, pie.data)
legend = Legend()
legend.x = 250
legend.y = self.l - 250
legend.dx = 8
legend.dy = 8
legend.fontName = 'Helvetica'
legend.fontSize = 7
legend.boxAnchor = 'w'
legend.columnMaximum = 10
legend.strokeWidth = 1
legend.strokeColor = black
legend.deltax = 75
legend.deltay = 10
legend.autoXPadding = 5
legend.yGap = 0
legend.dxTextSpace = 5
legend.alignment = 'right'
legend.dividerLines = 1|2|4
legend.dividerOffsY = 4.5
legend.subCols.rpad = 30
n = len(pie.data)
self.__setItems(n,pie.slices,
'fillColor',self.pdf_chart_colors)
legend.colorNamePairs = [(pie.slices[i].fillColor,
(pie.labels[i][0:20],'$%0.2f' % pie.data[i])) for i in xrange(n)]
#.........这里部分代码省略.........
开发者ID:gaccardo,项目名称:buxfer_api,代码行数:101,代码来源:reporter.py
示例20: __add_graph
def __add_graph(self):
drawing = Drawing(200, 100)
data = list()
labels = list()
self.c.drawString(370, 730,
'Distribucion en pesos'.encode('utf-8'))
for acc in self.accounts:
balance = acc.balance
if acc.currency == 'USD':
balance = balance * self.dolar
data.append(balance)
labels.append(acc.name)
pie = Pie()
pie.x = 280
pie.y = 630
pie.height = 100
pie.width = 100
pie.data = data
pie.labels = labels
pie.simpleLabels = 1
pie.slices.strokeWidth = 1
pie.slices.strokeColor = black
pie.slices.label_visible = 0
legend = Legend()
legend.x = 400
legend.y = 680
legend.dx = 8
legend.dy = 8
legend.fontName = 'Helvetica'
legend.fontSize = 7
legend.boxAnchor = 'w'
legend.columnMaximum = 10
legend.strokeWidth = 1
legend.strokeColor = black
legend.deltax = 75
legend.deltay = 10
legend.autoXPadding = 5
legend.yGap = 0
legend.dxTextSpace = 5
legend.alignment = 'right'
legend.dividerLines = 1|2|4
legend.dividerOffsY = 4.5
legend.subCols.rpad = 30
n = len(pie.data)
self.__setItems(n,pie.slices,
'fillColor',self.pdf_chart_colors)
legend.colorNamePairs = [(pie.slices[i].fillColor,
(pie.labels[i][0:20],'$%0.2f' % pie.data[i])) for i in xrange(n)]
drawing.add(pie)
drawing.add(legend)
x, y = 0, 0
renderPDF.draw(drawing, self.c, x, y, showBoundary=False)
开发者ID:gaccardo,项目名称:buxfer_api,代码行数:60,代码来源:reporter.py
注:本文中的reportlab.graphics.charts.legends.Legend类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论