Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow stacking data sets in Line Chart #41

Open
KarthikRIyer opened this issue Nov 25, 2019 · 28 comments
Open

Allow stacking data sets in Line Chart #41

KarthikRIyer opened this issue Nov 25, 2019 · 28 comments

Comments

@KarthikRIyer
Copy link
Owner

KarthikRIyer commented Nov 25, 2019

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.
@boronhub
Copy link
Contributor

Hi, I'm interested in working on this.

@KarthikRIyer
Copy link
Owner Author

KarthikRIyer commented Dec 10, 2019

@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.

@boronhub
Copy link
Contributor

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 ?

@KarthikRIyer
Copy link
Owner Author

@boronhub sure!

@boronhub
Copy link
Contributor

Is there a Google Group or an IRC where we can discuss this ?

@KarthikRIyer
Copy link
Owner Author

There is a Google Group for Swift for TensorFlow, but I prefer we discuss it here in GitHub issues.

@boronhub
Copy link
Contributor

The changes have to be made in LineChart.swift, right ?

@KarthikRIyer
Copy link
Owner Author

@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.

@KarthikRIyer
Copy link
Owner Author

@karwa do you have any suggestions regarding this?

@karwa
Copy link
Contributor

karwa commented Dec 10, 2019

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).

@KarthikRIyer
Copy link
Owner Author

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.

@boronhub
Copy link
Contributor

The example notebook isn't working in Jupyter.
It's saying Line magic command '%install' not found.

@KarthikRIyer
Copy link
Owner Author

@boronhub the example notebook isn't updated. Are you using swift-jupyter, or colab?

@boronhub
Copy link
Contributor

colab

@KarthikRIyer
Copy link
Owner Author

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.

@WilliamHYZhang
Copy link
Contributor

@boronhub are you still working on this? I got swiftplot on Linux working if using the notebook is giving you difficulty.

@boronhub
Copy link
Contributor

My VM keeps crashing so im trying to build swift on Windows. I got the notebook working, but %install still isn't working.

@KarthikRIyer
Copy link
Owner Author

@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.

@boronhub
Copy link
Contributor

Yeah , I tried WSL as well but to no avail.

@boronhub
Copy link
Contributor

I'll figure it out soon

@WilliamHYZhang
Copy link
Contributor

Alright, best of luck!

@boronhub
Copy link
Contributor

error: could not build C module 'CoreFoundation'

can't seem to get over this, any suggestions ?

@KarthikRIyer
Copy link
Owner Author

@boronhub where are you getting this error? Could you provide more details?

@boronhub
Copy link
Contributor

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)

@KarthikRIyer
Copy link
Owner Author

@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.

@boronhub
Copy link
Contributor

Is there any documentation for this?

@WilliamHYZhang
Copy link
Contributor

Try installing swift on ubuntu linux here: https://itsfoss.com/use-swift-linux (use the most recent swift version files)

@anigasan
Copy link
Contributor

@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.

@KarthikRIyer KarthikRIyer removed the GCI label Apr 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants