OxyPlot Odd Marker Placement With LineSeries -
i coding basic cumulative moving average lineseries markertype = markertype.circle. reason marker ending not on line. pan , zoom disabled on y axis. have included picture of it. know of reason why doing this?
this how i'm adding series plot
<grid x:name="gridchart" column="2"> <grid.rowdefinitions> <rowdefinition height="auto"/> <rowdefinition height="*"/> </grid.rowdefinitions> <textblock grid.row="0" background="yellow" padding="4" fontweight="normal" fontsize="12" visibility="collapsed"/> <oxy:plot grid.row="1" x:name="plotstriketheobasis" mousedoubleclick="plotstriketheobasisonmousedoubleclick" margin="5" legendplacement="inside" mousewheel="plotstriketheobasisonmousewheel"> <oxy:plot.annotations> <oxy:lineannotation type="horizontal" y="0"/> </oxy:plot.annotations> <oxy:plot.axes> <oxy:linearaxis position="left" x:name="axisqty" title="qty" iszoomenabled="false" ispanenabled="false" minorticksize="0"/> <oxy:linearaxis position="bottom" x:name="axixbasispoints" title="basis points" minorticksize="0" maximum="{binding max, mode=twoway}" minimum="{binding min, mode=twoway}" absolutemaximum="200" absoluteminimum="-200"/> </oxy:plot.axes> <oxy:lineseries x:name="lineseriesmovingaverage" visibility="{binding movingaverageqtychecked, converter={staticresource booleanvisibilityconverter}}" itemssource="{binding movingaveragedataseriesset}" datafieldx="basispoints" datafieldy="quantity" title="cma" markertype="cross" markerstroke="hotpink"/> </oxy:plot> </grid> public partial class theobasisstrikechartwindow : window { private static readonly ilog log = logmanager.create(); private theobasishistogramviewmodel _viewmodel; internal theobasishistogramviewmodel theobasishistogramviewmodel { { return _viewmodel; } set { _viewmodel = value; gridchart.datacontext = value; } } public theobasisstrikechartwindow() { initializecomponent(); theobasishistogramviewmodel = new theobasishistogramviewmodel(); } private void refresh() { try { _viewmodel.refresh(); } catch (exception ex) { log.error(ex); messagewindow.show( "error occurred loading window. please report staff", "error", messagewindowimage.error, messagewindowstartuplocation.createcenteredon(this, this), messagewindowbutton.ok); } } } public class basispointsqty { public double basispoints { get; set; } public double quantity { get; set; } public basispointsqty(double basispoints, int quantity) { basispoints = basispoints; quantity = quantity; } } public class theobasishistogramviewmodel : propertychangednotifier { public observablecollectionex<basispointsqty> movingaveragedataseriesset { get;} public theobasishistogramviewmodel() { movingaveragedataseriesset = new observablecollectionex<basispointsqty>(); } public void refresh() { // update movingaveragedataseriesset here } }
Comments
Post a Comment