From ad66f5541573f55f10735b52ab8562a3a18665e4 Mon Sep 17 00:00:00 2001 From: Karthik Ramesh Iyer Date: Thu, 6 Jun 2019 11:07:56 +0530 Subject: [PATCH 1/3] feat: Implement horizontal bar chart feature --- Package.swift | 4 + .../BarChartOrientationHorizontal/main.swift | 22 ++ framework/SVGRenderer/SVGRenderer.swift | 2 +- framework/SwiftPlot/BarChart.swift | 302 +++++++++++++----- framework/SwiftPlot/HelperFunction.swift | 2 +- framework/SwiftPlot/Point.swift | 9 + 6 files changed, 256 insertions(+), 85 deletions(-) create mode 100644 examples/BarChartOrientationHorizontal/main.swift diff --git a/Package.swift b/Package.swift index ecbc1d0c..54f9c861 100644 --- a/Package.swift +++ b/Package.swift @@ -110,6 +110,10 @@ let package = Package( name: "BarChartFilledCircleHatchedExample", dependencies: ["AGGRenderer", "SVGRenderer", "SwiftPlot"], path: "examples/BarChartFilledCircleHatched"), + .target( + name: "BarChartOrientationHorizontalExample", + dependencies: ["AGGRenderer", "SVGRenderer", "SwiftPlot"], + path: "examples/BarChartOrientationHorizontal"), //.testTarget( // name: "swiftplotTests", // dependencies: ["swiftplot"]), diff --git a/examples/BarChartOrientationHorizontal/main.swift b/examples/BarChartOrientationHorizontal/main.swift new file mode 100644 index 00000000..48e80ca1 --- /dev/null +++ b/examples/BarChartOrientationHorizontal/main.swift @@ -0,0 +1,22 @@ +import SwiftPlot +import AGGRenderer +import SVGRenderer + +var filePath = "examples/Reference/" +let fileName = "_08_bar_chart" + +let x:[String] = ["2008","2009","2010","2011"] +let y:[Float] = [320,-100,420,500] + +var agg_renderer: AGGRenderer = AGGRenderer() +var svg_renderer: SVGRenderer = SVGRenderer() + +var plotTitle: PlotTitle = PlotTitle() + +var barGraph: BarGraph = BarGraph() +barGraph.addSeries(x, y, label: "Plot 1", color: .orange, graphOrientation: .horizontal) +plotTitle.title = "BAR CHART" +barGraph.plotTitle = plotTitle + +barGraph.drawGraphAndOutput(fileName: filePath+"agg/"+fileName, renderer: agg_renderer) +barGraph.drawGraphAndOutput(fileName: filePath+"svg/"+fileName, renderer: svg_renderer) diff --git a/framework/SVGRenderer/SVGRenderer.swift b/framework/SVGRenderer/SVGRenderer.swift index 54334816..8cca474a 100644 --- a/framework/SVGRenderer/SVGRenderer.swift +++ b/framework/SVGRenderer/SVGRenderer.swift @@ -67,7 +67,7 @@ public class SVGRenderer: Renderer{ let h: Float = abs(p2.y - p3.y) var y = max(p1.y,p2.y,p3.y,p4.y) + (0.1*plotDimensions.subHeight) - yOffset y = plotDimensions.subHeight - y - let x = p1.x + xOffset + (0.1*plotDimensions.subWidth) + let x = min(p1.x, p2.x, p3.x, p4.x) + xOffset + (0.1*plotDimensions.subWidth) let rect: String = "" image = image + "\n" + rect drawHatchingRect(x: x, y: y, width: w, height: h, hatchPattern: hatchPattern) diff --git a/framework/SwiftPlot/BarChart.swift b/framework/SwiftPlot/BarChart.swift index b563da68..98d068fa 100644 --- a/framework/SwiftPlot/BarChart.swift +++ b/framework/SwiftPlot/BarChart.swift @@ -21,8 +21,13 @@ public class BarGraph: Plot { plotLegend.legendTopLeft = Point(plotBorder.topLeft.x + 20, plotBorder.topLeft.y - 20) } } - + public enum GraphOrientation { + case vertical + case horizontal + } + public var graphOrientation: GraphOrientation = .vertical public var scaleY: Float = 1 + public var scaleX: Float = 1 public var plotMarkers: PlotMarkers = PlotMarkers() public var series: Series = Series() @@ -41,21 +46,47 @@ public class BarGraph: Plot { let s = Series(points: p,label: label, color: color, hatchPattern: hatchPattern) addSeries(s) } - public func addSeries(_ x: [Float], _ y: [Float], label: String, color: Color = Color.lightBlue, hatchPattern: BarGraphSeriesOptions.Hatching = .none){ + public func addSeries(_ x: [Float], _ y: [Float], label: String, color: Color = Color.lightBlue, hatchPattern: BarGraphSeriesOptions.Hatching = .none, graphOrientation: BarGraph.GraphOrientation = .vertical){ var pts = [Point]() for i in 0.. maximumY) { - maximumY = y - } - y = getMinY(points: pts) - if (y < minimumY) { - minimumY = y + if (graphOrientation == .vertical) { + var y: Float = getMaxY(points: pts) + if (y > maximumY) { + maximumY = y + } + y = getMinY(points: pts) + if (y < minimumY) { + minimumY = y + } + + if minimumY>=0.0 { + origin = Point.zero + minimumY = 0.0 + } + else{ + origin = Point(0.0, (plotDimensions.graphHeight/(maximumY-minimumY))*(-minimumY)) + } + + let topScaleMargin: Float = (plotDimensions.subHeight - plotDimensions.graphHeight)/2.0 - 10.0; + scaleY = (maximumY - minimumY) / (plotDimensions.graphHeight - topScaleMargin); + + let nD1: Int = max(getNumberOfDigits(maximumY), getNumberOfDigits(minimumY)) + var v1: Float + if (nD1 > 1 && maximumY <= pow(Float(10), Float(nD1 - 1))) { + v1 = Float(pow(Float(10), Float(nD1 - 2))) + } else if (nD1 > 1) { + v1 = Float(pow(Float(10), Float(nD1 - 1))) + } else { + v1 = Float(pow(Float(10), Float(0))) + } + + let nY: Float = v1/scaleY + var inc1: Float = nY + if(plotDimensions.graphHeight/nY > MAX_DIV){ + inc1 = (plotDimensions.graphHeight/nY)*inc1/MAX_DIV + } + + var yM: Float = origin.y + while yM<=plotDimensions.graphHeight { + if(yM+inc1<0.0 || yM<0.0){ + yM = yM + inc1 + continue + } + let p: Point = Point(0, yM) + plotMarkers.yMarkers.append(p) + let text_p: Point = Point(-(renderer.getTextWidth(text: "\(ceil(scaleY*(yM-origin.y)))", textSize: plotMarkers.markerTextSize)+5), yM - 4) + plotMarkers.yMarkersTextLocation.append(text_p) + plotMarkers.yMarkersText.append("\(ceil(scaleY*(yM-origin.y)))") + yM = yM + inc1 + } + yM = origin.y - inc1 + while yM>0.0 { + let p: Point = Point(0, yM) + plotMarkers.yMarkers.append(p) + let text_p: Point = Point(-(renderer.getTextWidth(text: "\(floor(scaleY*(yM-origin.y)))", textSize: plotMarkers.markerTextSize)+5), yM - 4) + plotMarkers.yMarkersTextLocation.append(text_p) + plotMarkers.yMarkersText.append("\(floor(scaleY*(yM-origin.y)))") + yM = yM - inc1 + } + + for i in 0..= 0.0 && pt.y <= plotDimensions.graphHeight) { + series.scaledPoints.append(pt) + // } + } } - if minimumY>=0.0 { - origin = Point.zero - minimumY = 0.0 - } else{ - origin = Point(0.0, (plotDimensions.graphHeight/(maximumY-minimumY))*(-minimumY)) - } - - let topScaleMargin: Float = (plotDimensions.subHeight - plotDimensions.graphHeight)/2.0 - 10.0; - scaleY = (maximumY - minimumY) / (plotDimensions.graphHeight - topScaleMargin); - - let nD1: Int = max(getNumberOfDigits(maximumY), getNumberOfDigits(minimumY)) - var v1: Float - if (nD1 > 1 && maximumY <= pow(Float(10), Float(nD1 - 1))) { - v1 = Float(pow(Float(10), Float(nD1 - 2))) - } else if (nD1 > 1) { - v1 = Float(pow(Float(10), Float(nD1 - 1))) - } else { - v1 = Float(pow(Float(10), Float(0))) - } - - let nY: Float = v1/scaleY - var inc1: Float = nY - if(plotDimensions.graphHeight/nY > MAX_DIV){ - inc1 = (plotDimensions.graphHeight/nY)*inc1/MAX_DIV - } - - var yM: Float = origin.y - while yM<=plotDimensions.graphHeight { - if(yM+inc1<0.0 || yM<0.0){ - yM = yM + inc1 - continue - } - let p: Point = Point(0, yM) - plotMarkers.yMarkers.append(p) - let text_p: Point = Point(-(renderer.getTextWidth(text: "\(ceil(scaleY*(yM-origin.y)))", textSize: plotMarkers.markerTextSize)+5), yM - 4) - plotMarkers.yMarkersTextLocation.append(text_p) - plotMarkers.yMarkersText.append("\(ceil(scaleY*(yM-origin.y)))") - yM = yM + inc1 - } - yM = origin.y - inc1 - while yM>0.0 { - let p: Point = Point(0, yM) - plotMarkers.yMarkers.append(p) - let text_p: Point = Point(-(renderer.getTextWidth(text: "\(floor(scaleY*(yM-origin.y)))", textSize: plotMarkers.markerTextSize)+5), yM - 4) - plotMarkers.yMarkersTextLocation.append(text_p) - plotMarkers.yMarkersText.append("\(floor(scaleY*(yM-origin.y)))") - yM = yM - inc1 - } - - for i in 0..= 0.0 && pt.y <= plotDimensions.graphHeight) { - series.scaledPoints.append(pt) - // } + var x: Float = getMaxX(points: pts) + if (x > maximumX) { + maximumX = x + } + x = getMinX(points: pts) + if (x < minimumX) { + minimumX = x + } + + if minimumX>=0.0 { + origin = Point.zero + minimumX = 0.0 + } + else{ + origin = Point((plotDimensions.graphWidth/(maximumX-minimumX))*(-minimumX), 0.0) + } + + let rightScaleMargin: Float = (plotDimensions.subWidth - plotDimensions.graphWidth)/2.0 - 10.0 + scaleX = (maximumX - minimumX) / (plotDimensions.graphWidth - rightScaleMargin) + + let nD1: Int = max(getNumberOfDigits(maximumX), getNumberOfDigits(minimumX)) + var v1: Float + if (nD1 > 1 && maximumX <= pow(Float(10), Float(nD1 - 1))) { + v1 = Float(pow(Float(10), Float(nD1 - 2))) + } else if (nD1 > 1) { + v1 = Float(pow(Float(10), Float(nD1 - 1))) + } else { + v1 = Float(pow(Float(10), Float(0))) + } + + let nX: Float = v1/scaleX + var inc1: Float = nX + if(plotDimensions.graphWidth/nX > MAX_DIV){ + inc1 = (plotDimensions.graphWidth/nX)*inc1/MAX_DIV + } + + var xM: Float = origin.x + while xM<=plotDimensions.graphWidth { + if(xM+inc1<0.0 || xM<0.0){ + xM = xM + inc1 + continue + } + let p: Point = Point(xM, 0) + plotMarkers.xMarkers.append(p) + let text_p: Point = Point(xM - (renderer.getTextWidth(text: "\(floor(scaleX*(xM-origin.x)))", textSize: plotMarkers.markerTextSize)/2.0) + 8, -15) + plotMarkers.xMarkersTextLocation.append(text_p) + plotMarkers.xMarkersText.append("\(ceil(scaleX*(xM-origin.x)))") + xM = xM + inc1 + } + xM = origin.x - inc1 + while xM>0.0 { + let p: Point = Point(xM, 0) + plotMarkers.xMarkers.append(p) + let text_p: Point = Point(xM - (renderer.getTextWidth(text: "\(floor(scaleX*(xM-origin.x)))", textSize: plotMarkers.markerTextSize)/2.0) + 8, -15) + plotMarkers.xMarkersTextLocation.append(text_p) + plotMarkers.xMarkersText.append("\(floor(scaleX*(xM-origin.x)))") + xM = xM - inc1 + } + + for i in 0..= 0.0 && pt.y <= plotDimensions.graphHeight) { + series.scaledPoints.append(pt) + // } + } } } @@ -239,6 +364,7 @@ extension BarGraph { } func drawPlots(renderer: Renderer) { + if (graphOrientation == .vertical) { for index in 0.. Float { var min = p[0].x for index in 1.. Date: Thu, 6 Jun 2019 20:27:11 +0530 Subject: [PATCH 2/3] feat: Implement stacked bar graph --- Package.swift | 8 + examples/BarChartHorizontalStacked/main.swift | 24 + examples/BarChartVerticalStacked/main.swift | 24 + .../agg/_17_bar_chart_vertical_stacked.png | Bin 0 -> 18383 bytes .../agg/_18_bar_chart_horizontal_stacked.png | Bin 0 -> 17486 bytes .../svg/_17_bar_chart_vertical_stacked.svg | 43 ++ .../svg/_18_bar_chart_horizontal_stacked.svg | 45 ++ framework/SwiftPlot/BarChart.swift | 492 +++++++++++------- run_examples.sh | 2 + 9 files changed, 451 insertions(+), 187 deletions(-) create mode 100644 examples/BarChartHorizontalStacked/main.swift create mode 100644 examples/BarChartVerticalStacked/main.swift create mode 100644 examples/Reference/agg/_17_bar_chart_vertical_stacked.png create mode 100644 examples/Reference/agg/_18_bar_chart_horizontal_stacked.png create mode 100644 examples/Reference/svg/_17_bar_chart_vertical_stacked.svg create mode 100644 examples/Reference/svg/_18_bar_chart_horizontal_stacked.svg diff --git a/Package.swift b/Package.swift index 54f9c861..907ada2d 100644 --- a/Package.swift +++ b/Package.swift @@ -114,6 +114,14 @@ let package = Package( name: "BarChartOrientationHorizontalExample", dependencies: ["AGGRenderer", "SVGRenderer", "SwiftPlot"], path: "examples/BarChartOrientationHorizontal"), + .target( + name: "BarChartVerticalStackedExample", + dependencies: ["AGGRenderer", "SVGRenderer", "SwiftPlot"], + path: "examples/BarChartVerticalStacked"), + .target( + name: "BarChartHorizontalStackedExample", + dependencies: ["AGGRenderer", "SVGRenderer", "SwiftPlot"], + path: "examples/BarChartHorizontalStacked"), //.testTarget( // name: "swiftplotTests", // dependencies: ["swiftplot"]), diff --git a/examples/BarChartHorizontalStacked/main.swift b/examples/BarChartHorizontalStacked/main.swift new file mode 100644 index 00000000..b5235813 --- /dev/null +++ b/examples/BarChartHorizontalStacked/main.swift @@ -0,0 +1,24 @@ +import SwiftPlot +import AGGRenderer +import SVGRenderer + +var filePath = "examples/Reference/" +let fileName = "_18_bar_chart_horizontal_stacked" + +let x:[String] = ["2008","2009","2010","2011"] +let y:[Float] = [320,-100,420,500] +let y1:[Float] = [100,100,220,245] + +var agg_renderer: AGGRenderer = AGGRenderer() +var svg_renderer: SVGRenderer = SVGRenderer() + +var plotTitle: PlotTitle = PlotTitle() + +var barGraph: BarGraph = BarGraph() +barGraph.addSeries(x, y, label: "Plot 1", color: .orange, graphOrientation: .horizontal) +barGraph.addStackSeries(y1, label: "Plot 2", color: .blue) +plotTitle.title = "BAR CHART" +barGraph.plotTitle = plotTitle + +barGraph.drawGraphAndOutput(fileName: filePath+"agg/"+fileName, renderer: agg_renderer) +barGraph.drawGraphAndOutput(fileName: filePath+"svg/"+fileName, renderer: svg_renderer) diff --git a/examples/BarChartVerticalStacked/main.swift b/examples/BarChartVerticalStacked/main.swift new file mode 100644 index 00000000..fe5a0825 --- /dev/null +++ b/examples/BarChartVerticalStacked/main.swift @@ -0,0 +1,24 @@ +import SwiftPlot +import AGGRenderer +import SVGRenderer + +var filePath = "examples/Reference/" +let fileName = "_17_bar_chart_vertical_stacked" + +let x:[String] = ["2008","2009","2010","2011"] +let y:[Float] = [320,-100,420,500] +let y1:[Float] = [100,100,220,245] + +var agg_renderer: AGGRenderer = AGGRenderer() +var svg_renderer: SVGRenderer = SVGRenderer() + +var plotTitle: PlotTitle = PlotTitle() + +var barGraph: BarGraph = BarGraph() +barGraph.addSeries(x, y, label: "Plot 1", color: .orange) +barGraph.addStackSeries(y1, label: "Plot 2", color: .blue) +plotTitle.title = "BAR CHART" +barGraph.plotTitle = plotTitle + +barGraph.drawGraphAndOutput(fileName: filePath+"agg/"+fileName, renderer: agg_renderer) +barGraph.drawGraphAndOutput(fileName: filePath+"svg/"+fileName, renderer: svg_renderer) diff --git a/examples/Reference/agg/_17_bar_chart_vertical_stacked.png b/examples/Reference/agg/_17_bar_chart_vertical_stacked.png new file mode 100644 index 0000000000000000000000000000000000000000..df43c2d803ae2c2b6c53ee72a8ef39fcdb9ccb4a GIT binary patch literal 18383 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 literal 0 HcmV?d00001 diff --git a/examples/Reference/svg/_17_bar_chart_vertical_stacked.svg b/examples/Reference/svg/_17_bar_chart_vertical_stacked.svg new file mode 100644 index 00000000..2b9d5dab --- /dev/null +++ b/examples/Reference/svg/_17_bar_chart_vertical_stacked.svg @@ -0,0 +1,43 @@ + + + + +2008 + +2009 + +2010 + +2011 + +0.0 + +100.0 + +200.0 + +300.0 + +400.0 + +500.0 + +600.0 + +700.0 + +800.0 + +-100.0 + + + + + + + + +BAR CHART +X-Axis +Y-Axis + \ No newline at end of file diff --git a/examples/Reference/svg/_18_bar_chart_horizontal_stacked.svg b/examples/Reference/svg/_18_bar_chart_horizontal_stacked.svg new file mode 100644 index 00000000..84ed8e24 --- /dev/null +++ b/examples/Reference/svg/_18_bar_chart_horizontal_stacked.svg @@ -0,0 +1,45 @@ + + + + +0.0 + +100.0 + +200.0 + +300.0 + +400.0 + +500.0 + +600.0 + +700.0 + +800.0 + +-100.0 + +-200.0 + +2008 + +2009 + +2010 + +2011 + + + + + + + + +BAR CHART +X-Axis +Y-Axis + \ No newline at end of file diff --git a/framework/SwiftPlot/BarChart.swift b/framework/SwiftPlot/BarChart.swift index 98d068fa..1f8ea716 100644 --- a/framework/SwiftPlot/BarChart.swift +++ b/framework/SwiftPlot/BarChart.swift @@ -22,14 +22,15 @@ public class BarGraph: Plot { } } public enum GraphOrientation { - case vertical - case horizontal + case vertical + case horizontal } public var graphOrientation: GraphOrientation = .vertical public var scaleY: Float = 1 public var scaleX: Float = 1 public var plotMarkers: PlotMarkers = PlotMarkers() public var series: Series = Series() + public var stackSeries = [Series]() var barWidth : Int = 0 public var space: Int = 20 @@ -42,6 +43,29 @@ public class BarGraph: Plot { public func addSeries(_ s: Series){ series = s } + public func addStackSeries(_ s: Series) { + if (series.points.count != 0 && series.points.count == s.points.count) { + stackSeries.append(s) + } + else { + print("Stack point count does not match the Series point count.") + } + } + public func addStackSeries(_ x: [Float], label: String, color: Color = .lightBlue, hatchPattern: BarGraphSeriesOptions.Hatching = .none) { + var pts = [Point]() + if (graphOrientation == .vertical) { + for i in 0.. maximumY) { - maximumY = y - } - y = getMinY(points: pts) - if (y < minimumY) { - minimumY = y - } - - if minimumY>=0.0 { - origin = Point.zero - minimumY = 0.0 - } - else{ - origin = Point(0.0, (plotDimensions.graphHeight/(maximumY-minimumY))*(-minimumY)) - } - - let topScaleMargin: Float = (plotDimensions.subHeight - plotDimensions.graphHeight)/2.0 - 10.0; - scaleY = (maximumY - minimumY) / (plotDimensions.graphHeight - topScaleMargin); - - let nD1: Int = max(getNumberOfDigits(maximumY), getNumberOfDigits(minimumY)) - var v1: Float - if (nD1 > 1 && maximumY <= pow(Float(10), Float(nD1 - 1))) { - v1 = Float(pow(Float(10), Float(nD1 - 2))) - } else if (nD1 > 1) { - v1 = Float(pow(Float(10), Float(nD1 - 1))) - } else { - v1 = Float(pow(Float(10), Float(0))) - } - - let nY: Float = v1/scaleY - var inc1: Float = nY - if(plotDimensions.graphHeight/nY > MAX_DIV){ - inc1 = (plotDimensions.graphHeight/nY)*inc1/MAX_DIV - } - - var yM: Float = origin.y - while yM<=plotDimensions.graphHeight { - if(yM+inc1<0.0 || yM<0.0){ - yM = yM + inc1 - continue - } - let p: Point = Point(0, yM) - plotMarkers.yMarkers.append(p) - let text_p: Point = Point(-(renderer.getTextWidth(text: "\(ceil(scaleY*(yM-origin.y)))", textSize: plotMarkers.markerTextSize)+5), yM - 4) - plotMarkers.yMarkersTextLocation.append(text_p) - plotMarkers.yMarkersText.append("\(ceil(scaleY*(yM-origin.y)))") - yM = yM + inc1 - } - yM = origin.y - inc1 - while yM>0.0 { - let p: Point = Point(0, yM) - plotMarkers.yMarkers.append(p) - let text_p: Point = Point(-(renderer.getTextWidth(text: "\(floor(scaleY*(yM-origin.y)))", textSize: plotMarkers.markerTextSize)+5), yM - 4) - plotMarkers.yMarkersTextLocation.append(text_p) - plotMarkers.yMarkersText.append("\(floor(scaleY*(yM-origin.y)))") - yM = yM - inc1 - } - - for i in 0..= 0.0 && pt.y <= plotDimensions.graphHeight) { - series.scaledPoints.append(pt) - // } - } + for s in stackSeries { + let minStackY = getMinY(points: s.points) + let maxStackY = getMaxY(points: s.points) + + if (maxStackY>0) { + maximumY = maximumY + maxStackY + } + if (minStackY<0) { + minimumY = minimumY + minStackY + } + + } + + if minimumY>=0.0 { + origin = Point.zero + minimumY = 0.0 + } + else{ + origin = Point(0.0, (plotDimensions.graphHeight/(maximumY-minimumY))*(-minimumY)) + } + + let topScaleMargin: Float = (plotDimensions.subHeight - plotDimensions.graphHeight)/2.0 - 10.0; + scaleY = (maximumY - minimumY) / (plotDimensions.graphHeight - topScaleMargin); + + let nD1: Int = max(getNumberOfDigits(maximumY), getNumberOfDigits(minimumY)) + var v1: Float + if (nD1 > 1 && maximumY <= pow(Float(10), Float(nD1 - 1))) { + v1 = Float(pow(Float(10), Float(nD1 - 2))) + } else if (nD1 > 1) { + v1 = Float(pow(Float(10), Float(nD1 - 1))) + } else { + v1 = Float(pow(Float(10), Float(0))) + } + + let nY: Float = v1/scaleY + var inc1: Float = nY + if(plotDimensions.graphHeight/nY > MAX_DIV){ + inc1 = (plotDimensions.graphHeight/nY)*inc1/MAX_DIV + } + + var yM: Float = origin.y + while yM<=plotDimensions.graphHeight { + if(yM+inc1<0.0 || yM<0.0){ + yM = yM + inc1 + continue + } + let p: Point = Point(0, yM) + plotMarkers.yMarkers.append(p) + let text_p: Point = Point(-(renderer.getTextWidth(text: "\(ceil(scaleY*(yM-origin.y)))", textSize: plotMarkers.markerTextSize)+5), yM - 4) + plotMarkers.yMarkersTextLocation.append(text_p) + plotMarkers.yMarkersText.append("\(ceil(scaleY*(yM-origin.y)))") + yM = yM + inc1 + } + yM = origin.y - inc1 + while yM>0.0 { + let p: Point = Point(0, yM) + plotMarkers.yMarkers.append(p) + let text_p: Point = Point(-(renderer.getTextWidth(text: "\(floor(scaleY*(yM-origin.y)))", textSize: plotMarkers.markerTextSize)+5), yM - 4) + plotMarkers.yMarkersTextLocation.append(text_p) + plotMarkers.yMarkersText.append("\(floor(scaleY*(yM-origin.y)))") + yM = yM - inc1 + } + + for i in 0..= 0.0 && pt.y <= plotDimensions.graphHeight) { + series.scaledPoints.append(pt) + // } + } + for index in 0..= 0.0 && pt.y <= plotDimensions.graphHeight) { + stackSeries[index].scaledPoints.append(pt) + // } + } + } } else{ - var x: Float = getMaxX(points: pts) - if (x > maximumX) { - maximumX = x - } - x = getMinX(points: pts) - if (x < minimumX) { - minimumX = x - } - - if minimumX>=0.0 { - origin = Point.zero - minimumX = 0.0 - } - else{ - origin = Point((plotDimensions.graphWidth/(maximumX-minimumX))*(-minimumX), 0.0) - } - - let rightScaleMargin: Float = (plotDimensions.subWidth - plotDimensions.graphWidth)/2.0 - 10.0 - scaleX = (maximumX - minimumX) / (plotDimensions.graphWidth - rightScaleMargin) - - let nD1: Int = max(getNumberOfDigits(maximumX), getNumberOfDigits(minimumX)) - var v1: Float - if (nD1 > 1 && maximumX <= pow(Float(10), Float(nD1 - 1))) { - v1 = Float(pow(Float(10), Float(nD1 - 2))) - } else if (nD1 > 1) { - v1 = Float(pow(Float(10), Float(nD1 - 1))) - } else { - v1 = Float(pow(Float(10), Float(0))) - } - - let nX: Float = v1/scaleX - var inc1: Float = nX - if(plotDimensions.graphWidth/nX > MAX_DIV){ - inc1 = (plotDimensions.graphWidth/nX)*inc1/MAX_DIV - } - - var xM: Float = origin.x - while xM<=plotDimensions.graphWidth { - if(xM+inc1<0.0 || xM<0.0){ - xM = xM + inc1 - continue - } - let p: Point = Point(xM, 0) - plotMarkers.xMarkers.append(p) - let text_p: Point = Point(xM - (renderer.getTextWidth(text: "\(floor(scaleX*(xM-origin.x)))", textSize: plotMarkers.markerTextSize)/2.0) + 8, -15) - plotMarkers.xMarkersTextLocation.append(text_p) - plotMarkers.xMarkersText.append("\(ceil(scaleX*(xM-origin.x)))") - xM = xM + inc1 - } - xM = origin.x - inc1 - while xM>0.0 { - let p: Point = Point(xM, 0) - plotMarkers.xMarkers.append(p) - let text_p: Point = Point(xM - (renderer.getTextWidth(text: "\(floor(scaleX*(xM-origin.x)))", textSize: plotMarkers.markerTextSize)/2.0) + 8, -15) - plotMarkers.xMarkersTextLocation.append(text_p) - plotMarkers.xMarkersText.append("\(floor(scaleX*(xM-origin.x)))") - xM = xM - inc1 - } - - for i in 0..= 0.0 && pt.y <= plotDimensions.graphHeight) { - series.scaledPoints.append(pt) - // } - } + var x: Float = getMaxX(points: pts) + if (x > maximumX) { + maximumX = x + } + x = getMinX(points: pts) + if (x < minimumX) { + minimumX = x + } + + for s in stackSeries { + let minStackX = getMinX(points: s.points) + let maxStackX = getMaxX(points: s.points) + maximumX = maximumX + maxStackX + minimumX = minimumX - minStackX + } + + if minimumX>=0.0 { + origin = Point.zero + minimumX = 0.0 + } + else{ + origin = Point((plotDimensions.graphWidth/(maximumX-minimumX))*(-minimumX), 0.0) + } + + let rightScaleMargin: Float = (plotDimensions.subWidth - plotDimensions.graphWidth)/2.0 - 10.0 + scaleX = (maximumX - minimumX) / (plotDimensions.graphWidth - rightScaleMargin) + + let nD1: Int = max(getNumberOfDigits(maximumX), getNumberOfDigits(minimumX)) + var v1: Float + if (nD1 > 1 && maximumX <= pow(Float(10), Float(nD1 - 1))) { + v1 = Float(pow(Float(10), Float(nD1 - 2))) + } else if (nD1 > 1) { + v1 = Float(pow(Float(10), Float(nD1 - 1))) + } else { + v1 = Float(pow(Float(10), Float(0))) + } + + let nX: Float = v1/scaleX + var inc1: Float = nX + if(plotDimensions.graphWidth/nX > MAX_DIV){ + inc1 = (plotDimensions.graphWidth/nX)*inc1/MAX_DIV + } + + var xM: Float = origin.x + while xM<=plotDimensions.graphWidth { + if(xM+inc1<0.0 || xM<0.0){ + xM = xM + inc1 + continue + } + let p: Point = Point(xM, 0) + plotMarkers.xMarkers.append(p) + let text_p: Point = Point(xM - (renderer.getTextWidth(text: "\(floor(scaleX*(xM-origin.x)))", textSize: plotMarkers.markerTextSize)/2.0) + 8, -15) + plotMarkers.xMarkersTextLocation.append(text_p) + plotMarkers.xMarkersText.append("\(ceil(scaleX*(xM-origin.x)))") + xM = xM + inc1 + } + xM = origin.x - inc1 + while xM>0.0 { + let p: Point = Point(xM, 0) + plotMarkers.xMarkers.append(p) + let text_p: Point = Point(xM - (renderer.getTextWidth(text: "\(floor(scaleX*(xM-origin.x)))", textSize: plotMarkers.markerTextSize)/2.0) + 8, -15) + plotMarkers.xMarkersTextLocation.append(text_p) + plotMarkers.xMarkersText.append("\(floor(scaleX*(xM-origin.x)))") + xM = xM - inc1 + } + + for i in 0..= 0.0 && pt.y <= plotDimensions.graphHeight) { + series.scaledPoints.append(pt) + // } + } + for index in 0..= 0.0 && pt.y <= plotDimensions.graphHeight) { + stackSeries[index].scaledPoints.append(pt) + // } + } + } } } @@ -364,25 +418,89 @@ extension BarGraph { } func drawPlots(renderer: Renderer) { - if (graphOrientation == .vertical) { - for index in 0..= 0) { + currentHeightPositive = tL.y - bL.y + } + else { + currentHeightNegative = tL.y - bL.y + } + renderer.drawSolidRect(topLeftPoint: tL, topRightPoint: tR, bottomRightPoint: bR, bottomLeftPoint: bL, fillColor: series.color, hatchPattern: series.barGraphSeriesOptions.hatchPattern, isOriginShifted: true) + for s in stackSeries { + tL = Point(plotMarkers.xMarkers[index].x - Float(barWidth)/2.0 + Float(space)/2.0, s.scaledPoints[index].y) + bL = Point(plotMarkers.xMarkers[index].x - Float(barWidth)/2.0 + Float(space)/2.0, origin.y) + if (tL.y - bL.y >= 0) { + tL = Point(plotMarkers.xMarkers[index].x - Float(barWidth)/2.0 + Float(space)/2.0, s.scaledPoints[index].y + currentHeightPositive) + tR = Point(plotMarkers.xMarkers[index].x + Float(barWidth)/2.0 - Float(space)/2.0, s.scaledPoints[index].y + currentHeightPositive) + bL = Point(plotMarkers.xMarkers[index].x - Float(barWidth)/2.0 + Float(space)/2.0, origin.y + currentHeightPositive) + bR = Point(plotMarkers.xMarkers[index].x + Float(barWidth)/2.0 - Float(space)/2.0, origin.y + currentHeightPositive) + } + else { + tL = Point(plotMarkers.xMarkers[index].x - Float(barWidth)/2.0 + Float(space)/2.0, s.scaledPoints[index].y + currentHeightNegative) + tR = Point(plotMarkers.xMarkers[index].x + Float(barWidth)/2.0 - Float(space)/2.0, s.scaledPoints[index].y + currentHeightNegative) + bL = Point(plotMarkers.xMarkers[index].x - Float(barWidth)/2.0 + Float(space)/2.0, origin.y + currentHeightNegative) + bR = Point(plotMarkers.xMarkers[index].x + Float(barWidth)/2.0 - Float(space)/2.0, origin.y + currentHeightNegative) + } + let heightIncrement = tL.y - bL.y + if (heightIncrement >= 0) { + currentHeightPositive = currentHeightPositive + heightIncrement + } + else { + currentHeightNegative = currentHeightNegative + heightIncrement + } + renderer.drawSolidRect(topLeftPoint: tL, topRightPoint: tR, bottomRightPoint: bR, bottomLeftPoint: bL, fillColor: s.color, hatchPattern: s.barGraphSeriesOptions.hatchPattern, isOriginShifted: true) + } + } } - } - else { - for index in 0..= 0) { + currentWidthPositive = tR.x - tL.x + } + else { + currentWidthNegative = tR.x - tL.x + } + renderer.drawSolidRect(topLeftPoint: tL, topRightPoint: tR, bottomRightPoint: bR, bottomLeftPoint: bL, fillColor: series.color, hatchPattern: series.barGraphSeriesOptions.hatchPattern, isOriginShifted: true) + for s in stackSeries { + + tL = Point(origin.x, plotMarkers.yMarkers[index].y + Float(barWidth)/2.0 - Float(space)/2.0) + tR = Point(s.scaledPoints[index].x, plotMarkers.yMarkers[index].y + Float(barWidth)/2.0 - Float(space)/2.0) + if (tR.x - tL.x >= 0) { + tL = Point(origin.x + currentWidthPositive, plotMarkers.yMarkers[index].y + Float(barWidth)/2.0 - Float(space)/2.0) + tR = Point(s.scaledPoints[index].x + currentWidthPositive, plotMarkers.yMarkers[index].y + Float(barWidth)/2.0 - Float(space)/2.0) + bL = Point(origin.x + currentWidthPositive, plotMarkers.yMarkers[index].y - Float(barWidth)/2.0 + Float(space)/2.0) + bR = Point(s.scaledPoints[index].x + currentWidthPositive, plotMarkers.yMarkers[index].y - Float(barWidth)/2.0 + Float(space)/2.0) + } + else { + tL = Point(origin.x + currentWidthNegative, plotMarkers.yMarkers[index].y + Float(barWidth)/2.0 - Float(space)/2.0) + tR = Point(s.scaledPoints[index].x + currentWidthNegative, plotMarkers.yMarkers[index].y + Float(barWidth)/2.0 - Float(space)/2.0) + bL = Point(origin.x + currentWidthNegative, plotMarkers.yMarkers[index].y - Float(barWidth)/2.0 + Float(space)/2.0) + bR = Point(s.scaledPoints[index].x + currentWidthNegative, plotMarkers.yMarkers[index].y - Float(barWidth)/2.0 + Float(space)/2.0) + } + let widthIncrement = tR.x - tL.x + if (widthIncrement >= 0) { + currentWidthPositive = currentWidthPositive + widthIncrement + } + else { + currentWidthNegative = currentWidthNegative + widthIncrement + } + renderer.drawSolidRect(topLeftPoint: tL, topRightPoint: tR, bottomRightPoint: bR, bottomLeftPoint: bL, fillColor: s.color, hatchPattern: s.barGraphSeriesOptions.hatchPattern, isOriginShifted: true) + } + } } - } } diff --git a/run_examples.sh b/run_examples.sh index f916e8d0..f8292f61 100755 --- a/run_examples.sh +++ b/run_examples.sh @@ -15,3 +15,5 @@ swift run BarChartGridHatchedExample swift run BarChartCrossHatchedExample swift run BarChartHollowCircleHatchedExample swift run BarChartFilledCircleHatchedExample +swift run BarChartVerticalStackedExample +swift run BarChartHorizontalStackedExample From 4408282b1437b85ff22250c71b3781732961f9ef Mon Sep 17 00:00:00 2001 From: Karthik Ramesh Iyer Date: Thu, 6 Jun 2019 20:48:46 +0530 Subject: [PATCH 3/3] feat: Add legends to Bar Chart and update examples --- examples/Reference/agg/_08_bar_chart.png | Bin 11332 -> 11538 bytes .../_09_bar_chart_forward_slash_hatched.png | Bin 25208 -> 25744 bytes .../_10_bar_chart_backward_slash_hatched.png | Bin 32465 -> 33026 bytes .../agg/_11_bar_chart_vertical_hatched.png | Bin 15966 -> 16517 bytes .../agg/_12_bar_chart_horizontal_hatched.png | Bin 11806 -> 12001 bytes .../agg/_13_bar_chart_grid_hatched.png | Bin 12249 -> 12444 bytes .../agg/_14_bar_chart_cross_hatched.png | Bin 32363 -> 32911 bytes .../_15_bar_chart_hollow_circle_hatched.png | Bin 30233 -> 30785 bytes .../_16_bar_chart_filled_circle_hatched.png | Bin 25484 -> 26017 bytes .../agg/_17_bar_chart_vertical_stacked.png | Bin 18383 -> 19548 bytes .../agg/_18_bar_chart_horizontal_stacked.png | Bin 17486 -> 18743 bytes examples/Reference/svg/_08_bar_chart.svg | 3 + .../_09_bar_chart_forward_slash_hatched.svg | 3 + .../_10_bar_chart_backward_slash_hatched.svg | 3 + .../svg/_11_bar_chart_vertical_hatched.svg | 3 + .../svg/_12_bar_chart_horizontal_hatched.svg | 3 + .../svg/_13_bar_chart_grid_hatched.svg | 3 + .../svg/_14_bar_chart_cross_hatched.svg | 3 + .../_15_bar_chart_hollow_circle_hatched.svg | 3 + .../_16_bar_chart_filled_circle_hatched.svg | 3 + .../svg/_17_bar_chart_vertical_stacked.svg | 5 ++ .../svg/_18_bar_chart_horizontal_stacked.svg | 5 ++ framework/SwiftPlot/BarChart.swift | 55 +++++++++--------- 23 files changed, 65 insertions(+), 27 deletions(-) diff --git a/examples/Reference/agg/_08_bar_chart.png b/examples/Reference/agg/_08_bar_chart.png index c8011a5bde5ea51ecbe7a4091a4c426e51f3c2d4..84942e09632a7b15368d98ad1400447ffffbcec9 100644 GIT binary patch literal 11538 zcmeHNc|6o>+gB+-v7L`=0y$eSS|b8|xloIl;of zz;H-kPurA%VIQ7>VQ&KSzMYZm`N^T32hwFj^NVykeSLj>W@d&&BCW2jZftBUEiHZh z`c+$7d&iQQnfc0+}z^g z;*K6YnwXe~Kp>o*oevy1keQiz{`~n@uU@@<`*wPI`t|GAR#sM@KYtb!6jWDNcW`hR zA0OxAL13k%D^g9mTlzU}1X zl%Jpf;K766fB!u!EUc!chD;`(K7CqDOiWr@nwy)uwzgJNQ?snBOiN2kUS9stp+i|& zSxHGrhYuf~o11HDYPx&(?(*_76BCoNvhwB2mm?!1ySln!Vq!ji{P^k9Cnywp^XAR! z>S`nsdFj%nf&zw%7cbtqb7ygJabjXZLqlVGdpkZpUP?+zPEIZ=D$2~v%-r1E+uQs4 z_3KzHR#;fLxVU)#{{1a2EmyBzMWIl)ZrytF_{jII7 z4Gj$)9UY~mrG9>XrlzKbhK55!L!+aq<>lp1pFZW~<$dwuMPsAZ*w|P>K|ynKb4f|b z+S*!5N{XtgYIk>ceSQ6-M~@N`5^{2Ke0+S=)YR_XyO)}p%E-tV8X8(xS0^AKaOB7l zet!N_r%t)MySuo!T)1$dv$KCXM4^-N_ zvt0h?KbkuGb*sCdYFnN_W_mKrlH|#jw9pR;=(6T7xr$7pAF4h%3REycGSAxqB8SD8 zCUCgYwx*Ho#|f;f@J9p8IC37j$K!;!^jy7z!k5rt(RyWb8|mZZNX< zT4b%f+b@&rH1pPZ(2ow=f2G8h zBk!@AJBtR>%JBnO_`*jl_8v0u3X(^s3TV+Zb4jCmHj+~Vs1lmJ&yV#9?c}Sw0e1=(^%Roz6@d5@+Q9kOm|TPWY}$S(i0Ry&pbXbd^V&G#1^e(o;Cl ziC5wzy*6W3ey%7E@f%NE0SD37oYoK%@X-?K1&Ha#8I{+C13IKd{K-gYZxIJn5K=pi zEDe;wZd~S9^sy$?%KLP0Nwr@jwCj3+dlHx_)P|-lW6IIT?9*;}GhB-0BjW^g%*CW=Oe-?;owz|(oAeujMSutN!mBCelDq* z1_G~c=uka>Bkju=|MWZr-Z@O^Iu%kyqpau-i9K1*z(A^{b67-N+CEjB3=e z_W0TMy84)}?NZN9JH@(CF27`~xSFUiqXDVG!yg^=)U(A~%n^KyuMe2_z`);o{4+3~ zq4l(K&W=VJJqM|Sk8Mb{4BI|D@c{edd*p5zszqIA{P0kAQ^t`~a9`_mOUlKEY}|kA zWXpD&4Psm8YS;rln8@A2O1mfyP+Vxas79V+*%?r3{_UP~oJJx#)^`n`y9lS43l%2V z@q}7MDj#i}!q%8KW}o&&(k(MRv+eCa-!lEM+K61GO5&C}M*B#$8;%@L41sc558E#k z0#Z*lI|%lnH^V+zF1Zk{H=okLhs3aO0D`<=t0y$WnKeNg_{$pjQ_TDl%m~IDt^GO4 zg3w|?(yEnN<6&iU^K&GkW2I6Z?lJ7%y7mK(oe^OYcvjMutzRrHARHKYyI8Gyy9cjF zcszIIIgn}s|{@@v-;$VQM91maY#GCvO;g$b$?(wf#@6SsYAm%)R_oqx;lRmd7q3@ER1-YHM`jDQF<;-w4T ztbNuf)@e2l9>RV%5kSQ+)LKo@6c;;dEmZaJ9A=xC8xY&guPWi=)nu|ed|fa{%TQhu z)aO^?w}@CAqvZ~V3@)lM%4s;)wtM!Jh!Gl}4P@T!)og<^n{B;qGn(8*TC-AU$_hh#$YL_ip{Q|4w zQTBTYt^30WrD zu@|K@ktbjonOj2clcKN0h&PUx{VYK?pqmz20nT%xG=26NA*Dg)u{M@2yU%j2A zN=(;LMHR=&Dj{*yoDXcCS3rw0y)OJt1%W}Xr*_a*Ve*jR-_kVFwSpWKIO~x6o)=T(nOtf zSv48}E2#mvOuOafvH9j%85m=fUSUaHUT038w%k<|zZ*OMso!2oEIWJRPsbTveW07B zrTg?wNuOuFu9iQ-y=wt` zi*rOW6#}A|0qa8r7fuVLsL2Saj@c*g&GEfOX^!}MKh~NhWb)D6KH>kZu|BzHF;HEl z)7GZolqu*>i2NS3t9ZAW2K~u9o%|tM|rHTSn%pe6O z9i4?7QRiweUFrXXir6_>}C*i2Uz>US~epb%-QkbslNW*q@ z;%|EV5B@fx{_k4gpUD52rS`w#dBe|lV(1L)xYELD7F+#mrtH@!dvN<0!=xs&RpE#oh}#ZU5sb+L7sG9?gaJ zkl^8hM^V4ozt8FOD9}6*;=M5cq)Go{k5zzVo(W(g+$F8*3*CUul_Hk1l9|Ay5sbTa5Jpj72`58}psoi; z4Ixy6QYWH^RDi^dHry(CYUDNmp|BgwkBwU0o%yUTSdQuqdF^TMfAcM3b9-QbG=)n8 zlX`c9Im(jyGklU%h-Atjq{)A3bnXGMy%VSa3|jYozvc}qums-yfu+EMwM+K%~66K@=-GYe(e2xKLuFrs8vwL;qe;|MPA1590sD z;{1Qe>i)2A2i7&at2|*u6T99eRLAE%Aam7+GBYS~Kn=LZaW`MVo7kso`DW>N)bGf)B!q$xT2clOK%B6*4e+ zLzPKjKpk3GHGlKU(mgioOisI|(?UNJylq;`8Bg7L zd7D*M1h)QH52?zcdjz9!P-g{HIZT>018xbd5{(DsU%(2A-4i&%M*-}->d1Y3Q>eFwkI+cwJnk_D|1=D;h#{Y8y~ z{?I@l1G2m<)NQx=(}$>)s60!s{0dqn%=gn;pXJ?k55%1)%r%68a71?RL4+Pj=t8uS&ml{dv?Jf9)74R{*>nw+fbfz?@ z=l~6Ieyt^F#ssYk-wHnv6WFL)(3xhBfAdq>`m(NcP^X3uC{uu&geT9;n9G(GZ4WoV z$+uc!R(eP4erM({fB8I(W4HfIwXzyMd%y!c(9yLOOR7d7^#w7-eCVX1fpu0sB}Iq~ zG@9!Ji-$=c+SM{6$H#CvGswhk<}(wQWyj*&oH!Dj1yu6&_BAj=;`v_-7I+@1EhPQU z%H$;dG{;qIw?B8<=g3mtTDQdVB5=F764k7W7_aj#>Y===Em&|zVZ3&g$dMzFt4Atk z2K|e3=!$kf70BaXzx4YhVIa4<#LlZ3jorwOc=7(N+SsxTtQ8UZ)8f+90$s0jcXR86 zC&sk?SVB4Sq~Cbfxe~ijKgLcfl1kqHc-%2@aFPK2-2JZjT9b;vb3c|(EO-3@=!(*A z)|^^{4~^Btpfxr@m=}g>cK8#Rw%L&H((AHW?^E7P-&HCi$Mu3(){$KiWTA)f)1JEv zSvahGPe!2eZkstDq9%2H)cr~4=RE$mRe?Wk79TN1)SAJy$K3UjyYS{=;{(-`$NE@* zrO#kij5dDvyueS+U6{UQv{=(xuzq#lFTIB#`Y*lSQ}W9mJFEX1pabKycvEG- zL+uAOfW(}2>gHFOe}$JVc!d!B#VqZoec@Z-{I-7;{vIQrJ=K2jd*A)RcHl2;$AEre zn>h0e+fBc)jZXfB?G2Bg+5QJK{_m!D1yn<~tJwA{C~i5u-QrxwA1bSG+$A&-)!L;# z%qVkGtZcM!0sTFXlLDeNXJ#I}9M> zZ7nZl$_MQ`v&~%_%rk|rSOp=m+*4hN0{(v;)=#koHBwgG@qnxhfm+M(@f4e^n=fGJ z>A#bPCP{A0?CO0#_+{eG6aVn_GPVqu4XuR54~LONnWQU1qOg zFpxl%R!2zLx`n+e5xY&@ifz4?#RDce|Aa+eGDCw9GOcKIlQMOra;k6LBqq5jn237{ z@y8GED!4-^uxmLJC_vqQHfOskT!Hi&k(0Dbb5N%{I zEc#p;Ab9uanWZ}u7hVksPUrO~K6t}vtn?W%^>)2`lPg|)b}S9J6}#WR@@;p`Ku{g> zrL%5!ZQRxdt|O?Xdbx#abWvq5B6 z5aD%VXX@5HS8VuJTBJ9lKkwUENY|LtjRm!_3G=EvU3@nZG6=H;Agw|B5X2u7T6je! zb%;4rpl4%p(zP*z8z@s_gB%yTYcU3Ocf=MjL6Y|~U<`SwR zjU`ezMju~sr4+n$lXw)yk_XRq(+|Zk=fWcuM2xDXynW-iem|iyAW`Ge%k6Zsf%!Vh z;fNPDMRNIB!)$2)pV>y|S$DGba}K&;VNw>+_ND1ZM1=lG=nig8xT1OT zY!*CMG1VlX@{(&u5sBZ`}dIU>!{;`vFUUbEL7h3&RlimMzzpje5p2#+)xOa zRyxg`9iB(|QXv2?Mc|_NVKZfd&1Z2hg6l+?We)v8_nyK>u9Pn?1e?#@H&SO~$kO!D z5?B7phIcQ1a>rqA{2||TbCqX1lV(gRN=oU^k6Z3F@GTQdT0EN+y8}~`f1AFdYYQ7v z&ahwM8&5X1@`5;?2@h20OCOJsUw}dsjwxx!n9q$bZhpECN>?#?Z<*jFjIha913$2j zGok3vfaBaN^EO@H?6&Ku31p!5y1Rmh-q;ge9GSY-pQeBxcVqGRz?#)PfEe+72{MX) zbB~An=)n+e%{_6g+T!YYN`ZX!a4#Y~ny>fOdr3XrFp8<-StXR2hn|fN z&&5Gew^Y7#c-IJAwtBwUFg_(?)PmfqGRGUV!pGVVmUq8>H(+u!e|z4d?aX%6a{s;AuiHv_t0=`AUKPi^*dN^Q5o=f0A0Xl_FJ{mNx*p%Bx*`L<6`Xm)~#x7l;y zlf_l@l3_3Stx4X68?8teMN=;bi=a#9GptDisM9?KDh^0B~Qd?@TI@Dp3 z45yxXTyMEg#zDDO66l`dJ4ZLrZ;4P=2^N_=M41MWg$5yXQou2KKSKJUvu|XySku$w z0+qdr(SdPOwvx{Y!IcKI%_GERzJoO48dul+IM;=9BT+pd5-(a;zGT)GcvQc_Y+}&} zh2){UPPu5}TQ>}no2Uq|X1IbsAuwWkS1p|-+TT*7%eSI@*(pp{@5*c+kK8V^U^J+i#a?a9vPEK8G+J2TAu(Yfc;a}PT@s2)mS74)ELSx%dJ;Lso> z^j-QEt{4X69(r)Q3a?Z$l^MQMGMk{Cb;}_aZ}*pcuv9lbx!86su_x+_&jVWgEP9a2 zVlTJJ5ZI;lRtBMgY9$M!Zd~(5d%>xJFIelha7&Rd)L{?rXuY8J+fyp8ULdxAqr$%o cJ(LDA+-m6Tz6QGR;oFq{MPu!9&0CNE3;giTU;qFB literal 11332 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 diff --git a/examples/Reference/agg/_09_bar_chart_forward_slash_hatched.png b/examples/Reference/agg/_09_bar_chart_forward_slash_hatched.png index 97fa13594a9926df49f93e6376f13dc4512fda3f..3aacf333bddf66f5cc058bc3bed5503fa43ed53a 100644 GIT binary patch delta 17114 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 literal 32465 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 CeK;%t diff --git a/examples/Reference/agg/_11_bar_chart_vertical_hatched.png b/examples/Reference/agg/_11_bar_chart_vertical_hatched.png index 1b7695a38dda5cfec9fb5a82a74c0cc02a68c400..ddc5a2b895eb5ecd2c9b79cb702462a98c12680d 100644 GIT binary patch delta 11521 zcmb_?cT|(<)^CteR1hpQMZk_q6=~9#lSExOaWC7NdqY&-;|U_pj_{&@cEA!^@L9F5fIT&A^N> zw-nNNWN1~mHEQv>P?k!Kp9>zv9d69>;&nUHIPZLET7LCtDMi5SHPhn$KkCxHe4^Qe z9cz8`h`b%mmnf9B{!?D~g#~i~W5&y$=+4!- zKJ#ra_}t{*pQBKL_QyTop_js6SmBSt;BE$EPu#}u`0hO@)U((K-cQ8Njt=*Qq0dW| zI2^8|WF^MP@$HAY2tI{MhrUuzqQCU2Fav5m(Qh^|oAl`sVo~dDXJ=cxu|b~T_nCah z#OIZAS13k3{l$wH@Vx(OkM&fg*4YG^hbIy>*M~_1RqZV`H8qG{WRmk_+q=%r&MH!+ z;3{?p>XX+-H-nBDAxWX$?1G6g&d>YvvlbVuX$KjEt&WCt7JVT1-sL zN!1rZCY5gEP0>y@E1g9IMG9BLll^8y7F1y9IAYGE6$)!LD|jO^Ju_2PRb^*qM@U9v z0^HXZhG7htxBcew)YRywPnUgtDL>P1#0nd&cIab-4U5luzeyd?AyHad8rc|+&DG0O z7bxI?gY1LN$f)e>{7LLZ+BKx3)zk4wWo2df&FNhJfc4>%5%No8QJS24gWY62N&T=F z)r((w5P#bCi!f>~3WbQ7D#8mzW1FdjtcPUFG_x)Slve2f5vUMp$Bh0C!sZ6ntp49E z@e#aodZt(mo;Do9FM{>;@mZZGqGe>t{Wg|L?7GgVMY4*TR+oFu50XeEgCeW+crIbX zQ7nC!{8MY(c4?(j*gDGxjF0B1n-eh0oJ23&g2$pjDK%qlt5o^?@u=C zmbjIrW>Nf7lVH4*LtOvRDK)cgD->!=8}g+~k3WBTg1oVG0w#*&=NXkj6nFmmW#3ac zzS4!!3^{r7!hj4Np8r-|P5+~* zwK^x?m2^{7q2h$e=%UCEk3dJrlc?DCaqnIC!h1jQl%qlP&5v zzg&uvySw|!$_jq)crp>z^f`zrJ}yp0MJ0c5buU zXHtJfK|_0{CgJVH%z}afSekt|kw|Q76C>4`6?lz&2`y-N^ypD#W#y93a8|eUF4R4B zsF&y6mM4G2n)+l{66kAT~uAhu-33 zgyvoMWS@qH##D8BdU{!zbRxtO96N+(^csGBBz!9APPT-+d;-p-&_Yf2C^vWcJdUCW zK@0QWrmi8&KU7;FMa|M)O0k)7FopP{wQ!8~JM7lEZ$r)CyzA{`WaK z)7xbD%@>Y;z~(=47&h!5AVK~UNl>WErT_QL|Br9|&wUB`-)Q*XC-^`2s{i^XFggSD~ux7sSLM!OARYRvuw<{*=_zT7R!Eij9FoAY>%qY`s0?lL(4wGe2Rn#@76ks zFC4-S?CmHv&P(XMKNwJcwru<~Pe;DP-iS%TNV}8IW}bqB{nm`!ke%*RR@BgqD*q}6 zN2o5;6#^Pf&B!G7wtxMK$1&pcq6i%F$TnB{9a|rt%~5}EgMi|v{5w#WKPb6nyh0$ePRlp3?$I;5x#OKTc@JNXXU|$4>H$VvgGdUys*AF zIzdPlC4{i@PLoKE4<4K+O+nVn$e`s!IHnO=gGrrN9D5v`3Xoc6J+43+7 zH5A0oyI`x02XMMXsg1zvwe6l(pLGLz6?cXxM%>%^@@SxMxQq9U!&3EwgxVp3VW)!Wvl z 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 E0-q8_ApigX delta 10718 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

