Code Monkey home page Code Monkey logo

ggpy's Introduction

ggplot

What is it?

ggplot is a Python implementation of the grammar of graphics. It is not intended to be a feature-for-feature port of ggplot2 for R--though there is much greatness in ggplot2, the Python world could stand to benefit from it. So there will be feature overlap, but not neccessarily mimicry (after all, R is a little weird).

You can do cool things like this:

ggplot(diamonds, aes(x='price', color='clarity')) + \
    geom_density() + \
    scale_color_brewer(type='div', palette=7) + \
    facet_wrap('cut')

Installation

$ pip install -U ggplot
# or 
$ conda install -c conda-forge ggplot
# or
pip install git+https://github.com/yhat/ggplot.git

Examples

Examples are the best way to learn. There is a Jupyter Notebook full of them. There are also notebooks that show how to do particular things with ggplot (i.e. make a scatter plot or make a histogram).

What happened to the old version that didn't work?

It's gone--the windows, the doors, everything. Just kidding, you can find it here, though I'm not sure why you'd want to look at it. The data grouping and manipulation bits were re-written (so they actually worked) with things like facets in mind.

Contributing

Thanks to all of the ggplot contributors! See contributing.md.

ggpy's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ggpy's Issues

Use of Python 3 style dictionary comprehensions is incompatible with Python 2.X

Using Python 2.6, "import ggplot" raises a syntax error in ggplot.py (line 300) due to use of Python style dictionary comprehensions:

mapping = pd.DataFrame({
ae: data.get(key, key)
for ae, key in self.aesthetics.items()

This syntax is not backwards compatible with Python 2.X and should be converted to

mapping = pd.DataFrame(dict((ae, data.get(key, key))
for ae, key in self.aesthetics.items())
)

The same syntax is used in other places in ggplot.py and should be changed for backwards compatibility.

Is this an issue of python 3 compatibility ?

In the famous blog entry http://blog.yhathq.com/posts/ggplot-for-python.html , all seems to work now on python 3, except the last "Faceting" example.

#from http://blog.yhathq.com/posts/ggplot-for-python.html
from ggplot import *
import pandas as pd

meat_lng = pd.melt(meat, id_vars=['date'])

print( ggplot(aes(x='date', y='value'), data=meat_lng) + \
  geom_point() + \
    stat_smooth(colour="red") + \
    facet_wrap("variable") + \
 geom_hist() + facet_wrap("color"))

which gives the error

C:\Users\famille\Documents\winpython\WinPython-32bit-3.3.2.3ggplot\python-3.3.2\lib\site-packages\ggplot\geoms\facet_wrap.py in __radd__(self, gg)
     16 
     17 
---> 18         if len(x)==1:
     19             n_high = 1
     20         else:

TypeError: object of type 'NoneType' has no len()

I'm not sure if it's a compatibility of python 3 or something else.
Does anyone have a clue ?

Accessing Data Frame From Geom

I don't know if this is possible, but I ran into a problem when trying to implement geom_boxplot, see pull request #39. I have the code commented to showcase the problem I am running into. Hopefully I am not just overlooking some simple way to access the original data frame passed into ggplot(...)

My goal is to be able to pass the whole data frame into:

http://pandas.pydata.org/pandas-docs/stable/visualization.html#box-plotting

as this is much simpler that trying to implement multiple box plots with

http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.boxplot

Legends missing in IPython Notebooks when plotting inline

Thanks for the awesome module!

I've been playing around with it a bit and ran into an issue with legends in IPython Notebooks. Everything works as expected when generating figures external to the notebook (i.e., using ipython notebook to launch the notebook), but when plotting inline (``ipython notebook --pylab inline) the legends do not appear.

screenshot from 2013-10-15 21 44 58

I expected the legend to appear to the right hand side just as it did when plotting in a separate window.

geom_point: shape and color sourced on the same column generates two legends instead of one.

Shape and color sourced on the same column generates two legends instead of one which is not consistent with ggplot2.

Steps to reproduce:

from ggplot import *
print ggplot(aes(x="wt", y="mpg", color = "factor(cyl)", shape = "factor(cyl)"), data=mtcars) + \
geom_point()
plt.show(1)

Actual outcome
The resulted chart unnecessary have two legends instead of a fused one like the one in the second image
image

Expected outcome
The legend should be only one and have the colored shapes instead:
image

Legend should be similar to the exemple given in the R ggplot2 documentation
http://docs.ggplot2.org/0.9.3.1/geom_point.html

image

Error bars?

This is simply great guys!

is there a way to make error bars with the current functions?

Thanks in advance,
Inti

Live Plotting

Real-time plotting is buggy in matplotlib -- is there a way to do this using ggplot?

All module files are installed with executable bits

It is somewhat weird and I do not see any obvious reason -- if installed with 'python setup.py install' (on a Debian system and I guess on older ubuntu on travis), all .py files carry executable bit:
/usr/local/lib/python2.7/dist-packages/ggplot-0.2.8-py2.7.egg/ggplot/ggplot.py

That forbids me to submit a PR to enable travis and coverallsin support which I was testing in my clone so far
yarikoptic#1
Now it doesn't run any tests since files are executable and it would require additional --exe flag... but since there is simply smth wrong -- any clues? (I did remove shebangs from few submodule files but that wasn't it)

Aesthetic mappings not consistent with ggplot2

Aesthetic mappings not consistent with ggplot2 see: http://docs.ggplot2.org/0.9.3.1/geom_point.html

Steps to reproduce:

from ggplot import *
ggplot(aes(x="wt", y="mpg", color = "qsec"), data=mtcars) + \
geom_point()
plt.show(1)

Actual outcome
image

Expected outcome
image

Also using other data If I give a column with many different values("Volts" column) as an input for color I get the error at the end of this report.

Code here:
https://github.com/eduardflorinescu/ggplot/blob/master/examples/test_aestheticmappings.py
CSV here:
https://github.com/eduardflorinescu/ggplot/blob/master/examples/pandas_generated.csv

Notice that if I use the "category" column for color it works, if I use "Volts" I should get an aesthetic mapping instead I get the following error:

Traceback (most recent call last):
  File "PythonApplication5.py", line 128, in <module>
    ylab("Watts")
  File "C:\PYTHON27\lib\site-packages\ggplot\ggplot.py", line 209, in __repr__
    callbacks = geom.plot_layer(layer)
  File "C:\PYTHON27\lib\site-packages\ggplot\geoms\geom_point.py", line 21, in plot_layer
    plt.scatter(**layer)
  File "C:\PYTHON27\lib\site-packages\matplotlib\pyplot.py", line 3087, in scatter
    linewidths=linewidths, verts=verts, **kwargs)
  File "C:\PYTHON27\lib\site-packages\matplotlib\axes.py", line 6278, in scatter
    colors = mcolors.colorConverter.to_rgba_array(c, alpha)
  File "C:\PYTHON27\lib\site-packages\matplotlib\colors.py", line 380, in to_rgba_array
    "Cannot convert argument type %s to rgba array" % type(c))
