本文整理汇总了Python中reportlab.graphics.charts.legends.Legend.deltay方法的典型用法代码示例。如果您正苦于以下问题:Python Legend.deltay方法的具体用法?Python Legend.deltay怎么用?Python Legend.deltay使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.graphics.charts.legends.Legend
的用法示例。
在下文中一共展示了Legend.deltay方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: addAutoLegend
# 需要导入模块: from reportlab.graphics.charts.legends import Legend [as 别名]
# 或者: from reportlab.graphics.charts.legends.Legend import deltay [as 别名]
def addAutoLegend(self,chart,offset,num,side='bottom'):
from reportlab.lib.validators import Auto
width = 300
height = 150
legend = Legend()
if side == 'bottom':
legend.x = offset[0]-15
legend.dx = 20
legend.dy = 5
legend.y = offset[1]-25
legend.deltax = None
legend.autoXPadding = 35
legend.deltay = 5
legend.boxAnchor = 'nw'
legend.dxTextSpace = 5
legend.columnMaximum = (num/3)
if num%3 >0:
legend.columnMaximum += 1
legend.variColumn = True
elif side == 'right':
legend.x = offset[0]+offset[2]+40
legend.dx = 20
legend.dy = 5
legend.y = offset[1]+offset[3]-15
legend.deltax = None
legend.deltay = 5
legend.boxAnchor = 'nw'
legend.dxTextSpace = 5
legend.columnMaximum = 9
legend.colorNamePairs=Auto(chart=chart)
return legend
示例2: autoLegender
# 需要导入模块: from reportlab.graphics.charts.legends import Legend [as 别名]
# 或者: from reportlab.graphics.charts.legends.Legend import deltay [as 别名]
def autoLegender(i,chart,styleObj,sym='symbol'):
if sym:
setattr(styleObj[0],sym, makeMarker('Diamond',size=6))
setattr(styleObj[1],sym,makeMarker('Square'))
width = 300
height = 150
legend = Legend()
legend.x = width-5
legend.y = 5
legend.dx = 20
legend.dy = 5
legend.deltay = 0
legend.boxAnchor = 'se'
if i=='col auto':
legend.colorNamePairs[0]=(Auto(chart=chart),'auto chart=self.chart')
legend.colorNamePairs[1]=(Auto(obj=chart,index=1),'auto chart=self.chart index=1')
elif i=='full auto':
legend.colorNamePairs=Auto(chart=chart)
elif i=='swatch set':
legend.swatchMarker=makeMarker('Circle')
legend.swatchMarker.size = 10
elif i=='swatch auto':
legend.swatchMarker=Auto(chart=chart)
d = Drawing(width,height)
d.background = Rect(0,0,width,height,strokeWidth=1,strokeColor=colors.red,fillColor=None)
m = makeMarker('Cross')
m.x = width-5
m.y = 5
m.fillColor = colors.red
m.strokeColor = colors.yellow
d.add(chart)
d.add(legend)
d.add(m)
return d
示例3: make_legend
# 需要导入模块: from reportlab.graphics.charts.legends import Legend [as 别名]
# 或者: from reportlab.graphics.charts.legends.Legend import deltay [as 别名]
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
示例4: autoLegender
# 需要导入模块: from reportlab.graphics.charts.legends import Legend [as 别名]
# 或者: from reportlab.graphics.charts.legends.Legend import deltay [as 别名]
def autoLegender(i, chart, styleObj, sym="symbol"):
if sym:
setattr(styleObj[0], sym, makeMarker("Diamond", size=6))
setattr(styleObj[1], sym, makeMarker("Square"))
width = 300
height = 150
legend = Legend()
legend.x = width - 5
legend.y = 5
legend.dx = 20
legend.dy = 5
legend.deltay = 0
legend.boxAnchor = "se"
if i == "col auto":
legend.colorNamePairs[0] = (Auto(chart=chart), "auto chart=self.chart")
legend.colorNamePairs[1] = (Auto(obj=chart, index=1), "auto chart=self.chart index=1")
elif i == "full auto":
legend.colorNamePairs = Auto(chart=chart)
elif i == "swatch set":
legend.swatchMarker = makeMarker("Circle")
legend.swatchMarker.size = 10
elif i == "swatch auto":
legend.swatchMarker = Auto(chart=chart)
d = Drawing(width, height)
d.background = Rect(0, 0, width, height, strokeWidth=1, strokeColor=colors.red, fillColor=None)
m = makeMarker("Cross")
m.x = width - 5
m.y = 5
m.fillColor = colors.red
m.strokeColor = colors.yellow
d.add(chart)
d.add(legend)
d.add(m)
return d
示例5: __add_graph
# 需要导入模块: from reportlab.graphics.charts.legends import Legend [as 别名]
# 或者: from reportlab.graphics.charts.legends.Legend import deltay [as 别名]
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)
示例6: setLegend
# 需要导入模块: from reportlab.graphics.charts.legends import Legend [as 别名]
# 或者: from reportlab.graphics.charts.legends.Legend import deltay [as 别名]
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'
self.add(legend, name='Legend')
示例7: generar_pdf_busquedas_view
# 需要导入模块: from reportlab.graphics.charts.legends import Legend [as 别名]
# 或者: from reportlab.graphics.charts.legends.Legend import deltay [as 别名]
#.........这里部分代码省略.........
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
示例8: __get_tags_statistics
# 需要导入模块: from reportlab.graphics.charts.legends import Legend [as 别名]
# 或者: from reportlab.graphics.charts.legends.Legend import deltay [as 别名]
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)
示例9: __per_account_statistic
# 需要导入模块: from reportlab.graphics.charts.legends import Legend [as 别名]
# 或者: from reportlab.graphics.charts.legends.Legend import deltay [as 别名]
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)]
#.........这里部分代码省略.........
示例10: range
# 需要导入模块: from reportlab.graphics.charts.legends import Legend [as 别名]
# 或者: from reportlab.graphics.charts.legends.Legend import deltay [as 别名]
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)
if title != None:
label = Label()
label.x = w
label.y = h - 25
label.boxAnchor = 'se'
label.fontName = 'Helvetica'
label.fontSize = 10
label.setText(title)
drawing.add(label)
return drawing