naRokOT83MvK4aVL{wSS_WY9v zRt5EI0i!4ABFtw7ndK-But{kAM|0%5{&dKdxZ;A*$1F9M_+FLs*gPxP0sH+z$I$U` bdv6{v(J4+zTg^1tozcJWc6K&3-Bnjt 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 PtpUT+=X8s8u7>>=PHny( diff --git a/examples/Reference/agg/_13_bar_chart_grid_hatched.png b/examples/Reference/agg/_13_bar_chart_grid_hatched.png index 7997ec3b8ba727351783717265355c10e6edfbfb..d948f040a363120f41201bf5d81e5e6a6007b907 100644 GIT binary patch delta 7801 zcmeHrdpwhk-+y;hDlFxg!%!kBi3qioLzH8rDd$v@!^-)%tCK@Hj7BPlHIj-phbV{H zEin?CkPwSulXJ${Y|t*vcYS=ogP7ho`0b8~ZVZ*O;Z_u$~*(W6JNUcH)< zlG5JZURhabV`DQrI~x=f^!DxB&!3;ZdGqx0<;!*l>{fYudnY9&MMOk2HZ}$X1QZq) zhKGk+T3UYm__4C`9)rOsE-t=x>sDW1--8Da0Kh0eKYwy^5|zJtyS9LUfP#X8yu3UZ z4EFc;7ZMV>bm`LJ!-tVbq@0|bj*d=naImzrw3(S%NlD4=+xDfUr6^GWX`yh9mp4|e z+6^n)BTypowSuoKN03&|IYLpKFRam<>MY%0@t*p1&`J_ zJG!5Y|G2SL$0czjXIG%_`yJV?jg6Po{dyvKC&uNN6R~8!z0Gq)UI0|e3wM7qb-sFW zUvZrk*gtkv#YsgRG}M^p_%{wIMIq8PUVk zLQ_#v)9~lgA7|_>NSTmZq<*51JhltMpy~nYdF%XBoCaJMOpW5S%R%@n>;w`8Kce1) zwj$ki+a7el9!V~I0r5e<+6O>vAX@Bc*iBJQA^d7g{YE3)VfxH*A42KRDUy;eISL?PmoUXZBY=iB z=J=R$d-tl8`kxKE63mCJIJiMclMe}KqD{c9*3{*)U@q;{G_iezaNJYK?lJl~lg!(w zXY8JisJJe9vSIp3|{!lDO~(}ngc7#@XI(Ky&D4qWnk z`Q_xG5R)SH{y=(0Xh&S;f6Hqn)W3}ce9ubhZK>@_AO21--Arlt-(>TDF2TQqa)>Y8 zCH_x-BPWEySCRq#p3VQV+WT3HnfTJs)WXD}8SkU-1b4aah)If3Qa#uSK`H#t@u!gF zkz)eeUQ>&&P#Zl|iSup>-{J@%doSa%<)qpKP${B@C|}Tepk6jVOqCcj_b20;*q|6R zG$yAI**q~#^Zkm$1>8zZ_~Ee43`~H$np*mdZ`c<4&Kg@Ws>(_*qe&5ja?>QgOlCr19ADCy9vL5bGR5sVL_?3&GAFN0$>vy!7CbsD;^%m1%=ubqMRWX65JNW9b{FOhnFv1Vw#n86l{r4Okas6jNx&=1e`tv?>XDceN`UH z%wKpF=s)+RRb!I6ui;|dZG5euo1EiBZoo_XHm>))~TW};eE7nigAit`ywQr>rJ zh=wJXF-kt^R#%4&EgLEXZEvgO}>@A!`Dh4}dIDGs2Q65@

    =M%ky+U`F!gqszun4kGUQ^b9CoG^OeDa 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 E0QdiNYybcN diff --git a/examples/Reference/agg/_14_bar_chart_cross_hatched.png b/examples/Reference/agg/_14_bar_chart_cross_hatched.png index 18e4d162af17b3cc3edbfb5e0a859ed3c0cde96a..6029495bfa0bc27e6dbc5a503e699eda7ebfab0c 100644 GIT binary patch delta 21325 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 delta 20364 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 TTdejH>puDZ2giR1j=%H|R;XU% diff --git a/examples/Reference/agg/_16_bar_chart_filled_circle_hatched.png b/examples/Reference/agg/_16_bar_chart_filled_circle_hatched.png index e2c01d4a6c76d18dfd89b39c49d9ba1e0dde6871..2d530c60f8efab80dc0db1138bf4c616116ee471 100644 GIT binary patch delta 19288 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 delta 18237 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 diff --git a/examples/Reference/agg/_17_bar_chart_vertical_stacked.png b/examples/Reference/agg/_17_bar_chart_vertical_stacked.png index df43c2d803ae2c2b6c53ee72a8ef39fcdb9ccb4a..b01d5d151bb6ca3e35bbbc5bde030061c1f51eba 100644 GIT binary patch delta 15036 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 diff --git a/examples/Reference/agg/_18_bar_chart_horizontal_stacked.png b/examples/Reference/agg/_18_bar_chart_horizontal_stacked.png index b1d0cf36703b0495eab37070828aa284a133876b..4f1bf99dbb093ee3bdd7a59c2f7fdf0a95b44e86 100644 GIT binary patch delta 14199 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 ZB9O#qI`-gH0k+-XiG;j(=0m;L{{v}J2%i7| delta 12908 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 P4Y@C;Dw}=B^x6Lb+x9^I diff --git a/examples/Reference/svg/_08_bar_chart.svg b/examples/Reference/svg/_08_bar_chart.svg index 823abd0e..2f721fe5 100644 --- a/examples/Reference/svg/_08_bar_chart.svg +++ b/examples/Reference/svg/_08_bar_chart.svg @@ -30,4 +30,7 @@ BAR CHART X-Axis Y-Axis + + +Plot 1 \ No newline at end of file diff --git a/examples/Reference/svg/_09_bar_chart_forward_slash_hatched.svg b/examples/Reference/svg/_09_bar_chart_forward_slash_hatched.svg index 8beb0ca4..1d15b400 100644 --- a/examples/Reference/svg/_09_bar_chart_forward_slash_hatched.svg +++ b/examples/Reference/svg/_09_bar_chart_forward_slash_hatched.svg @@ -30,4 +30,7 @@ HATCHED BAR CHART X-Axis Y-Axis + + +Plot 1 \ No newline at end of file diff --git a/examples/Reference/svg/_10_bar_chart_backward_slash_hatched.svg b/examples/Reference/svg/_10_bar_chart_backward_slash_hatched.svg index 96be771b..ce6f5496 100644 --- a/examples/Reference/svg/_10_bar_chart_backward_slash_hatched.svg +++ b/examples/Reference/svg/_10_bar_chart_backward_slash_hatched.svg @@ -30,4 +30,7 @@ HATCHED BAR CHART X-Axis Y-Axis + + +Plot 1 \ No newline at end of file diff --git a/examples/Reference/svg/_11_bar_chart_vertical_hatched.svg b/examples/Reference/svg/_11_bar_chart_vertical_hatched.svg index a04071e9..8ad1e4c1 100644 --- a/examples/Reference/svg/_11_bar_chart_vertical_hatched.svg +++ b/examples/Reference/svg/_11_bar_chart_vertical_hatched.svg @@ -30,4 +30,7 @@ HATCHED BAR CHART X-Axis Y-Axis + + +Plot 1 \ No newline at end of file diff --git a/examples/Reference/svg/_12_bar_chart_horizontal_hatched.svg b/examples/Reference/svg/_12_bar_chart_horizontal_hatched.svg index 432e4adc..137e4551 100644 --- a/examples/Reference/svg/_12_bar_chart_horizontal_hatched.svg +++ b/examples/Reference/svg/_12_bar_chart_horizontal_hatched.svg @@ -30,4 +30,7 @@ HATCHED BAR CHART X-Axis Y-Axis + + +Plot 1 \ No newline at end of file diff --git a/examples/Reference/svg/_13_bar_chart_grid_hatched.svg b/examples/Reference/svg/_13_bar_chart_grid_hatched.svg index 0054d556..77ff4987 100644 --- a/examples/Reference/svg/_13_bar_chart_grid_hatched.svg +++ b/examples/Reference/svg/_13_bar_chart_grid_hatched.svg @@ -30,4 +30,7 @@ HATCHED BAR CHART X-Axis Y-Axis + + +Plot 1 \ No newline at end of file diff --git a/examples/Reference/svg/_14_bar_chart_cross_hatched.svg b/examples/Reference/svg/_14_bar_chart_cross_hatched.svg index 9d5cc342..99ba23e5 100644 --- a/examples/Reference/svg/_14_bar_chart_cross_hatched.svg +++ b/examples/Reference/svg/_14_bar_chart_cross_hatched.svg @@ -30,4 +30,7 @@ HATCHED BAR CHART X-Axis Y-Axis + + +Plot 1 \ No newline at end of file diff --git a/examples/Reference/svg/_15_bar_chart_hollow_circle_hatched.svg b/examples/Reference/svg/_15_bar_chart_hollow_circle_hatched.svg index 23eb183c..4f377e70 100644 --- a/examples/Reference/svg/_15_bar_chart_hollow_circle_hatched.svg +++ b/examples/Reference/svg/_15_bar_chart_hollow_circle_hatched.svg @@ -30,4 +30,7 @@ HATCHED BAR CHART X-Axis Y-Axis + + +Plot 1 \ No newline at end of file diff --git a/examples/Reference/svg/_16_bar_chart_filled_circle_hatched.svg b/examples/Reference/svg/_16_bar_chart_filled_circle_hatched.svg index fe2d18bd..fa4a7341 100644 --- a/examples/Reference/svg/_16_bar_chart_filled_circle_hatched.svg +++ b/examples/Reference/svg/_16_bar_chart_filled_circle_hatched.svg @@ -30,4 +30,7 @@ HATCHED BAR CHART X-Axis Y-Axis + + +Plot 1 \ No newline at end of file diff --git a/examples/Reference/svg/_17_bar_chart_vertical_stacked.svg b/examples/Reference/svg/_17_bar_chart_vertical_stacked.svg index 2b9d5dab..c51eb7a8 100644 --- a/examples/Reference/svg/_17_bar_chart_vertical_stacked.svg +++ b/examples/Reference/svg/_17_bar_chart_vertical_stacked.svg @@ -40,4 +40,9 @@ BAR CHART X-Axis Y-Axis + + +Plot 1 + +Plot 2 \ No newline at end of file diff --git a/examples/Reference/svg/_18_bar_chart_horizontal_stacked.svg b/examples/Reference/svg/_18_bar_chart_horizontal_stacked.svg index 84ed8e24..abaa607a 100644 --- a/examples/Reference/svg/_18_bar_chart_horizontal_stacked.svg +++ b/examples/Reference/svg/_18_bar_chart_horizontal_stacked.svg @@ -42,4 +42,9 @@ BAR CHART X-Axis Y-Axis + + +Plot 1 + +Plot 2 \ No newline at end of file diff --git a/framework/SwiftPlot/BarChart.swift b/framework/SwiftPlot/BarChart.swift index 1f8ea716..3c710f3d 100644 --- a/framework/SwiftPlot/BarChart.swift +++ b/framework/SwiftPlot/BarChart.swift @@ -514,33 +514,34 @@ extension BarGraph { } func drawLegends(renderer: Renderer) { - // var maxWidth: Float = 0 - // for s in series { - // let w = renderer.getTextWidth(text: s.label, textSize: plotLegend.legendTextSize) - // if (w > maxWidth) { - // maxWidth = w - // } - // } - // - // plotLegend.legendWidth = maxWidth + 3.5*plotLegend.legendTextSize - // plotLegend.legendHeight = (Float(series.count)*2.0 + 1.0)*plotLegend.legendTextSize - // - // let p1: Point = Point(plotLegend.legendTopLeft.x, plotLegend.legendTopLeft.y) - // let p2: Point = Point(plotLegend.legendTopLeft.x + plotLegend.legendWidth, plotLegend.legendTopLeft.y) - // let p3: Point = Point(plotLegend.legendTopLeft.x + plotLegend.legendWidth, plotLegend.legendTopLeft.y - plotLegend.legendHeight) - // let p4: Point = Point(plotLegend.legendTopLeft.x, plotLegend.legendTopLeft.y - plotLegend.legendHeight) - // - // renderer.drawSolidRectWithBorder(topLeftPoint: p1, topRightPoint: p2, bottomRightPoint: p3, bottomLeftPoint: p4, strokeWidth: plotBorder.borderThickness, fillColor: Color.transluscentWhite, borderColor: Color.black) - // - // for i in 0.. maxWidth) { + maxWidth = w + } + } + plotLegend.legendWidth = maxWidth + 3.5*plotLegend.legendTextSize + plotLegend.legendHeight = (Float(stackSeries.count + 1)*2.0 + 1.0)*plotLegend.legendTextSize + + let p1: Point = Point(plotLegend.legendTopLeft.x, plotLegend.legendTopLeft.y) + let p2: Point = Point(plotLegend.legendTopLeft.x + plotLegend.legendWidth, plotLegend.legendTopLeft.y) + let p3: Point = Point(plotLegend.legendTopLeft.x + plotLegend.legendWidth, plotLegend.legendTopLeft.y - plotLegend.legendHeight) + let p4: Point = Point(plotLegend.legendTopLeft.x, plotLegend.legendTopLeft.y - plotLegend.legendHeight) + + renderer.drawSolidRectWithBorder(topLeftPoint: p1, topRightPoint: p2, bottomRightPoint: p3, bottomLeftPoint: p4, strokeWidth: plotBorder.borderThickness, fillColor: Color.transluscentWhite, borderColor: Color.black, isOriginShifted: false) + + for i in 0..