ValueError: Cannot convert argument type <type 'numpy.ndarray'> to rgba array

build problem from setup.py

after cloning the repo, and then running:
python setup.py install --user

i get this traceback:

 Traceback (most recent call last):
  File "setup.py", line 19, in <module>
    long_description=open("README.rst").read(),
IOError: [Errno 2] No such file or directory: 'README.rst'

wishlist: tags for the releases

git log setup.py reveals that version did change since initial import, but there is no tags.

I advise to use 'git tag -a' to get proper annotated tags.

Incomplete Legends

Legends do not always contain all of the members in the legend. Here is an example with built in data where there should be 32 although only eight get plotted. I've tried a couple of examples and the legend seems to max out at eight. Most use cases won't need 32 but I often have more than eight items in a legend.

from ggplot import *
ggplot(aes(x= 'cyl', y='mpg', colour='name'), data=mtcars) + geom_point()

more smoothing issues

Smoothing does not seem to produce the same results as you show in the examples. For instance, the first example in the README is:

from ggplot import *

ggplot(aes(x='date', y='beef'), data=meat) + \
    geom_point(color='lightblue') + \
    stat_smooth(span=.15, color='black', se=True) + \
    ggtitle("Beef: It's What's for Dinner") + \
    xlab("Date") + \
    ylab("Head of Cattle Slaughtered")

Which on my machine produces:
beef_example

Other example plots show similar differences in the apparent scale of smoothing and edge effects at the right side of the plot.

Thanks for creating ggplot--it looks like it is going to be a great thing!

Grouping for geom_line

geom_line ignores the group variable for multiple series.

data = [{"gender": "m", "y": 30, "x": 10}, {"gender": "m", "y": 48, "x": 20}, {"gender": "f", "y": 20, "x": 10}, {"gender": "f", "y": 12, "x": 20}]
df = DataFrame(data)

