本文整理汇总了Python中reportlab.graphics.charts.axes.XCategoryAxis.visibleLabels方法的典型用法代码示例。如果您正苦于以下问题:Python XCategoryAxis.visibleLabels方法的具体用法?Python XCategoryAxis.visibleLabels怎么用?Python XCategoryAxis.visibleLabels使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.graphics.charts.axes.XCategoryAxis
的用法示例。
在下文中一共展示了XCategoryAxis.visibleLabels方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: generateGraphs
# 需要导入模块: from reportlab.graphics.charts.axes import XCategoryAxis [as 别名]
# 或者: from reportlab.graphics.charts.axes.XCategoryAxis import visibleLabels [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:
#.........这里部分代码省略.........