Book on Julia for Data Science

Overview
Comments
  • Overview of Plots.jl Chapter

    Overview of Plots.jl Chapter

    Here is an opinionated version. Feel free to criticize:

    Subsections for Plots

    Brief overview of the JuliaPlots ecosystem

    • JuliaPlots Organization
    • Plots.jl (what is it good for and what are its limitations)
    • Makie.jl (what is it good for and what are its limitations)
    • AlgebraOfGraphics.jl (what is it good for and what are its limitations) (version 2.0)
    1. What is Plots.jl?

      • plot vs plot!
      • input data
      • Series Types and functions(e.g. line, line!, heatmap, heatmap!)
      • How to save a plot
    2. Attributes

      • Overview (What are attributes, and the whole symbol e.g. :xticks system)
      • Series attributes
      • Plot Attributes
      • Footnote about the extra_kwargs stuff
      • Examples using the most common things that you want to do in a visualization. This could be inserted right after you introduce a specific attribute.
    3. Color and Palettes I think we should cover colorbrewer and the ones from matplotlib (inferno, viridis, magma). We should cover some stuff from the Claus Wilke Fundamentals of Data Visualization book (Chapters 4 and 19). Also we should cover the three types of color usage:

      1. sequential: continuous stuff, e.g. :blues (only blue)
      2. diverging: continuous stuff, e.g. :RdBu (from red to blue)
      3. distinguishable: discrete stuff, e.g. :Set1_5

      I have a very strong positive bias towards colorbrewer Sets (e.g. palette=:Set1_5).

      We should also mention that the reader should use a colorblinded-friendly palette or colors. Maybe we should include an official statistics regarding the prevalence of any sort of colorblindness or color difficulties in the population. I remember seeing somewhere that it was around 5% of people.

    4. Layouts

      • Overview on several ways to do layouts
      • the layout argument, also cover the grid
      • the @layout macro
      • specific measures with the Plots.PlotMeasures submodule
      • adding subplots incremententally. Define p1, p2, p3; then do a plot(p1, p2, p3; layout=l)
    writing 
    opened by storopoli 13
  • Add full cover

    Add full cover

    This PR add code to generate the full cover. See https://github.com/JuliaDataScience/JuliaDataScience/issues/17#issuecomment-927185934 for more information about the dimensions.

    I don't consider the cover done and perfect now. It is meant as a place where we can start discussing the appearance.

    Preview

    image

    EDIT: This wasn't working in Amazon. It was turned into

    image

    So, instead using the Amazon cover editor:

    image

    which is turned into

    image

    opened by rikhuijzer 10
  • makie.jl: ERROR: LoadError: UndefVarError: Downloads not defined

    makie.jl: ERROR: LoadError: UndefVarError: Downloads not defined

    Hi,

    I get an

    ERROR: LoadError: UndefVarError: Downloads not defined
    Stacktrace:
     [1] top-level scope
       @ o:\Julia\makie.jl:604
    in expression starting at o:\Julia\makie.jl:604
    

    Commented out.

    And on execution for all demo functions:

    ERROR: UndefVarError: Options not defined
    Stacktrace:
     [1] custom_plot()
       @ Main o:\Julia\makie.jl:16
     [2] top-level scope
       @ REPL[12]:1
    

    Commented out.

    On execution,

    custom_plot()

    no error, no plot appears.

    opened by bardo84 10
  • Chapter 7 Link broken to Makie Docs

    Chapter 7 Link broken to Makie Docs

    There is a link broken in Chapter 7 datavisMakie.md:

    In the "See Makie’s documentation for more." It redirects to http://makie.juliaplots.org/stable/backends_and_output.html#Backends-and-Output which is broken.

    cc @lazarusA

    bug 
    opened by storopoli 9
  • Notation discussion points

    Notation discussion points

    Notation discussion points from #20:

    1. Always using : before the start of a code block.
    2. Mentioning functions like DataFrame as DataFrame() or DataFrame(...).
    3. My suggestion: only Julia objects between backticks and filenames and extension names between quotation marks (like Julia's strings).
    opened by rikhuijzer 9
  • [dataframes_select] not the same selection

    [dataframes_select] not the same selection

    The lines

    https://github.com/JuliaDataScience/JuliaDataScience/blob/b5582d29a9afa300e0a124ad2820389c386c04cc/contents/dataframes_select.md#L48-L56

    don't give the same result as the previous example ... (where :id is not shown)

    I think you need to rephrase the text.

    opened by Mo-Gul 7
  • Fix pipe alignment in front cover

    Fix pipe alignment in front cover

    this should fix some alignment issues regarding the pipes. Additionally, I did a print for the previous one and the lack of grid lines makes the whole cover a little bit dull.

    opened by lazarusA 7
  • Julia cannot reproduce the rand

    Julia cannot reproduce the rand

    I have put an issue on Stack Overflow about an example of this book. Could you please explain? https://stackoverflow.com/questions/70321085/julia-cannot-reproduce-the-rand

    Many thanks.

    Shixiang

    opened by ShixiangWang 6
  • Improve section numbering

    Improve section numbering

    For a discussion see issue #221 that it is beneficial to have unnumbered sections when there are no other sections on that level, i.e. that there is no other "section x.2".

    There is only the instance

    https://github.com/JuliaDataScience/JuliaDataScience/blob/2c750e092b7aa932cf10d7fc12f1d0f7ba7ae909/contents/julia_basics.md#L671

    which cannot be made unnumbered, because it is referenced at

    https://github.com/JuliaDataScience/JuliaDataScience/blob/2c750e092b7aa932cf10d7fc12f1d0f7ba7ae909/contents/dataframes_performance.md#L9

    My suggestion is to bring this one level up, i.e.

    - #### Functions with a bang `!` {#sec:function_bang}
    + ### Functions with a bang `!` {#sec:function_bang}
    

    I think that also fits to the previous section header where I (with my current n00bie understanding) don't see the "bang operator" fitting in.

    Do you agree? If yes, I would prepare another commit. Otherwise you can merge the PR directly.

    opened by Mo-Gul 6
  • Logo for Julia Data Science Organization

    Logo for Julia Data Science Organization

    We need a logo I will talk to someone who can do that for me at UNINOVE. Any thoughts @rikhuijzer ? We should move anything stats/Bayesian so to not confuse with future endeavors.

    Maybe something with Tabular Data or Line Plots. We should definitely use Julia colors.

    • [x] Update JuliaDataScience GitHub Organization Logo
    • [x] Update JuliaDataScience Book favicon site icon
    enhancement 
    opened by storopoli 6
  • improve typographical stuff

    improve typographical stuff

    As I already stated in e.g. https://github.com/JuliaDataScience/JuliaDataScience/pull/215/commits/e8e1d11ed6386f8bcd552abbfd9ab058c3176b51 it would nice to make some sections unnumbered when there is no second section on that level.

    When I have seen this correct, this should be possible by appending the section entry by {-} as e.g. can be seen in

    https://github.com/JuliaDataScience/JuliaDataScience/blob/56151f0f6d69ad4c62945aa1deb3169af90ef9ad/contents/index.md#L1

    So if you consider it would be nice to have that I'll redo the suggestions in a new PR. Especially if it is that easily doable.


    PS:
    I am not sure if my newest comments in #217 have been noticed by one of you, since I have added them after the PR was merged. Thank you for your comments!

    opened by Mo-Gul 5
  • cheatSheet_cairo.jl improvements

    cheatSheet_cairo.jl improvements

    Some suggested changes to the CairoMakie cheatsheet, some for consistency and some to make it easier to understand what the function actually does (I think that is the main use of this figure: once the purpose of a plotting function is clear, the user can always check the documentation for the different ways to call the function). The biggest change is for linesegments: it now uses the linesegments(x, y) signature with the same data as the previous plots, to help understanding what's going on.

    Full list of changes:

    • change range of first plots to have even number of points (for linesegments)
    • change linesegments to use same data as previous plots
    • uniformize parameter names in plot titles
    • use variable heights in crossbar
    • fix title of violin plot
    • more explicit title for mesh
    opened by knuesel 0
  • 4.1.2 Excel - failure

    4.1.2 Excel - failure

    Hi,

    Using Julia 1.8.1, VS Code notebooks

    Entering the code from 4.1.2 Excel, I tried running: path = write_grades_xlsx() xf = readxlsx(path)

    which gave: MethodError: objects of type Vector{String} are not callable Use square brackets [] for indexing an Array.

    Stacktrace: [1] write_xlsx(name::String, df::DataFrame) @ Main ~/julia-test/juliadatascience-dataframes.ipynb:4 [2] write_grades_xlsx() @ Main ~/julia-test/juliadatascience-dataframes.ipynb:3 [3] top-level scope @ ~/julia-test/juliadatascience-dataframes.ipynb:1

    Here's the function: function write_xlsx(name, df::DataFrame) path = "$name.xlsx" data = collect(eachcol(df)) cols = names(df) writetable(path, data, cols) end

    I found that because you had defined a "names" variable earlier in the chapter, this clobbered the "names()" function. When I changed this to use Base.names(), everything worked properly. (Somewhat ironically, you mentioned the global variable problem just after defining "names". ;-))

    I'd recommend just renaming "names" to something less ambiguous, and then it won't break the code below.

    Thanks for the great work! Ari

    opened by arimeyer 0
  • new book format

    new book format

    After this first experience of doing and printing the book I still feel that the margins [text at the edges] and overall book size is not an appropriate layout. Thoughts?

    version-2 
    opened by lazarusA 2