print ggplot(df, aes(x='x', y='y', group="gender")) + geom_line() 

R plot
rplot

Python plot
python_plot

Windows doesn't have the Mac OSX backend.

The default matplotlibrc file that you have attached has macosx as the backend which obviously doesn't work on Windows.

I just switched it to GTK and it worked fine for me.

Label rotation

Is there a way to rotate labels on an axis? How would theme(axis.text.x = element_text(angle = 90, hjust = 1)) translate into Python's ggplot?

Facet aes are incorrect

So I just realizes that in addition to color being wonky with facets, all if the others discrete aesthetics are messed up -- shape, size, line type, etc.

Fix is in progress

No module named 'components'

Hi,

very nice package. I installed with pip3 install ggplot, which worked fine. However, I get the following error with "components".

Any idea what's going wrong?

Thanks >> Robert

In [1]: from ggplot import *

ImportError Traceback (most recent call last)
in ()
----> 1 from ggplot import *

/usr/local/lib/python3.3/site-packages/ggplot/init.py in ()
----> 1 from .ggplot import *
2 from exampledata import *

/usr/local/lib/python3.3/site-packages/ggplot/ggplot.py in ()
5 from matplotlib.dates import DateFormatter
6 # ggplot stuff
----> 7 from components import colors, shapes, linestyles, aes
8 from components.legend import draw_legend
9 from geoms import *

ImportError: No module named 'components

Python 3 compatibility

Currently, when trying to install with pip on Python 3.3, the installer chokes on line 4 of ggplot/utils/utils.py:

print plot

White gridlines

To call yourself a ggplot2, you must have a grey background with white gridlines ;)

ggplot does not show graphics

Hello,

I am using Python 2.7.5 in Linux.
Just tried the example code.
Instead of getting a graph, I got "<ggplot: (3297489)>" as outputs.
Is there a way I can debug and fix this problem?

Thanks.

Python 2.7.5 (default, May 25 2013, 00:17:53)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

from ggplot import *

print ggplot(mtcars, aes('mpg', 'qsec')) +
... geom_point(colour='steelblue') +
... scale_x_continuous(breaks=[10,20,30],
... labels=["horrible", "ok", "awesome"])
<ggplot: (3297489)>

Can't install using viraualenv

It's not a big deal, but I couldn't pip install ggplot in a virtualenv. Tested on osx with zsh.

pip install ggplot                                                                        gableroux@MacBook-Pro-de-Gabriel
Downloading/unpacking ggplot
  Downloading ggplot-0.3.0.tar.gz (972kB): 972kB downloaded
  Running setup.py egg_info for package ggplot

