/// <summary> /// Create an Chart for this document /// </summary> public Chart() { // Create global xml Xml = XDocument.Parse (@"<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?> <c:chartSpace xmlns:c=""http://schemas.openxmlformats.org/drawingml/2006/chart"" xmlns:a=""http://schemas.openxmlformats.org/drawingml/2006/main"" xmlns:r=""http://schemas.openxmlformats.org/officeDocument/2006/relationships""> <c:roundedCorners val=""0""/> <c:chart> <c:autoTitleDeleted val=""0""/> <c:plotVisOnly val=""1""/> <c:dispBlanksAs val=""gap""/> <c:showDLblsOverMax val=""0""/> </c:chart> </c:chartSpace>"); // Create a real chart xml in an inheritor ChartXml = CreateChartXml(); // Create result plotarea element XElement plotAreaXml = new XElement( XName.Get("plotArea", DocX.c.NamespaceName), new XElement(XName.Get("layout", DocX.c.NamespaceName)), ChartXml); // Set labels XElement dLblsXml = XElement.Parse( @"<c:dLbls xmlns:c=""http://schemas.openxmlformats.org/drawingml/2006/chart""> <c:showLegendKey val=""0""/> <c:showVal val=""0""/> <c:showCatName val=""0""/> <c:showSerName val=""0""/> <c:showPercent val=""0""/> <c:showBubbleSize val=""0""/> <c:showLeaderLines val=""1""/> </c:dLbls>"); ChartXml.Add(dLblsXml); // if axes exists, create their if (IsAxisExist) { CategoryAxis = new CategoryAxis("148921728"); ValueAxis = new ValueAxis("154227840"); XElement axIDcatXml = XElement.Parse(String.Format( @"<c:axId val=""{0}"" xmlns:c=""http://schemas.openxmlformats.org/drawingml/2006/chart""/>", CategoryAxis.Id)); XElement axIDvalXml = XElement.Parse(String.Format( @"<c:axId val=""{0}"" xmlns:c=""http://schemas.openxmlformats.org/drawingml/2006/chart""/>", ValueAxis.Id)); ChartXml.Add(axIDcatXml); ChartXml.Add(axIDvalXml); plotAreaXml.Add(CategoryAxis.Xml); plotAreaXml.Add(ValueAxis.Xml); } ChartRootXml = Xml.Root.Element(XName.Get("chart", DocX.c.NamespaceName)); ChartRootXml.Add(plotAreaXml); }
/// <summary> /// Add a legend with parameters to the chart. /// </summary> public void AddLegend(ChartLegendPosition position, Boolean overlay) { if (Legend != null) { RemoveLegend(); } Legend = new ChartLegend(position, overlay); ChartRootXml.Add(Legend.Xml); }