[reportlab-users] Pass legend labels into LinePlot
Robin Becker
robin at reportlab.com
Tue Aug 30 06:47:39 EDT 2016
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
More information about the reportlab-users
mailing list