Altair 散点图 tickMinStep
Altair Scatter Plot tickMinStep
我有这个数据框:
x y term s
0 0.000000 0.132653 matlab 0.893072
1 0.000000 0.142857 matrix 0.905120
2 0.012346 0.153061 laboratory 0.902610
3 0.987654 0.989796 be 0.857932
4 0.938272 0.959184 a 0.861948
并生成了这张图表:
使用此代码:
chart = alt.Chart(scatterdata_df).mark_circle().encode(
x = alt.X('x:Q', axis = alt.Axis(title = "⏪ less physical | more physical ⏩", tickMinStep = 0.05)),
y = alt.Y('y:Q', axis = alt.Axis(title = "⏪ less data | more data ⏩", tickMinStep = 0.05)),
color = alt.Color('s:Q', scale=alt.Scale(scheme='redblue')),
tooltip = ['term']
).properties(
width = 500,
height = 500
)
为 x 轴和 y 轴设置 tickMinStep = 0.05
后,我不确定为什么图形不反映此参数。
谢谢。
tickMinStep
指定自动确定刻度的最小刻度间距;实际刻度间距可能比这大。听起来你想要比默认启发式更多的刻度,所以你应该直接调整 tickCount
:
import altair as alt
import pandas as pd
import numpy as np
rng = np.random.default_rng(0)
data = pd.DataFrame({
'x': rng.random(size=100),
'y': rng.random(size=100)
})
alt.Chart(data).mark_point().encode(
x=alt.X('x:Q', axis=alt.Axis(tickCount=20)),
y=alt.Y('y:Q', axis=alt.Axis(tickCount=20)),
)
如果您想更好地控制刻度值,可以将值列表直接传递给 Axis.values
。有关详细信息,请参阅 alt.Axis
文档。
我有这个数据框:
x y term s
0 0.000000 0.132653 matlab 0.893072
1 0.000000 0.142857 matrix 0.905120
2 0.012346 0.153061 laboratory 0.902610
3 0.987654 0.989796 be 0.857932
4 0.938272 0.959184 a 0.861948
并生成了这张图表:
使用此代码:
chart = alt.Chart(scatterdata_df).mark_circle().encode(
x = alt.X('x:Q', axis = alt.Axis(title = "⏪ less physical | more physical ⏩", tickMinStep = 0.05)),
y = alt.Y('y:Q', axis = alt.Axis(title = "⏪ less data | more data ⏩", tickMinStep = 0.05)),
color = alt.Color('s:Q', scale=alt.Scale(scheme='redblue')),
tooltip = ['term']
).properties(
width = 500,
height = 500
)
为 x 轴和 y 轴设置 tickMinStep = 0.05
后,我不确定为什么图形不反映此参数。
谢谢。
tickMinStep
指定自动确定刻度的最小刻度间距;实际刻度间距可能比这大。听起来你想要比默认启发式更多的刻度,所以你应该直接调整 tickCount
:
import altair as alt
import pandas as pd
import numpy as np
rng = np.random.default_rng(0)
data = pd.DataFrame({
'x': rng.random(size=100),
'y': rng.random(size=100)
})
alt.Chart(data).mark_point().encode(
x=alt.X('x:Q', axis=alt.Axis(tickCount=20)),
y=alt.Y('y:Q', axis=alt.Axis(tickCount=20)),
)
如果您想更好地控制刻度值,可以将值列表直接传递给 Axis.values
。有关详细信息,请参阅 alt.Axis
文档。