我正在尝试制作类似于Multi-Line Tooltip Example的图形。但是我想做两个修改。
首先,我希望能够放大部分数据。我使用alt.selection(type="interval", encodings=["x"], bind="scales")
和transform_filter修复了该问题。到目前为止没有问题。
问题在于,由于线彼此靠近,因此点附近的文本标签重叠。因此,我想将标签移动到沿着顶部的轴内的固定位置。即使放大图形,也可以将标签放置在轴内的固定位置上(请参见下面的模型)?问题是,当您放大x和y域时,它们都改变了,因此标签的位置应表示为域的一部分。
我可以接受的另一种解决方案是,将选定的值附加到图例标签或绘图区域之外的其他标签上。
答案 0 :(得分:0)
您可以使用x和y编码控制文本位置。这是将文本放置在轴顶部的示例:
import altair as alt
import pandas as pd
import numpy as np
data = pd.DataFrame({
'x': np.arange(1, 21),
'y': np.random.randint(0, 20, 20),
})
points = alt.Chart(data).mark_point().encode(
x='x',
y='y'
)
text = points.mark_text(baseline='top').encode(
y=alt.value(0), # pixels from top
text='y'
)
points + text