aha I figured it out, the series array is getting mucked up/changed around by the print specific line chart. You have to duplicate it, see http://www.saltwebsites.com/2011/flex-print-specific-chart John
2011/10/11 John Fletcher > I followed the advice at > http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7c80.html > to > print "using a print-specific output format" in Flex 4.5, however this > causes the data to disappear from my chart! Try the code below - is this a > bug or is there a simple solution? One interesting side-effect is that after > you print and the data disappears from your chart, you can still hover over > the empty chart and get the dataTips pop up! :-) > > John > > > <?xml version="1.0" encoding="utf-8"?> > <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" > xmlns:s="library://ns.adobe.com/flex/spark" > xmlns:mx="library://ns.adobe.com/flex/mx" > width="800" > height="600"> > > <fx:Script> > <![CDATA[ > import mx.charts.LineChart; > import mx.printing.FlexPrintJob; > import mx.collections.ArrayCollection; > > [Bindable] > public var expensesAC:ArrayCollection = new ArrayCollection( [ > { Month: "Jan", Profit: 2000, Expenses: 1500, Amount: 450 }, > { Month: "Feb", Profit: 1000, Expenses: 200, Amount: 600 }, > { Month: "Mar", Profit: 1500, Expenses: 500, Amount: 300 }, > { Month: "Apr", Profit: 1800, Expenses: 1200, Amount: 900 }, > { Month: "May", Profit: 2400, Expenses: 575, Amount: 500 } ]); > > protected function button1_clickHandler(event:MouseEvent):void { > var printJob:FlexPrintJob = new FlexPrintJob(); > if (printJob.start()) { > var lc:LineChart = new LineChart(); > lc.height = mlc.height; > lc.width = mlc.width; > lc.dataProvider = mlc.dataProvider; > lc.series = mlc.series; > lc.seriesFilters = mlc.seriesFilters; > lc.horizontalAxis = mlc.horizontalAxis; > lc.verticalAxis = mlc.verticalAxis; > > addElement(lc); > > printJob.addObject(lc); > printJob.send(); > removeElement(lc); > } > } > ]]> > </fx:Script> > <s:HGroup> > <mx:LineChart id="mlc" dataProvider="{expensesAC}" showDataTips="true"> > <mx:horizontalAxis> > <mx:CategoryAxis categoryField="Month"/> > </mx:horizontalAxis> > > <mx:series> > <mx:LineSeries yField="Profit" form="curve" displayName="Profit"/> > <mx:LineSeries yField="Expenses" form="curve" displayName="Expenses"/> > <mx:LineSeries yField="Amount" form="curve" displayName="Amount"/> > </mx:series> > </mx:LineChart> > > <s:Button label="print" click="button1_clickHandler(event)"/> > </s:HGroup> > </s:WindowedApplication> > >