Re: Pass legend labels into LinePlot
Robin Becker <[email protected]>
| Newsgroups | gmane.comp.python.reportlab.user |
|---|---|
| Message-ID | <[email protected]> |
On 23/08/2016 23:38, Bill Marcum wrote: > Any help here? More details: > > I'm modeling my code after one of the LinePlot examples. In that example, > in the __init__ method, the code does something similar to this: > > sNames = ['Fund1','Fund2','Fund3','Fund4'] > colorsList = [ lightgrey, grey, darkgrey, lightblue ] > for i in range(len(sNames)): > self.chart.lines[i].name=sNames[i] > self.chart.lines[i].strokeColor=colorsList[i] > self.legend.colorNamePairs.append( (colorsList[i], sNames[i])) > > > And this works great, the chart renders with a Legend for those four Funds, > appropriately color coded. BUT, this isn't useful to me, I need to pass in > the labels dynamically, the same way I do the line data in the 'chart.data' > param. I can't find a parameter to use that would support this, and the > param data isn't available during the __init__ method anyway (not sure when > that gets set, or how to access it). > ........ It's not clear what you mean by dynamically. You can always do self.legend.colorNamePairs = [......] at any time. That is dynamic. All of the properties of a drawing can be altered even after it has been drawn one or more times. Whether or not the changes are consistent depends on the values. -- Robin Becker