Releases(edition-1)
Owner
Julia Data Science
Julia Data Science Book
Julia Data Science
Python Data Science Handbook: full text in Jupyter Notebooks

Python Data Science Handbook This repository contains the entire Python Data Science Handbook, in the form of (free!) Jupyter notebooks. How to Use th

Jake Vanderplas 36.9k Dec 28, 2022
3D medical imaging reconstruction software

InVesalius InVesalius generates 3D medical imaging reconstructions based on a sequence of 2D DICOM files acquired with CT or MRI equipments. InVesaliu

443 Jan 01, 2023
Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis

Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis. You write a high level configuration file specifying your in

Blue Collar Bioinformatics 915 Dec 29, 2022
🍊 :bar_chart: :bulb: Orange: Interactive data analysis

Orange Data Mining Orange is a data mining and visualization toolbox for novice and expert alike. To explore data with Orange, one requires no program

Bioinformatics Laboratory 3.9k Jan 05, 2023
Metaflow is a human-friendly Python/R library that helps scientists and engineers build and manage real-life data science projects

Metaflow Metaflow is a human-friendly Python/R library that helps scientists and engineers build and manage real-life data science projects. Metaflow

Netflix, Inc. 6.3k Jan 03, 2023
Datamol is a python library to work with molecules

Datamol is a python library to work with molecules. It's a layer built on top of RDKit and aims to be as light as possible.

