本文整理汇总了Python中reportlab.graphics.charts.lineplots.LinePlot.fillColor方法的典型用法代码示例。如果您正苦于以下问题:Python LinePlot.fillColor方法的具体用法?Python LinePlot.fillColor怎么用?Python LinePlot.fillColor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.graphics.charts.lineplots.LinePlot
的用法示例。
在下文中一共展示了LinePlot.fillColor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run
# 需要导入模块: from reportlab.graphics.charts.lineplots import LinePlot [as 别名]
# 或者: from reportlab.graphics.charts.lineplots.LinePlot import fillColor [as 别名]
def run(self):
def weight_sort(a, b):
return cmp(a.getWeight(), b.getWeight())
drawing = Drawing(600, 300)
lc = LinePlot()
# Determine axis dimensions and create data set
maxval = 0
minval = 0
dimension_one_values = []
dimension_two_values = []
dimension_one_answeroptions_as_objects = []
dimension_two_answeroptions_as_objects = []
counter = 0
for question in self.getQuestions():
weights = [int(weight) for weight in question.getAnswerOptionsWeights()]
answeroptions = list(question.getAnswerOptions())
# This is used by the legend. Sort on weight.
if counter == 0:
dimension_one_answeroptions_as_objects = question.getAnswerOptionsAsObjects()
dimension_one_answeroptions_as_objects.sort(weight_sort)
else:
dimension_two_answeroptions_as_objects = question.getAnswerOptionsAsObjects()
dimension_two_answeroptions_as_objects.sort(weight_sort)
# Minmax
lmin = min(weights)
lmax = max(weights)
if lmin < minval:
minval = lmin
if lmax > maxval:
maxval = lmax
# Data
for user, answer in question.answers.items():
value = answer.get('value', None)
weight = None
if value is not None:
# Lookup the integer weight of this answer
if value in answeroptions:
index = answeroptions.index(value)
weight = weights[index]
# Always add to the list. ReportLab deals with None.
if counter == 0:
dimension_one_values.append(weight)
else:
dimension_two_values.append(weight)
counter += 1
# Set minmax
absmax = max(abs(minval), abs(maxval)) * 1.1
lc.xValueAxis.valueMin = -absmax
lc.xValueAxis.valueMax = absmax
lc.yValueAxis.valueMin = -absmax
lc.yValueAxis.valueMax = absmax
# Zip to create data
data = [zip(dimension_one_values, dimension_two_values)]
if not len(data[0]):
return
lc.x = 0
lc.y = 0
# Misc setup
lc.height = 300
lc.width = 300
lc.data = data
lc.joinedLines = 0
lc.fillColor = None
lc.lines[0].strokeColor = colors.red
lc.lines[0].symbol = makeMarker('FilledCircle')
# Add a grid
grid = DoubleGrid()
lc.background = grid
setupGrid(lc)
lc.background = None
# Finetune the grid
grid.grid0.strokeWidth = 0.2
grid.grid1.strokeWidth = 0.2
# Add to drawing else it overwrites the center Y axis
drawing.add(grid)
# Add a Y axis to pass through the origin
yaxis = YValueAxis()
yaxis.setPosition(lc.width/2, 0, lc.height)
yaxis.configure([(0,-absmax),(0,absmax)])
yaxis.strokeColor = colors.blue
drawing.add(yaxis)
# Color X-Axis
lc.xValueAxis.strokeColor = colors.green
drawing.add(lc)
# Legend for Dimension One
drawing.add(String(lc.width+20, lc.height-12, 'Dimension One (X-Axis):',
#.........这里部分代码省略.........