//Main code for creating chart. //Note: the argument img is unused because this demo only has 1 chart. public void createChart(WinChartViewer viewer, string img) { // The data for the chart double[] data0 = { 0.05, 0.06, 0.48, 0.1, 0.01, 0.05 }; double[] data1 = { 100, 125, 265, 147, 67, 105 }; string[] labels = { "Jan", "Feb", "Mar", "Apr", "May", "Jun" }; // Create a XYChart object of size 300 x 180 pixels XYChart c = new XYChart(300, 180); // Set the plot area at (50, 20) and of size 200 x 130 pixels c.setPlotArea(50, 20, 200, 130); // Add a title to the chart using 8 pts Arial Bold font c.addTitle("Independent Y-Axis Demo", "Arial Bold", 8); // Set the labels on the x axis. c.xAxis().setLabels(labels); // Add a title to the primary (left) y axis c.yAxis().setTitle("Packet Drop Rate (pps)"); // Set the axis, label and title colors for the primary y axis to red // (0xc00000) to match the first data set c.yAxis().setColors(0xc00000, 0xc00000, 0xc00000); // Add a title to the secondary (right) y axis c.yAxis2().setTitle("Throughtput (MBytes)"); // set the axis, label and title colors for the primary y axis to green // (0x008000) to match the second data set c.yAxis2().setColors(0x008000, 0x008000, 0x008000); // Add a line layer to for the first data set using red (0xc00000) color // with a line width to 3 pixels LineLayer lineLayer = c.addLineLayer(data0, 0xc00000); lineLayer.setLineWidth(3); // tool tip for the line layer lineLayer.setHTMLImageMap("", "", "title='Packet Drop Rate on {xLabel}: {value} pps'"); // Add a bar layer to for the second data set using green (0x00C000) // color. Bind the second data set to the secondary (right) y axis BarLayer barLayer = c.addBarLayer(data1, 0x00c000); barLayer.setUseYAxis2(); // tool tip for the bar layer barLayer.setHTMLImageMap("", "", "title='Throughput on {xLabel}: {value} MBytes'"); // Output the chart viewer.Image = c.makeImage(); // include tool tip for the chart viewer.ImageMap = c.getHTMLImageMap("clickable"); }
// // Create chart // private void createChart(RazorChartViewer viewer) { // The data for the chart double[] data = { 40, 15, 7, 5, 2 }; // The labels for the chart string[] labels = { "Hard Disk", "PCB", "Printer", "CDROM", "Keyboard" }; // In the pareto chart, the line data are just the accumulation of the raw data, scaled to a // range of 0 - 100% ArrayMath lineData = new ArrayMath(data); lineData.acc(); double scaleFactor = lineData.max() / 100; if (scaleFactor == 0) { // Avoid division by zero error for zero data scaleFactor = 1; } lineData.div2(scaleFactor); // Create a XYChart object of size 480 x 300 pixels. Set background color to brushed silver, // with a grey (bbbbbb) border and 2 pixel 3D raised effect. Use rounded corners. Enable soft // drop shadow. XYChart c = new XYChart(400, 300, Chart.brushedSilverColor(), 0xbbbbbb, 2); c.setRoundedFrame(); c.setDropShadow(); // Add a title to the chart using 15 points Arial Italic. Set top/bottom margins to 12 // pixels. ChartDirector.TextBox title = c.addTitle("Pareto Chart Demonstration", "Arial Italic", 15); title.setMargin2(0, 0, 12, 12); // Tentatively set the plotarea at (50, 40). Set the width to 100 pixels less than the chart // width, and the height to 80 pixels less than the chart height. Use pale grey (f4f4f4) // background, transparent border, and dark grey (444444) dotted grid lines. c.setPlotArea(50, 40, c.getWidth() - 100, c.getHeight() - 80, 0xf4f4f4, -1, Chart.Transparent, c.dashLineColor(0x444444, Chart.DotLine)); // Add a line layer for the pareto line LineLayer lineLayer = c.addLineLayer2(); // Add the pareto line using deep blue (0000ff) as the color, with circle symbols lineLayer.addDataSet(lineData.result(), 0x0000ff).setDataSymbol(Chart.CircleShape, 9, 0x0000ff, 0x0000ff); // Set the line width to 2 pixel lineLayer.setLineWidth(2); // Bind the line layer to the secondary (right) y-axis. lineLayer.setUseYAxis2(); // Tool tip for the line layer lineLayer.setHTMLImageMap("", "", "title='Top {={x}+1} items: {value|2}%'"); // Add a multi-color bar layer using the given data. BarLayer barLayer = c.addBarLayer3(data); // Set soft lighting for the bars with light direction from the right barLayer.setBorderColor(Chart.Transparent, Chart.softLighting(Chart.Right)); // Tool tip for the bar layer barLayer.setHTMLImageMap("", "", "title='{xLabel}: {value} pieces'"); // Set the labels on the x axis. c.xAxis().setLabels(labels); // Set the secondary (right) y-axis scale as 0 - 100 with a tick every 20 units c.yAxis2().setLinearScale(0, 100, 20); // Set the format of the secondary (right) y-axis label to include a percentage sign c.yAxis2().setLabelFormat("{value}%"); // Set the relationship between the two y-axes, which only differ by a scaling factor c.yAxis().syncAxis(c.yAxis2(), scaleFactor); // Set the format of the primary y-axis label foramt to show no decimal point c.yAxis().setLabelFormat("{value|0}"); // Add a title to the primary y-axis c.yAxis().setTitle("Frequency"); // Set all axes to transparent c.xAxis().setColors(Chart.Transparent); c.yAxis().setColors(Chart.Transparent); c.yAxis2().setColors(Chart.Transparent); // Adjust the plot area size, such that the bounding box (inclusive of axes) is 10 pixels // from the left edge, just below the title, 10 pixels from the right edge, and 20 pixels // from the bottom edge. c.packPlotArea(10, title.getHeight(), c.getWidth() - 10, c.getHeight() - 20); // Output the chart viewer.Image = c.makeWebImage(Chart.JPG); // Include tool tip for the chart viewer.ImageMap = c.getHTMLImageMap(""); }
//Main code for creating chart. //Note: the argument chartIndex is unused because this demo only has 1 chart. public void createChart(WPFChartViewer viewer, int chartIndex) { // The data for the line chart double[] data = { 50, 55, 47, 34, 42, 49, 63, 62, 73, 59, 56, 50, 64, 60, 67, 67, 58, 59, 73, 77, 84, 82, 80, 91 }; // The labels for the line chart string[] labels = { "Jan 2000", "Feb 2000", "Mar 2000", "Apr 2000", "May 2000", "Jun 2000", "Jul 2000", "Aug 2000", "Sep 2000", "Oct 2000","Nov 2000", "Dec 2000", "Jan 2001", "Feb 2001", "Mar 2001", "Apr 2001", "May 2001","Jun 2001", "Jul 2001", "Aug 2001", "Sep 2001", "Oct 2001", "Nov 2001", "Dec 2001" }; // Create a XYChart object of size 500 x 320 pixels, with a pale purpule (0xffccff) // background, a black border, and 1 pixel 3D border effect. XYChart c = new XYChart(500, 320, 0xffccff, 0x000000, 1); // Set the plotarea at (55, 45) and of size 420 x 210 pixels, with white background. // Turn on both horizontal and vertical grid lines with light grey color (0xc0c0c0) c.setPlotArea(55, 45, 420, 210, 0xffffff, -1, -1, 0xc0c0c0, -1); // Add a legend box at (55, 25) (top of the chart) with horizontal layout. Use 8pt Arial // font. Set the background and border color to Transparent. c.addLegend(55, 22, false, "", 8).setBackground(Chart.Transparent); // Add a title box to the chart using 13pt Times Bold Italic font. The text is white // (0xffffff) on a purple (0x800080) background, with a 1 pixel 3D border. c.addTitle("Long Term Server Load", "Times New Roman Bold Italic", 13, 0xffffff ).setBackground(0x800080, -1, 1); // Add a title to the y axis c.yAxis().setTitle("MBytes"); // Set the labels on the x axis. Rotate the font by 90 degrees. c.xAxis().setLabels(labels).setFontAngle(90); // Add a line layer to the chart LineLayer lineLayer = c.addLineLayer(); // Add the data to the line layer using light brown color (0xcc9966) with a 7 pixel // square symbol lineLayer.addDataSet(data, 0xcc9966, "Server Utilization").setDataSymbol( Chart.SquareSymbol, 7); // Set the line width to 2 pixels lineLayer.setLineWidth(2); // tool tip for the line layer lineLayer.setHTMLImageMap("", "", "title='{xLabel}: {value} MBytes'"); // Add a trend line layer using the same data with a dark green (0x008000) color. Set // the line width to 2 pixels TrendLayer trendLayer = c.addTrendLayer(data, 0x008000, "Trend Line"); trendLayer.setLineWidth(2); // tool tip for the trend layer trendLayer.setHTMLImageMap("", "", "title='Change rate: {slope|2} MBytes/per month'"); // Output the chart viewer.Chart = c; // include tool tip for the chart viewer.ImageMap = c.getHTMLImageMap("clickable"); }
public void createChart4(WinChartViewer viewer, string img) { // The data for the chart Chart.setLicenseCode("DEVP-2LSU-B4LX-YCTY-2DF2-77EE"); double[] data = data_w4; // The labels for the chart string[] labels = label_w4; // In the pareto chart, the line data are just the accumulation of the // raw data, scaled to a range of 0 - 100% ArrayMath lineData = new ArrayMath(data); lineData.acc(); double scaleFactor = lineData.max() / 100; if (scaleFactor == 0) { // Avoid division by zero error for zero data scaleFactor = 1; } lineData.div2(scaleFactor); // Create a XYChart object of size 480 x 300 pixels. Set background color // to brushed silver, with a grey (bbbbbb) border and 2 pixel 3D raised // effect. Use rounded corners. Enable soft drop shadow. // XYChart c = new XYChart(400, 300, Chart.brushedSilverColor(), 0xbbbbbb, 2); XYChart c = new XYChart(viewer.Width, viewer.Height); c.setBorder(10); // c.setRoundedFrame(); // c.setDropShadow(); // Add a title to the chart using 15 points Arial Italic. Set top/bottom // margins to 12 pixels. ChartDirector.TextBox title = c.addTitle(Chart.Top, _txtTit4, "Arial Bold", 12, 0xffffff, 0x1c86ee); title.setMargin2(10, 10, 6, 12); title.setPos(10, 3); title.setSize(viewer.Width - 20, 30); // Tentatively set the plotarea at (50, 40). Set the width to 100 pixels // less than the chart width, and the height to 80 pixels less than the // chart height. Use pale grey (f4f4f4) background, transparent border, // and dark grey (444444) dotted grid lines. //c.setPlotArea(50, 40, c.getWidth() - 100, c.getHeight() - 80, 0xf4f4f4, // -1, Chart.Transparent, c.dashLineColor(0x444444, Chart.DotLine)); c.setPlotArea(50, 50, c.getWidth() - 110, c.getHeight() - 250, 0xf4f4f4, -1, Chart.Transparent, c.dashLineColor(0xffffff, Chart.Transparent)); // Add a line layer for the pareto line LineLayer lineLayer = c.addLineLayer2(); // Add the pareto line using deep blue (0000ff) as the color, with circle // symbols ArrayMath li = new ArrayMath(lineData.result()); ArrayMath am = new ArrayMath(data); //lineLayer.addDataSet(li.mul(_cnt / 100.0).result(), 0x0000ff).setDataSymbol( // Chart.CircleShape, 9, 0x0000ff, 0x0000ff); lineLayer.addDataSet(lineData.result(), 0x0000ff).setDataSymbol( Chart.CircleShape, 9, 0x0000ff, 0x0000ff); // Set the line width to 2 pixel lineLayer.setLineWidth(2); // Bind the line layer to the secondary (right) y-axis. lineLayer.setUseYAxis2(); // Tool tip for the line layer lineLayer.setHTMLImageMap("", "", "title='Top {={x}+1} items: {value|2}%'"); // Add a multi-color bar layer using the given data. BarLayer barLayer = c.addBarLayer(data, 0xfc8a8a); // BarLayer barLayer = c.addBarLayer(am.mul(_cnt / 100.0).result(), 0xfc8a8a); // Set soft lighting for the bars with light direction from the right barLayer.setBorderColor(Chart.Transparent, Chart.softLighting(Chart.Right )); c.xAxis().setLabelStyle("Arial Bold", 8).setFontAngle(70); c.yAxis().setLabelStyle("Arial Bold", 9); c.yAxis2().setLabelStyle("Arial Bold", 9); // Tool tip for the bar layer // barLayer.setHTMLImageMap("", "", "title='{xLabel}: {value} pieces'"); // Set the labels on the x axis. c.xAxis().setLabels(labels); // Set the secondary (right) y-axis scale as 0 - 100 with a tick every 20 // units c.yAxis2().setLinearScale(0, 100, 10); // Set the format of the secondary (right) y-axis label to include a // percentage sign c.yAxis2().setLabelFormat("{value}%"); // Set the relationship between the two y-axes, which only differ by a // scaling factor c.yAxis().setLinearScale(0, 1600, 160); //c.yAxis().syncAxis(c.yAxis2(), scaleFactor); // Set the format of the primary y-axis label foramt to show no decimal // point c.yAxis().setLabelFormat("{value|0}"); c.setNumberFormat(','); // Add a title to the primary y-axis // c.yAxis().setTitle("Frequency"); // Set all axes to transparent // c.xAxis().setColors(Chart.Transparent); // c.yAxis().setColors(Chart.Transparent); // c.yAxis2().setColors(Chart.Transparent); // Adjust the plot area size, such that the bounding box (inclusive of // axes) is 10 pixels from the left edge, just below the title, 10 pixels // from the right edge, and 20 pixels from the bottom edge. //c.packPlotArea(10, title.getHeight(), c.getWidth() - 10, c.getHeight() - // 20); // Output the chart viewer.Chart = c; // Include tool tip for the chart // viewer.ImageMap = c.getHTMLImageMap("clickable"); }