Downloading/unpacking pandas (from ggplot)
  Downloading pandas-0.12.0.tar.gz (3.2MB): 3.2MB downloaded
  Running setup.py egg_info for package pandas
    Running from numpy source directory.
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/Users/gableroux/.virtualenvs/customEnv/build/pandas/setup.py", line 548, in <module>
        **setuptools_kwargs)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 112, in setup
        _setup_distribution = dist = klass(attrs)
      File "build/bdist.linux-i686/egg/setuptools/dist.py", line 260, in __init__
      File "build/bdist.linux-i686/egg/setuptools/dist.py", line 284, in fetch_build_eggs
      File "build/bdist.linux-i686/egg/pkg_resources.py", line 563, in resolve
      File "build/bdist.linux-i686/egg/pkg_resources.py", line 799, in best_match
      File "build/bdist.linux-i686/egg/pkg_resources.py", line 811, in obtain
      File "build/bdist.linux-i686/egg/setuptools/dist.py", line 327, in fetch_build_egg
      File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 446, in easy_install
      File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 476, in install_item
      File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 655, in install_eggs
      File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 930, in build_and_install
      File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 919, in run_setup
      File "build/bdist.linux-i686/egg/setuptools/sandbox.py", line 62, in run_setup
      File "build/bdist.linux-i686/egg/setuptools/sandbox.py", line 105, in run
      File "build/bdist.linux-i686/egg/setuptools/sandbox.py", line 64, in <lambda>
      File "setup.py", line 214, in <module>
        FULLVERSION += "-%s" % rev
      File "setup.py", line 191, in setup_package
        MICRO = 0
      File "/var/folders/l2/2p5p24q16g13qxlt5smfgtfr0000gn/T/easy_install-sXT_mQ/numpy-1.7.1/numpy/distutils/core.py", line 25, in <module>
      File "/var/folders/l2/2p5p24q16g13qxlt5smfgtfr0000gn/T/easy_install-sXT_mQ/numpy-1.7.1/numpy/distutils/command/build_ext.py", line 16, in <module>
      File "/var/folders/l2/2p5p24q16g13qxlt5smfgtfr0000gn/T/easy_install-sXT_mQ/numpy-1.7.1/numpy/distutils/system_info.py", line 220, in <module>
      File "build/bdist.linux-i686/egg/setuptools/sandbox.py", line 203, in _open
      File "build/bdist.linux-i686/egg/setuptools/sandbox.py", line 199, in _violation
    setuptools.sandbox.SandboxViolation: SandboxViolation: open('/dev/null', 'w') {}

    The package setup script has attempted to modify files on your system
    that are not within the EasyInstall build area, and has been aborted.

    This package cannot be safely installed by EasyInstall, and may not
    support alternate installation locations even if you run its setup
    script by hand.  Please inform the package's author and the EasyInstall
    maintainers to find out if a fix or workaround is available.
    Complete output from command python setup.py egg_info:
    Running from numpy source directory.

Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/Users/gableroux/.virtualenvs/customEnv/build/pandas/setup.py", line 548, in <module>

    **setuptools_kwargs)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 112, in setup

    _setup_distribution = dist = klass(attrs)

  File "build/bdist.linux-i686/egg/setuptools/dist.py", line 260, in __init__

  File "build/bdist.linux-i686/egg/setuptools/dist.py", line 284, in fetch_build_eggs

  File "build/bdist.linux-i686/egg/pkg_resources.py", line 563, in resolve

  File "build/bdist.linux-i686/egg/pkg_resources.py", line 799, in best_match

  File "build/bdist.linux-i686/egg/pkg_resources.py", line 811, in obtain

  File "build/bdist.linux-i686/egg/setuptools/dist.py", line 327, in fetch_build_egg

  File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 446, in easy_install

  File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 476, in install_item

  File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 655, in install_eggs

  File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 930, in build_and_install

  File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 919, in run_setup

  File "build/bdist.linux-i686/egg/setuptools/sandbox.py", line 62, in run_setup

  File "build/bdist.linux-i686/egg/setuptools/sandbox.py", line 105, in run

  File "build/bdist.linux-i686/egg/setuptools/sandbox.py", line 64, in <lambda>

  File "setup.py", line 214, in <module>

    FULLVERSION += "-%s" % rev

  File "setup.py", line 191, in setup_package

    MICRO = 0

  File "/var/folders/l2/2p5p24q16g13qxlt5smfgtfr0000gn/T/easy_install-sXT_mQ/numpy-1.7.1/numpy/distutils/core.py", line 25, in <module>

  File "/var/folders/l2/2p5p24q16g13qxlt5smfgtfr0000gn/T/easy_install-sXT_mQ/numpy-1.7.1/numpy/distutils/command/build_ext.py", line 16, in <module>

  File "/var/folders/l2/2p5p24q16g13qxlt5smfgtfr0000gn/T/easy_install-sXT_mQ/numpy-1.7.1/numpy/distutils/system_info.py", line 220, in <module>

  File "build/bdist.linux-i686/egg/setuptools/sandbox.py", line 203, in _open

  File "build/bdist.linux-i686/egg/setuptools/sandbox.py", line 199, in _violation

setuptools.sandbox.SandboxViolation: SandboxViolation: open('/dev/null', 'w') {}



The package setup script has attempted to modify files on your system

that are not within the EasyInstall build area, and has been aborted.



This package cannot be safely installed by EasyInstall, and may not

support alternate installation locations even if you run its setup

script by hand.  Please inform the package's author and the EasyInstall

maintainers to find out if a fix or workaround is available.

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /Users/gableroux/.virtualenvs/customEnv/build/pandas

Problem with facet rendering

Facet plots don't render properly for certain layouts. (see code below)
import pylab as pl
import pandas as pd
from ggplot import *
x = np.linspace(0,.8,100)
y = x
a = [int(10*e) for e in x]
df = pd.DataFrame({'x':x, 'y':y, 'a':a})
print ggplot(aes(x='x',y='y'),df) + geom_point() + facet_wrap('a')

Make it possible to use the index as a variable

