本文整理汇总了Python中reportlab.graphics.charts.barcharts.VerticalBarChart.valueAxis方法的典型用法代码示例。如果您正苦于以下问题:Python VerticalBarChart.valueAxis方法的具体用法?Python VerticalBarChart.valueAxis怎么用?Python VerticalBarChart.valueAxis使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.graphics.charts.barcharts.VerticalBarChart
的用法示例。
在下文中一共展示了VerticalBarChart.valueAxis方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: generateGraphs
# 需要导入模块: from reportlab.graphics.charts.barcharts import VerticalBarChart [as 别名]
# 或者: from reportlab.graphics.charts.barcharts.VerticalBarChart import valueAxis [as 别名]
#.........这里部分代码省略.........
#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:
tmp = self.height
self.height = self.origHeight
self._drawLabels(self.title, self.x_label, self.y_label)
self.height = tmp
for graphtype in self.graphList:
#Draw only one set of Legends/Labels for any dataset,
#even if there are multiple charts drawn for the same dataset
if self.labelsDrawnF == True and self.numSplits == 0:
drawLabelF = False
if self.legendsDrawnF == True and self.numSplits == 0:
drawLegendF = False
if graphtype == 'Bar':
GraphObj = VerticalBarChart()
GraphObj.valueAxis = yVAxis
self.drawGraph(GraphObj, X_start_pos, Y_start_pos, X_width,
graph_height, drawLabelF, drawLegendF, legendHeight)
if graphtype == 'Line':
GraphObj = HorizontalLineChart()
GraphObj.valueAxis = yVAxis
self.drawGraph(GraphObj, X_start_pos, Y_start_pos, X_width,
graph_height, drawLabelF, drawLegendF, legendHeight)