vega / altair

Declarative statistical visualization library for Python
https://altair-viz.github.io/
BSD 3-Clause "New" or "Revised" License
9.39k stars 795 forks source link

docs: Fix "Layered chart with Dual-Axis" (Method syntax) #3660

Closed dangotbanned closed 3 weeks ago

dangotbanned commented 3 weeks ago

Discovered while writing tests for #3659.

The User Guide displays the attribute syntax, but the method syntax one was not equivalent.

Results in no titleColor being applied and is silently ignored during validation.

Previous

Note: the warning from pylance is only showing due to some local changes I have on-top of (https://github.com/vega/altair/pull/3659/commits/1a390194352fd5a21631b363cbd1a75dde430beb)

Code block

```py import altair as alt from vega_datasets import data source = data.seattle_weather() base = alt.Chart(source).encode(alt.X("month(date):T").title(None)) area = base.mark_area(opacity=0.3, color="#57A44C").encode( alt.Y("average(temp_max)").title("Avg. Temperature (°C)", titleColor="#57A44C"), alt.Y2("average(temp_min)"), ) line = base.mark_line(stroke="#5276A7", interpolate="monotone").encode( alt.Y("average(precipitation)").title( "Precipitation (inches)", titleColor="#5276A7" ) ) alt.layer(area, line).resolve_scale(y="independent") ```

image

Fixed

Code block

```py import altair as alt from vega_datasets import data source = data.seattle_weather() base = alt.Chart(source).encode(alt.X("month(date):T").title(None)) area = base.mark_area(opacity=0.3, color="#57A44C").encode( alt.Y("average(temp_max)").axis( title="Avg. Temperature (°C)", titleColor="#57A44C" ), alt.Y2("average(temp_min)"), ) line = base.mark_line(stroke="#5276A7", interpolate="monotone").encode( alt.Y("average(precipitation)").axis( title="Precipitation (inches)", titleColor="#5276A7" ) ) alt.layer(area, line).resolve_scale(y="independent") ```

image