Blog - line plot#23
Conversation
| # Making a Line Plot | ||
| Altair works best with [long-form](https://altair-viz.github.io/user_guide/data.html#long-form-vs-wide-form-data) data. This is where each row contains a single observation along with all of its metadata stored as values. | ||
|
|
||
| Matplotlib works a little better with wide-form data. |
There was a problem hiding this comment.
What's the rational behind this statement?
There was a problem hiding this comment.
That was just my impression after converting so many Altair charts to Matplotlib by hand. It seems like the long-form data usually has to be reformatted into something that more resembles wide-form data for Matplotlib whenever things get slightly complicated (eg scatter plots that have categorical colors and line plots like the one in this post).
Is it incorrect to say that mpl works a little better with wide-form data? Would it be better to just leave that statement out?
| 1 | 2 | d | ||
| 2 | 9 | d | ||
|
|
||
| A possible scenario for this dataset would be an experiment being run in several different locations with 2 measurements taken at each location. The goal with the visualization being to visualize how the amount changed between the two sets of measurements at each location. |
|
|
||
| ## Altair | ||
| If we want to plot lines to show how each location changed between set one and set two, | ||
| we need to specify the data, tell Altair to plot lines with `mark_line()`, link the x |
There was a problem hiding this comment.
Maybe turn into a list:
- Specificy the data: 'alt.chart(df)
- Tell Altair to plot lines with 'mark_lines
- Link the encoding channels:
- X with 'set'
- y with 'amount'
Etc
|  | ||
|
|
||
| ## Matplotlib | ||
| In Matplotlib, just like with a categorical scatter plot, we have to plot a new line for every location. |
There was a problem hiding this comment.
Link to cat scatter post if you're gonna make a reference to it
|
|
||
| ## Matplotlib | ||
| In Matplotlib, just like with a categorical scatter plot, we have to plot a new line for every location. | ||
| Specifying a label with each line allows us to generate a legend with `ax.legend()`. |
This is the line plot section from the blog post Nabarun and I were working on.