本文整理汇总了Python中reportlab.graphics.charts.barcharts.VerticalBarChart.strokeColor方法的典型用法代码示例。如果您正苦于以下问题:Python VerticalBarChart.strokeColor方法的具体用法?Python VerticalBarChart.strokeColor怎么用?Python VerticalBarChart.strokeColor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.graphics.charts.barcharts.VerticalBarChart
的用法示例。
在下文中一共展示了VerticalBarChart.strokeColor方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: sample1bar
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def sample1bar(data=[(13, 5, 20, 22, 37, 45, 19, 4)]):
drawing = Drawing(400, 200)
bc = VerticalBarChart()
bc.x = 50
bc.y = 50
bc.height = 125
bc.width = 300
bc.data = data
bc.strokeColor = colors.black
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = 60
bc.valueAxis.valueStep = 15
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = 8
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 30
catNames = string.split('Jan Feb Mar Apr May Jun Jul Aug', ' ')
catNames = map(lambda n:n+'-99', catNames)
bc.categoryAxis.categoryNames = catNames
drawing.add(bc)
return drawing
示例2: draw_bar_chart
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def draw_bar_chart(pdf_text, page_height):
'''Currently generates a dummy graph.
Next, need to pass in data that shall
be the reactors temp throughout the
sequence.
'''
pdf_text.showPage()
drawing = Drawing(400, 200)
data = [
(13, 5, 20, 22, 37, 45, 19, 4),
(14, 6, 21, 23, 38, 46, 20, 5)
]
bc = VerticalBarChart()
bc.x = 50
bc.y = 50
bc.height = 125
bc.width = 300
bc.data = data
bc.strokeColor = colors.black
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = 50
bc.valueAxis.valueStep = 10
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = 8
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 30
bc.categoryAxis.categoryNames = ['Jan-99','Feb-99','Mar-99','Apr-99','May-99','Jun-99','Jul-99','Aug-99']
drawing.add(bc)
renderPDF.draw(drawing, pdf_text, inch, inch)
return page_height
示例3: generateversionchart
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def generateversionchart((versionpickle, picklehash, imagedir, pickledir)):
datapickle = open(os.path.join(pickledir, versionpickle), 'rb')
data = cPickle.load(datapickle)
datapickle.close()
## calculate the possible widths and heights of chart, bars, labels and so on
maxversionstring = max(map(lambda x: len(x[0]), data))
barwidth = 15
chartwidth = len(data) * barwidth + 10 * len(data)
maxvalue = max(map(lambda x: x[1], data))
step = int(math.log(maxvalue,10))
valueStep = pow(10,step)
## calculate a possible good value for startx and starty so labels are not cut off
startx = max(10 + step * 10, 30)
## TODO: fiddle with values to create nicer looking graphs
starty = maxversionstring * 10 + 20
drawheight = 225 + starty
drawwidth = chartwidth + startx + 10
## create the drawing
drawing = Drawing(drawwidth, drawheight)
bc = VerticalBarChart()
bc.x = startx
bc.y = starty
bc.height = 200
bc.width = chartwidth
bc.data = [tuple(map(lambda x: x[1], data))]
bc.strokeColor = colors.white
bc.valueAxis.valueMin = 0
bc.valueAxis.labels.fontSize = 16
bc.valueAxis.valueMax = maxvalue
bc.valueAxis.valueStep = valueStep
bc.categoryAxis.labels.boxAnchor = 'w'
bc.categoryAxis.labels.dx = 0
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = -90
bc.categoryAxis.labels.fontSize = 16
bc.categoryAxis.categoryNames = map(lambda x: x[0], data)
bc.barWidth = barwidth
drawing.add(bc)
outname = os.path.join(imagedir, picklehash)
renderPM.drawToFile(drawing, outname, fmt='PNG')
return picklehash
示例4: test_21_barCharts
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def test_21_barCharts(self):
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.lib import colors
from reportlab.platypus import SimpleDocTemplate, Spacer, Paragraph
from reportlab.pdfbase import pdfmetrics
from reportlab.graphics.shapes import Drawing
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.graphics.charts.barcharts import VerticalBarChart
pdfmetrics.registerFont(TTFont('chsFont', 'STHeiti Light.ttc'))
stylesheet = getSampleStyleSheet()
elements = []
doc = SimpleDocTemplate("demo.pdf")
elements.append(Paragraph('<font name="chsFont">JY.zenist.song - 俊毅</font>', stylesheet['Title']))
elements.append(Spacer(1,12))
d = Drawing(400,200)
data = [
(13,5,20,22,37,45,19,4),
(14,6,21,23,38,46,20,5)
]
bc = VerticalBarChart()
bc.x = 50
bc.y = 50
bc.height = 125
bc.width = 300
bc.data = data
bc.strokeColor = colors.black
bc.groupSpacing = 10
bc.barSpacing = 2.5
bc.valueAxis._valueMin = 0
bc.valueAxis._valueMax = 50
bc.valueAxis._valueStep = 10
bc.categoryAxis.categoryNames = ['1','2','3','4','5','6','7','8']
# bc.categoryAxis.style = 'stacked'
d.add(bc)
elements.append(d)
doc.build(elements)
示例5: create_barchart
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def create_barchart(barchart_data):
color=[green,red,blue,yellow,black]
data_length=len(barchart_data["data"])
bar_chart = Drawing(400, 200)
bc = VerticalBarChart()
bc.x = 50
bc.y = 50
bc.height = 125
bc.width = 300
bc.data = barchart_data["data"]
bc.fillColor=lightblue
bc.strokeColor = colors.black
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = 50
bc.valueAxis.valueStep = 10
bc.categoryAxis.labels.dx = 8
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 30
bc.categoryAxis.categoryNames = list(barchart_data["label"][0])
for i in xrange(data_length):
bc.bars[i].fillColor = color[i]
bar_chart.add(bc)
###legend####
bar_leg = LineLegend()
bar_leg.boxAnchor = 'sw'
bar_leg.x = 100
bar_leg.y = -1
bar_leg.columnMaximum = 1
bar_leg.yGap = 0
bar_leg.deltax = 50
bar_leg.deltay = 0
bar_leg.dx = 10
bar_leg.dy = 1.5
bar_leg.fontSize = 10
bar_leg.alignment = 'right'
bar_leg.dxTextSpace = 5
bar_leg.colorNamePairs = [(color[i],barchart_data["legend"][0][i]) for i in xrange(data_length)]
bar_chart.add(bar_leg)
return bar_chart
示例6: verticalbargraph
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def verticalbargraph(data, elements):
drawing = Drawing(0, 200) # for indices
bc = VerticalBarChart()
bc.x = 0 # x,y define the left bottom of graph
bc.y = 0
bc.height = 150
bc.width = 300
bc.data = data
bc.strokeColor = colors.black
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = 50
bc.valueAxis.valueStep = 10
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = 6 # next 3 lines is for naming indices
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 60
bc.categoryAxis.categoryNames = ['Jan-99', 'Feb-99', 'Mar-99',
'Apr-99', 'May-99', 'Jun-99', 'Jul-99', 'Aug-99']
drawing.add(bc)
elements.append(drawing)
elements.append(Spacer(1, 0.5 * inch))
示例7: vertical_bar_graph
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def vertical_bar_graph(data, elements):
drawing = Drawing(0, 200) # for indices
bc = VerticalBarChart()
bc.x =15 # x,y define the left bottom of graph
bc.y = -130
bc.height = 250
bc.width = 500
bc.data = data
bc.strokeColor = colors.black
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = 50
bc.valueAxis.valueStep = 10
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = 6 # next 3 lines is for naming indices
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 60
bc.categoryAxis.categoryNames = ['Ques1', 'Ques2', 'Ques3',
'Ques4', 'Ques5', 'Ques6', 'Ques7', 'Ques8']
drawing.add(bc)
elements.append(drawing)
elements.append(Spacer(1, 0.5 * inch))
示例8: getChart
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def getChart(self):
d = Drawing(300, 200)
chart = VerticalBarChart()
chart.width = 560
chart.height = 460
chart.x = 50
chart.y = 50
chart.height = 125
chart.width = 300
chart.strokeColor = colors.black
chart.valueAxis.valueMin = 0
chart.valueAxis.valueMax = 100
chart.valueAxis.valueStep = 10
chart.categoryAxis.labels.boxAnchor = 'ne'
chart.categoryAxis.labels.dx = 8
chart.categoryAxis.labels.dy = -2
chart.categoryAxis.labels.angle = 0
chart.data = self.marks#self.averages
chart.categoryAxis.categoryNames = self.chartXValues#self.studentNumbers
d.add(chart)
#d.save(fnRoot='test', formats=['png', 'pdf'])
return d
示例9: myBarChart
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def myBarChart(data):
drawing = Drawing(400, 200)
bc = VerticalBarChart()
bc.x = 50
bc.y = 50
bc.height = 125
bc.width = 300
bc.data = data
bc.barWidth = .3*inch
bc.groupSpacing = .2 * inch
bc.strokeColor = colors.black
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = 100
bc.valueAxis.valueStep = 10
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = 8
bc.categoryAxis.labels.dy = -2
catNames = string.split('Trial1 Trial2 Trial3 Trial4 Trial5')
bc.categoryAxis.categoryNames = catNames
bc.bars[0].fillColor = colors.blue
bc.bars[1].fillColor = colors.lightblue
drawing.add(bc)
return drawing
示例10: __init__
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def __init__(self, width, height, labels, data):
IRender.__init__(self, width, height, labels, data)
#self.w = self.width
#self.h = self.height
#data = [[int(line[1])] for line in self.data]
#labels = [line[0] for line in self.data]
#plot = cairoplot.VerticalBarPlot('/tmp/tmp.png', data, self.w*2, self.h*2, x_labels=labels, grid=True, display_values=True)
##plot.font_size *= 2
#plot.render()
#plot.commit()
#with open('/tmp/tmp.png') as f:
# self.image = Image(StringIO(f.read()), self.w, self.h)
bc = VerticalBarChart()
bc.x = 40
bc.y = 50
bc.height = self.height - 60
bc.width = self.width - 60
bc.data = [[int(line[1]) for line in self.data]]
bc.strokeColor = colors.white
bc.bars.strokeColor = RED
bc.bars.fillColor = RED
bc.bars[0].fillColor = RED
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = max([int(line[1]) for line in self.data])
bc.valueAxis.valueStep = bc.valueAxis.valueMax/10
if not bc.valueAxis.valueStep:
bc.valueAxis.valueStep = 1
bc.valueAxis.valueMax = 10
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = 8
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 30
bc.categoryAxis.categoryNames = [line[0] for line in self.data]
self.drawing = Drawing(self.width, self.height)
self.drawing.add(bc)
示例11: generar_pdf_busquedas_view
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
#.........这里部分代码省略.........
# allreportes = [ i.values() for i in Busqueda.objects.filter(fecha__range=(fecha_inicio, fecha_final)).values('busqueda', 'resultados').distinct()]
b=listar
allreportes = [ i.values() for i in b]
print allreportes
t = Table([headings] + allreportes)
t.setStyle(TableStyle(
[
('GRID', (0, 0), (3, -1), 1, colors.dodgerblue),
('LINEBELOW', (0, 0), (-1, 0), 2, colors.darkblue),
('BACKGROUND', (0, 0), (-1, 0), colors.dodgerblue)
]
))
#GRAFICA DE BARRAS
titulo = Paragraph("Busquedas encontradas y no encontradas en el sistema", estilo['title'])
drawing = Drawing(400, 200)
data = [(si, no)]
bc = VerticalBarChart()
bc.x = 50
bc.y = 50
bc.height = 125
bc.width = 300
bc.data = data
bc.bars[0].fillColor = colors.blue
bc.bars[1].fillColor = colors.black
bc.strokeColor = colors.black
bc.fillColor = colors.silver
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = total_busquedas+30
try:
r = total_busquedas/2
if type(r) == 'float':
bc.valueAxis.valueStep = total_busquedas+0.5
if type(r) == 'int':
bc.valueAxis.valueStep = r
except:
"Nos se puede"
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = 8
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
示例12: generar_pdf_libros_mes
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def generar_pdf_libros_mes(request):
# print "Genero el PDF"
fecha_libro = b
mes = 0
anio = 0
story = []
response = HttpResponse(content_type="application/pdf")
pdf_name = "reporte_libro.pdf" # llamado clientes
# la linea 26 es por si deseas descargar el pdf a tu computadora
# response['Content-Disposition'] = 'attachment; filename=%s' % pdf_name
buff = BytesIO()
doc = SimpleDocTemplate(buff, pagesize=letter, rightMargin=40, leftMargin=40, topMargin=60, bottomMargin=18)
reporte_libro = []
styles = getSampleStyleSheet()
fichero_imagen = "biblioteca/media/images/Reports-banner.jpg"
imagen_logo = Image(os.path.realpath(fichero_imagen), width=400, height=100)
story.append(imagen_logo)
reporte_libro.append(imagen_logo)
fecha_reporte = Paragraph("Fecha del reporte: " + str(date.today()), styles["Heading1"])
reporte_libro.append(fecha_reporte)
header = Paragraph(
"Reporte de libros prestados en el mes " + str(fecha_libro.month) + " del " + str(fecha_libro.year),
styles["Normal"],
)
reporte_libro.append(header)
headings = ("Nombre", "Fecha devolución", "Fecha préstamo")
# fecha_libro = reportes.cleaned_data['fecha_consulta']
mes = b.month
anio = b.year
i = mes
j = mes
all_libros = [
(p.libro.nombre_libro, p.fecha_devolucion, p.fecha_prestamo)
for p in Prestamo.objects.filter(fecha_prestamo__month=mes, fecha_prestamo__year=anio)
]
# print all_libros
t = Table([headings] + all_libros)
t.setStyle(
TableStyle(
[
("GRID", (0, 0), (3, -1), 1, colors.dodgerblue),
("LINEBELOW", (0, 0), (-1, 0), 2, colors.darkblue),
("BACKGROUND", (0, 0), (-1, 0), colors.dodgerblue),
]
)
)
# GRAFICA DE BARRAS
titulos = Paragraph(
"Gráfica comparativa de libros prestados en el mes " + str(fecha_libro.month) + " y el mes anterior a éste. ",
estilo["title"],
)
drawing = Drawing(400, 200)
data = [(x1, y1)]
bc = VerticalBarChart()
bc.x = 50
bc.y = 50
bc.height = 125
bc.width = 300
bc.data = data
bc.bars[0].fillColor = colors.blue
bc.bars[1].fillColor = colors.red
bc.strokeColor = colors.black
bc.fillColor = colors.silver
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = y1 + 10
try:
o = y1 / 2
if type(o) == "float":
bc.valueAxis.valueStep = y1 + 0.5
if type(o) == "int":
bc.valueAxis.valueStep = o
except:
"Nos se puede"
bc.categoryAxis.labels.boxAnchor = "ne"
bc.categoryAxis.labels.dx = 8
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 0
if mes == 1:
i = mes + 11
else:
j = mes - 1
bc.categoryAxis.categoryNames = [datetime.date(anio, j, 1).strftime("%B"), datetime.date(anio, i, 1).strftime("%B")]
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
#.........这里部分代码省略.........
示例13: create_single_grade_pdf
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
#.........这里部分代码省略.........
#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
示例14: generate_certificate
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
def generate_certificate(elements):
styles = ParagraphStyle(
name='Normal',
fontName='Helvetica-Bold',
fontSize=15,
alignment=1,
)
elements.append(Spacer(1, 0.5 * inch))
i = Paragraph(str("candidate performance vs average performance"), styles)
elements.append(i)
elements.append(Spacer(1, 0.1 * inch))
drawing = Drawing(0, 200) # for indices
data = [
(13, 5, 20, 22, 37, 45, 19, 4),
(14, 6, 21, 23, 38, 46, 20, 5)
] # data for drawing bar graphs
bc = VerticalBarChart()
bc.x = 0 # x,y define the left bottom of graph
bc.y = 0
bc.height = 150
bc.width = 300
bc.data = data
bc.strokeColor = colors.black
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = 50
bc.valueAxis.valueStep = 10
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = 6 # next 3 lines is for naming indices
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 60
bc.categoryAxis.categoryNames = ['Jan-99', 'Feb-99', 'Mar-99',
'Apr-99', 'May-99', 'Jun-99', 'Jul-99', 'Aug-99']
drawing.add(bc)
elements.append(drawing)
elements.append(Spacer(1, 0.5 * inch))
drawing = Drawing(0, 175) # for indices
lc = HorizontalLineChart()
lc.x = 0
lc.y = 10
lc.height = 150
lc.width = 300
lc.data = data
lc.joinedLines = 1
catnames = 'Jan Feb Mar Apr May Jun Jul Aug'.split(' ')
lc.categoryAxis.categoryNames = catnames
lc.categoryAxis.labels.boxAnchor = 'n'
lc.valueAxis.valueMin = 0
lc.valueAxis.valueMax = 60
lc.valueAxis.valueStep = 15
lc.lines[0].strokeWidth = 2
lc.lines[1].strokeWidth = 1.5
drawing.add(lc)
elements.append(drawing)
drawing = Drawing(0, 400) # for indices
data = [
((1, 1), (2, 2), (2.5, 1), (3, 3), (4, 5)),
((1, 2), (2, 3), (2.5, 2), (3.5, 5), (4, 6))
]
elements.append(Spacer(1, 0.1 * inch))
i = Paragraph(str("candidate performance vs average performance"), styles)
elements.append(i)
elements.append(Spacer(1, 0.1 * inch))
lp = LinePlot()
lp.x = 0
lp.y = 50
lp.height = 300
lp.width = 600
lp.data = data
lp.joinedLines = 1
lp.lines[0].symbol = makeMarker('FilledCircle')
lp.lines[1].symbol = makeMarker('Circle')
lp.lineLabelFormat = '%2.0f'
lp.strokeColor = colors.black
lp.xValueAxis.valueMin = 0
lp.xValueAxis.valueMax = 5
lp.xValueAxis.valueSteps = [1, 2, 2.5, 3, 4, 5]
lp.xValueAxis.labelTextFormat = '%2.1f'
lp.yValueAxis.valueMin = 0
lp.yValueAxis.valueMax = 7
lp.yValueAxis.valueSteps = [1, 2, 3, 5, 6]
drawing.add(lp)
elements.append(drawing)
elements.append(Spacer(1, 0.1 * inch))
drawing = Drawing(100, 350)
pc = Pie()
pc.x = 65
pc.y = 15
pc.width = 300
pc.height = 300
pc.data = [10, 20, 30, 40, 50, 60]
pc.labels = ['a', 'b', 'c', 'd', 'e', 'f']
pc.slices.strokeWidth = 0.5
pc.slices[3].popout = 10
pc.slices[3].strokeWidth = 2
pc.slices[3].strokeDashArray = [2, 2]
pc.slices[3].labelRadius = 1.75
pc.slices[3].fontColor = colors.red
drawing.add(pc)
elements.append(drawing)
elements.append(Spacer(1, 0.7 * inch))
#.........这里部分代码省略.........
示例15: Drawing
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import strokeColor [as 别名]
from reportlab.graphics.charts.barcharts import VerticalBarChart
drawing = Drawing(400, 200)
data = [
(13, 5, 20, 22, 37, 45, 19, 4),
(14, 6, 21, 23, 38, 46, 20, 5)
]
bc = VerticalBarChart()
bc.x = 50
bc.y = 50
bc.height = 125
bc.width = 300
bc.data = data
bc.strokeColor = colors.black
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = 50
bc.valueAxis.valueStep = 10
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = 8
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 30
bc.categoryAxis.categoryNames = ['Jan-99','Feb-99','Mar-99',
'Apr-99','May-99','Jun-99','Jul-99','Aug-99']
drawing.add(bc)
draw(drawing, 'Simple bar chart with two data series')