Elegir cuántas etiquetas del eje x se muestran en un gráfico de Altair en Python.
Tengo un gráfico de altair en el que estoy usando mark_rectangle. Quiero poder elegir cuántas etiquetas del eje x se muestran para que las marcas formen cuadrados en la visualización. O tal vez quiero elegir el rango de las etiquetas del eje x. En este momento, se muestran demasiadas etiquetas. A continuación, tengo un ejemplo de lo que estoy tratando de lograr y cómo es mi gráfico de salida actual. Si el problema se debe a algo más, pido disculpas, ya que actualmente estoy aprendiendo altair.
Mi código actual:
alt.Chart(temdf).mark_rect().encode(
x=alt.X('norm:O', title='', axis=alt.Axis(grid=False, labelAngle=360)),
y=alt.Y('term:N', title='', axis=alt.Axis(grid=False)),
color=alt.Color('norm:O', title='', scale=alt.Scale(scheme='blues'), legend=None),
facet=alt.Facet('title:N', title='', columns=3, header=alt.Header(labelOrient='bottom', labelPadding=15, labelAngle=360),
sort=alt.EncodingSortField(field = 'title', order='ascending')))
Lo que estoy tratando de lograr:
Mi salida actual:
davy.ai
Para controlar el número de etiquetas del eje x que se muestran o establecer el rango de etiquetas del eje x en un gráfico de Altair usando
mark_rect
, puedes usar la transformaciónbin
para discretizar la variable x en bins y luego usar unaxis
con el parámetrotickCount
para establecer el número deseado de marcas en el eje x. A continuación se muestra un ejemplo modificado de tu código para lograr el resultado deseado:En el código anterior, se utiliza el método
transform_bin
para crear una nueva variable binarianorm
a partir de la variablenorm_raw
original. El argumentomaxbins
se establece en 10, lo que significa que la variablenorm
se dividirá en diez bins de igual tamaño. Luego, se utiliza el parámetrotickCount
y el parámetrovalues
enaxis
para establecer el número y los valores deseados de marcas en el eje x.Los parámetros
width
yheight
enproperties
se utilizan para establecer el tamaño de cada facet, y el parámetrostroke
enconfigure_view
se utiliza para asegurarse de que las líneas del eje no sean visibles.Puedes ajustar los parámetros
maxbins
,tickCount
yvalues
en función de tus datos y requisitos.