I was trying to write a table with some entries being multi-line using altair, but seem to get into trouble with fixing line spacing. For example:
text_df = pd.DataFrame({"a":["very very very very long thing", "very very very very very long thing"]})
text_chart_base = alt.Chart(text_df).transform_window(row_number="row_number()").transform_calculate(
y=f"split(datum.a, ' ')"
).mark_text(align="left", baseline="top"
).encode(y=alt.Y("row_number:N", axis=None, scale=alt.Scale(reverse=True)))
col1 = text_chart_base.encode(text=f"y:N")
col2= text_chart_base.encode(text=f"row_number:N")
col1 | col2
gives me overlapping multi-line strings
Instead when I make the row_number Quantitative with encode(y=alt.Y("row_number:Q", axis=None, scale=alt.Scale(reverse=True))), I get too much space between the strings
Is there a way I can get mark_text to give the right row spacing between rows? (That is, an output something like the following)