In some case the index is quite useful as a variable, but currently can't be used. If that should be possible, these are some ideas how to implement this:

  • if no x mapping is given, use the index as x mapping
  • look into the column namess and the index name
  • use a special indentifier to specify the index ("..index..")

example datasets are read even if not in use

It woule nice if the example datasets are not read in by a simple from ggplot import *.

The easiest fix would be to remove the import in ggplot/__init__.py and change all examples (and tests) to import both from ggplot and ggplot/exampledata.

Not sure if it's also possible to change the datasets to properties which only load the dataset if they are actually used.

ggplot with DatetimeIndex dataframes?

I'm looking for a working example or suggestions on how to approach plotting DatetimeIndex dataframes using ggplot. I was hoping something like this might work, but haven't found a simple workaround:

ggplot(df, aes(x=df.index, y='foo')) + geom_bar()

theme_gray inconsistencies with ggplot2

  • minor gridlines
  • grey borders when there should be none
  • outward facing major tick marks on left and bottom borders

The way themes are handled might need to be changed to allow theming of some plot elements that aren't adjustable through rc params.

.rc file generation

It would be super nice if the proper rc file could be generated automatically, to allow for this to be included as dependencies for other projects.

Keep getting: TypeError: float() argument must be a string or a number

For every example I try (be it in IPython or not) I get the following error:

  File "ggplot_test.py", line 11, in <module>
    ggsave(p, "test.png")
  File "C:\Python27\lib\site-packages\ggplot\utils\utils.py", line 4, in ggsave
    print (plot)
  File "C:\Python27\lib\site-packages\ggplot\ggplot.py", line 209, in __repr__
    callbacks = geom.plot_layer(layer)
  File "C:\Python27\lib\site-packages\ggplot\geoms\stat_smooth.py", line 37, in plot_layer
    y, y1, y2 = smoothers.lowess(x, y)
  File "C:\Python27\lib\site-packages\ggplot\components\smoothers.py", line 38, in lowess
    result = smlowess(np.array(y), np.array(x), frac=span)
  File "C:\Python27\lib\site-packages\statsmodels\nonparametric\smoothers_lowess.py", line 128, in lowess
    exog = np.asarray(exog, float)
  File "C:\Python27\lib\site-packages\numpy-1.7.0-py2.7-win32.egg\numpy\core\numeric.py", line 320, in asarray
    return array(a, dtype, copy=False, order=order)
TypeError: float() argument must be a string or a number

The specific example:

from ggplot import *

p = ggplot(aes(x='date', y='beef'), data=meat) + \
    geom_point(color='lightblue') + \
    geom_line(alpha=0.25) + \
    stat_smooth(span=.05, color='black') + \
    ggtitle("Beef: It's What's for Dinner") + \
    xlab("Date") + \
    ylab("Head of Cattle Slaughtered")

ggsave(p, "test.png")

How can I change figure size?

If I try to set the figure size before, it creates the plot on figure 2, if I set the figure size on figure 2 to creates the plot on figure 3, etc

If this doesn't work:

plt.figure(num=1, figsize=(16, 10))

How can I change the figure size of the ggplot chart?

geom_step() is missing

Like the title says, there seems to be no implementation for ggplot2's geom_step()
Any hope of seeing this?

Docs...

It would be nice to document each public API in ggplot and build some docs:

  • add docstrings to each method (what "dialect"?)
  • setup some doc building
  • build some docs with examples

For the examples, we could reuse/ port ggplot2 documentation :-) These examples would also be a nice as testcase...

Not sure if the ggplot2 guys are fine with it if we copy their documentation...? @hadley

stat_smooth issues

First off, I love what you're doing. I've had this on a to-do list for a long time. I would love to contribute.

Ran into some initial issues. Running everything on a macbook. Tried these in the python, ipython and ipython-notebook environments; all running python 2.7.

Trying to recreate something like the first example here:
http://docs.ggplot2.org/0.9.3.1/stat_smooth.html

from ggplot import *
c = ggplot(mtcars, aes('qsec', 'wt'))
c + stat_smooth(se=True)

I got the following:

output_stat_smooth_issue

Another stat_smooth issue with one of your own examples I could not replicate from the blog post.

from ggplot import *
import pandas as pd
meat_lng = pd.melt(meat, id_vars=['date'])
p = ggplot(aes(x='date', y='value'), data=meat_lng)

gave me the following:

output_image_stat_smooth

Any ideas?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.