datamol 276 Dec 19, 2022
Open Delmic Microscope Software

Odemis Odemis (Open Delmic Microscope Software) is the open-source microscopy software of Delmic B.V. Odemis is used for controlling microscopes of De

Delmic 32 Dec 14, 2022
CS 506 - Computational Tools for Data Science

CS 506 - Computational Tools for Data Science Code, slides, and notes for Boston University CS506 Fall 2021 The Final Project Repository can be found

Lance Galletti 14 Mar 23, 2022
Read-only mirror of https://gitlab.gnome.org/GNOME/pybliographer

Pybliographer Pybliographer provides a framework for working with bibliographic databases. This software is licensed under the GPLv2. For more informa

GNOME Github Mirror 15 May 07, 2022
Statsmodels: statistical modeling and econometrics in Python

About statsmodels statsmodels is a Python package that provides a complement to scipy for statistical computations including descriptive statistics an

statsmodels 8.1k Dec 30, 2022
A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

Spack Spack is a multi-platform package manager that builds and installs multiple versions and configurations of software. It works on Linux, macOS, a

Spack 3.1k Dec 31, 2022
A mathematica expression evaluator with PokemonTypes

A simple mathematical expression evaluator that uses Pokemon types to replace symbols.

Arnav Jindal 2 Nov 14, 2021
Animation engine for explanatory math videos

Manim is an engine for precise programatic animations, designed for creating explanatory math videos. Note, there are two versions of manim. This repo

Grant Sanderson 48.9k Jan 03, 2023
Data intensive science for everyone.

InVesalius InVesalius generates 3D medical imaging reconstructions based on a sequence of 2D DICOM files acquired with CT or MRI equipments. InVesaliu

Galaxy Project 1k Jan 08, 2023
Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Aesara

PyMC3 is a Python package for Bayesian statistical modeling and Probabilistic Machine Learning focusing on advanced Markov chain Monte Carlo (MCMC) an

PyMC 7.2k Dec 30, 2022
Zipline, a Pythonic Algorithmic Trading Library

Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting. Zipline is currently used in production as the backte

Quantopian, Inc. 15.7k Jan 07, 2023
PennyLane is a cross-platform Python library for differentiable programming of quantum computers.

PennyLane is a cross-platform Python library for differentiable programming of quantum computers. Train a quantum computer the same way as a neural network.

PennyLaneAI 1.6k Jan 04, 2023
3D visualization of scientific data in Python

Mayavi: 3D visualization of scientific data in Python Mayavi docs: http://docs.enthought.com/mayavi/mayavi/ TVTK docs: http://docs.enthought.com/mayav

Enthought, Inc. 1.1k Jan 06, 2023
Book on Julia for Data Science

Book on Julia for Data Science

Julia Data Science 349 Dec 25, 2022
Discontinuous Galerkin finite element method (DGFEM) for Maxwell Equations

DGFEM Maxwell Equations Discontinuous Galerkin finite element method (DGFEM) for Maxwell Equations. Work in progress. Currently, the 1D Maxwell equati

Rafael de la Fuente 9 Aug 16, 2022