本文整理汇总了Python中reportlab.graphics.charts.axes.XCategoryAxis.setPosition方法的典型用法代码示例。如果您正苦于以下问题:Python XCategoryAxis.setPosition方法的具体用法?Python XCategoryAxis.setPosition怎么用?Python XCategoryAxis.setPosition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.graphics.charts.axes.XCategoryAxis
的用法示例。
在下文中一共展示了XCategoryAxis.setPosition方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: sample0b
# 需要导入模块: from reportlab.graphics.charts.axes import XCategoryAxis [as 别名]
# 或者: from reportlab.graphics.charts.axes.XCategoryAxis import setPosition [as 别名]
def sample0b():
"Sample drawing with one xcat axis and one bucket only."
drawing = Drawing(400, 200)
data = [(10,)]
xAxis = XCategoryAxis()
xAxis.setPosition(75, 75, 300)
xAxis.configure(data)
xAxis.categoryNames = ['Ying']
xAxis.labels.boxAnchor = 'n'
drawing.add(xAxis)
return drawing
示例2: sample1
# 需要导入模块: from reportlab.graphics.charts.axes import XCategoryAxis [as 别名]
# 或者: from reportlab.graphics.charts.axes.XCategoryAxis import setPosition [as 别名]
def sample1():
"Sample drawing containing two unconnected axes."
from reportlab.graphics.shapes import _baseGFontNameB
drawing = Drawing(400, 200)
data = [(10, 20, 30, 42)]
xAxis = XCategoryAxis()
xAxis.setPosition(75, 75, 300)
xAxis.configure(data)
xAxis.categoryNames = ['Beer','Wine','Meat','Cannelloni']
xAxis.labels.boxAnchor = 'n'
xAxis.labels[3].dy = -15
xAxis.labels[3].angle = 30
xAxis.labels[3].fontName = _baseGFontNameB
yAxis = YValueAxis()
yAxis.setPosition(50, 50, 125)
yAxis.configure(data)
drawing.add(xAxis)
drawing.add(yAxis)
return drawing
示例3: disc
# 需要导入模块: from reportlab.graphics.charts.axes import XCategoryAxis [as 别名]
# 或者: from reportlab.graphics.charts.axes.XCategoryAxis import setPosition [as 别名]
disc("""
This drawing shows two axes, one of each kind, which have been created
directly without reference to any chart:
""")
from reportlab.graphics import shapes
from reportlab.graphics.charts.axes import XCategoryAxis,YValueAxis
drawing = Drawing(400, 200)
data = [(10, 20, 30, 40), (15, 22, 37, 42)]
xAxis = XCategoryAxis()
xAxis.setPosition(75, 75, 300)
xAxis.configure(data)
xAxis.categoryNames = ['Beer', 'Wine', 'Meat', 'Cannelloni']
xAxis.labels.boxAnchor = 'n'
xAxis.labels[3].dy = -15
xAxis.labels[3].angle = 30
xAxis.labels[3].fontName = 'Times-Bold'
yAxis = YValueAxis()
yAxis.setPosition(50, 50, 125)
yAxis.configure(data)
drawing.add(xAxis)
drawing.add(yAxis)
draw(drawing, 'Two isolated axes')
示例4: generateGraphs
# 需要导入模块: from reportlab.graphics.charts.axes import XCategoryAxis [as 别名]
# 或者: from reportlab.graphics.charts.axes.XCategoryAxis import setPosition [as 别名]
def generateGraphs(self, x, y):
(x1, y1, Width, Height) = self._getGraphRegion(x, y)
#Draw Axes
yVAxis = YValueAxis()
#If we got numeric X vals, we use a ValueAxis, otherwise CategoryAxis.
if len(self.x_vals) > 0:
if isinstance(self.x_vals[0], str):
xVAxis = XCategoryAxis()
else:
xVAxis = XValueAxis()
else:
return -1
(y_min, y_max, y_step) = self.getValueAxisScale(yVAxis, [self.y_vals])
if y_min == -1 and y_min == -1 and y_step == -1:
return -1
(self.valueMin, self.valueMax, self.valueStep) = (y_min, y_max, y_step)
(SizeXaxis, SizeYaxis) = self.getSizes()
#lot of ugliness in here to get the split chart working :|
if self.betweenSplitsF == True:
if self.numSplits == 0:
self.tmpYVal = SizeYaxis
else:
SizeYaxis = self.tmpYVal
if self.numSplits > 0:
xVAxis.visibleLabels = False
xVAxis.visibleTicks = False
X_start_pos = x1 - x + SizeYaxis
X_width = Width - SizeYaxis - 10
if self.betweenSplitsF == True:
if self.numSplits > 0:
Y_start_pos = y1 - y + SizeXaxis + (self.numSplits *
self.height) - (self.numSplits * 15)
else:
Y_start_pos = y1 - y + SizeXaxis + (self.numSplits *
self.height)
Y_height = Height - SizeXaxis + 40
else:
Y_start_pos = y1 - y + SizeXaxis + (self.numSplits *
self.height)
Y_height = Height - SizeXaxis
xVAxis.setPosition(X_start_pos, Y_start_pos, X_width)
if isinstance(xVAxis, XValueAxis):
dataList = []
dataTuple = reduce(lambda a,b: a + (b,), self.x_vals, ())
dataList.append(dataTuple)
xVAxis.configure(dataList)
xVAxis.labelTextFormat = '%0.' + '%d' % self.xAxisDigits + 'f'
else:
dataList = []
zerodata = [0 for val in self.x_vals]
dataTuple = reduce(lambda a,b: a + (b,), zerodata, ())
dataList.append(dataTuple)
xVAxis.configure(dataList)
xVAxis.categoryNames = self.x_vals
#Ugly hack for setting the labels.dy. Empirical: If there are more than 5
#chars, dy = -35 fits fine (assuming the angle would be > 75,when we have
#so long val)
maxLen = 0
for val in self.x_vals:
valLen = len(val)
if valLen > maxLen:
maxLen = valLen
if maxLen > 5:
xVAxis.labels.dy = -35
xVAxis.labels.fontName = 'Helvetica'
xVAxis.labels.fontSize = 7
xVAxis.labels.angle = self.xValsDisplayAngle
drawLegendF = False
if len(self.legendList) > 0:
drawLegendF = True
drawLabelF = False
lblCounts = len(self.x_vals) * len(self.y_vals)
if lblCounts <= 30 and self.displayDataLbls == True:
drawLabelF = True
if len(self.x_vals) == 1:
drawLabelF = True
#hack to increase chart height to include legend and labels
total_height = 0
legendHeight = 0
if drawLegendF == True:
#Kludge: We enchroach the space needed for legends by bringing down the
#y value by 28 (in drawOn()), we use that space here
legendHeight = Y_height + 28
graph_height = Y_height
yVAxis.setPosition(X_start_pos, Y_start_pos, Y_height)
yVAxis.valueMin = y_min
yVAxis.valueMax = y_max
yVAxis.valueStep = y_step
yVAxis.labels.fontName = 'Helvetica'
yVAxis.labels.fontSize = 7
yVAxis.labelTextFormat = '%0.' + '%d' % self.yAxisDigits + 'f'
yVAxis.configure(self.y_vals)
#will later sync the yVAxis as the ValueAxis of the graph
self.drawing.add(xVAxis)
if self.numSplits == 0:
#.........这里部分代码省略.........
示例5: Drawing
# 需要导入模块: from reportlab.graphics.charts.axes import XCategoryAxis [as 别名]
# 或者: from reportlab.graphics.charts.axes.XCategoryAxis import setPosition [as 别名]
"""
This drawing shows two axes, one of each kind, which have been created
directly without reference to any chart:
"""
)
from reportlab.graphics import shapes
from reportlab.graphics.charts.axes import XCategoryAxis, YValueAxis
drawing = Drawing(400, 200)
data = [(10, 20, 30, 40), (15, 22, 37, 42)]
xAxis = XCategoryAxis()
xAxis.setPosition(75, 75, 300)
xAxis.configure(data)
xAxis.categoryNames = ["Beer", "Wine", "Meat", "Cannelloni"]
xAxis.labels.boxAnchor = "n"
xAxis.labels[3].dy = -15
xAxis.labels[3].angle = 30
xAxis.labels[3].fontName = "Times-Bold"
yAxis = YValueAxis()
yAxis.setPosition(50, 50, 125)
yAxis.configure(data)
drawing.add(xAxis)
drawing.add(yAxis)
draw(drawing, "Two isolated axes")
示例6: generatePdfReport
# 需要导入模块: from reportlab.graphics.charts.axes import XCategoryAxis [as 别名]
# 或者: from reportlab.graphics.charts.axes.XCategoryAxis import setPosition [as 别名]
def generatePdfReport(request):
# Create the HttpResponse object with the appropriate PDF headers.
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"'
# Create the PDF object, using the response object as its "file."
p = canvas.Canvas(response)
# Draw things on the PDF. Here's where the PDF generation happens.
# See the ReportLab documentation for the full list of functionality.
Title="Test Report"
PAGE_HEIGHT=defaultPageSize[1]
PAGE_WIDTH=defaultPageSize[0]
p.drawCentredString(PAGE_WIDTH/2.0, PAGE_HEIGHT-108, Title)
p.drawString(100,900,"Test Configuration")
configuration=request.session["test_configuration"]
data=[['Operation','On/Off','Percentage','Keys','Size']]
if 'readState' in configuration:
readData=[['Read',configuration['readState'],configuration['readPercentage'],configuration['readKeys'],configuration['readSize']]]
else:
readData=[['Read','0','0','0','0']]
data=data+readData
if 'writeState' in configuration:
writeData=[['Write',configuration['writeState'],configuration['writePercentage'],configuration['writeKeys'],configuration['writeSize']]]
else:
writeData=[['Write','0','0','0','0']]
data=data+writeData
if 'updateState' in configuration:
updateData=[['Update',configuration['updateState'],configuration['updatePercentage'],configuration['updateKeys'],configuration['updateSize']]]
else:
updateData=[['Update','0','0','0','0']]
data=data+updateData
table = Table(data, colWidths=100, rowHeights=20)
table.hAlign="CENTER"
table.setStyle(TableStyle())
table.wrapOn(p, 300, 800)
table.drawOn(p,80,550)
p.drawString(80,700,"Test Configuration")
p.drawString(80,500,"Test Time : ")
p.drawString(200,500,str(t1.getTime()) + " miliseconds " )
p.drawString(80,400,"Test Chart")
p.saveState()
drawing = Drawing(10, 10)
data = [(10, 20, 30, 40), (15, 22, 37, 42)]
xAxis = XCategoryAxis()
xAxis.setPosition(75, 75, 300)
xAxis.configure(data)
xAxis.categoryNames = ['Beer', 'Wine', 'Meat', 'Cannelloni']
xAxis.labels.boxAnchor = 'n'
xAxis.labels[3].dy = -15
xAxis.labels[3].angle = 30
xAxis.labels[3].fontName = 'Times-Bold'
yAxis = YValueAxis()
yAxis.setPosition(50, 50, 125)
yAxis.configure(data)
drawing.add(xAxis)
drawing.add(yAxis)
# Close the PDF object cleanly, and we're done.
p.showPage()
p.save()
return response