Allow stacking data sets in Line Chart
KarthikRIyer opened this issue · 28 comments
A stack plot is similar to a Line Plot, the difference being that the data sets are stacked over one another. A simple example can be found here.
This task will require you to implement the following:
- Add functions to atleast two from the three renderers (AGG/SVG/CoreGraphics) to allow drawing of solid polygons.
- Add the capability to allow stacking of data sets in Line Chart.
Hi, I'm interested in working on this.
@boronhub that's great! You should claim the task on the GCI website and also state there that you're interested in working on this issue. If you have any other questions, feel free to ask.
One of my other tasks still hasn't been reviewed, so I can't claim it yet. Can I still start work on this so as to familiarize myself with SwiftPlot ?
@boronhub sure!
Is there a Google Group or an IRC where we can discuss this ?
There is a Google Group for Swift for TensorFlow, but I prefer we discuss it here in GitHub issues.
The changes have to be made in LineChart.swift, right ?
@boronhub yes. You need to make changes in LineChart.swift.
You can create a file LineChartSeriesOptions.swift similar to HistogramSeriesOptions.swift. Using that you can decide if you want the plot to be stacked or not.
@karwa do you have any suggestions regarding this?
Not particularly - just to follow the example set by BarGraph
when it comes to stacking.
Matplotlib calls this a stackplot
and has this as a separate kind of chart. I think that would probably also make sense for us, rather than combining it with the line chart (for example, you can't have multiple series on a line chart if the some of the series also have stacks and are filled underneath).
I agree. @boronhub you could make a new chart type. I think you should be able to lift most of the code from line chart and make the required changes to get it working.
The example notebook isn't working in Jupyter.
It's saying Line magic command '%install' not found.
@boronhub the example notebook isn't updated. Are you using swift-jupyter, or colab?
colab
Plotting on colab won't work at the moment. There's some problem in that. But you can use swift-jupyter. The notebook example hasn't been updated. You can copy the code from the example in the docs.
@boronhub are you still working on this? I got swiftplot on Linux working if using the notebook is giving you difficulty.
My VM keeps crashing so im trying to build swift on Windows. I got the notebook working, but %install still isn't working.
@boronhub you can try using the Linux Subsystem for Windows. So you won't need a VM to use Linux. Check this out: https://docs.microsoft.com/en-us/windows/wsl/install-win10
But you won't be able to use swift-jupyter or any GUI based applications, but you'll be able to work on SwiftPlot and won't need to build swift.
Yeah , I tried WSL as well but to no avail.
I'll figure it out soon
Alright, best of luck!
error: could not build C module 'CoreFoundation'
can't seem to get over this, any suggestions ?
@boronhub where are you getting this error? Could you provide more details?
upon executing
%install-swiftpm-flags -Xcc -isystem/usr/include/freetype2 -Xswiftc -lfreetype
%install '.package(url: "https://github.com/IBM-Swift/BlueCryptor.git", from: "1.0.28")' Cryptor
%install '.package(url: "https://github.com/KarthikRIyer/swiftplot", .branch("master"))' SwiftPlot AGGRenderer
in a jupyter notebook (used WSL)
@boronhub I haven't seen this error before and am having trouble using jupyter notebook in WSL. But you do not need jupyter to work on swiftplot. You can still use the command line.
Is there any documentation for this?
Try installing swift on ubuntu linux here: https://itsfoss.com/use-swift-linux (use the most recent swift version files)
@boronhub - Looks like you are opening in python notebook, %install etc. will not work in Jupyter. I tried installing packages through Anaconda and Python and was not successful.
Alternatively, you can use the route mentioned by @WilliamHYZhang ...It is working!
Also, I tried using Docker image https://github.com/apple/swift-docker. It works as well, but requires some minor tweaks.