Hacker News new | ask | show | jobs
by theodpHN 849 days ago
Mirror, mirror on the wall, what’s the most declarative dataviz programming language of all? :-)

  *** SAS SCATTER MATRIX EXAMPLE ***
  proc sgscatter data=sashelp.cars;
  matrix Horsepower Acceleration Miles_per_Gallon / group=Origin;

  *** ALTAIR SCATTER MARIX EXAMPLE ***
  import altair as alt
  from vega_datasets import data

  source = data.cars()

  alt.Chart(source).mark_circle().encode(
    alt.X(alt.repeat("column"), type='quantitative'),
    alt.Y(alt.repeat("row"), type='quantitative'),
    color='Origin:N'
  ).properties(
    width=150,
    height=150
  ).repeat(
    row=['Horsepower', 'Acceleration', 'Miles_per_Gallon'],
    column=['Miles_per_Gallon', 'Acceleration', 'Horsepower']
  ).interactive()
1 comments

Well, there also is for example `pandas.plotting.scatter_matrix()` [1] which is built on top of matplotlib. I suppose the question is how does SAS or any other alternative compare to vega/altair when the desired output is less standard.

[1]: http://pandas.pydata.org/pandas-docs/stable/reference/api/pa...

If you are interested in similar shortcuts for repeated charts in Altair, I'm experimenting a bit with such a syntax in the package altair-ally https://joelostblom.github.io/altair_ally/examples.html. Feel free to try it out and leave feedback!

(disclaimer: I'm a co-maintainer of Altair)