Al utilizar un Eje lineal para el eje Y en un gráfico Visiblox, me gustaría obligar al eje a utilizar un número determinado de marcas importantes mientras sigue teniendo el juego de herramientas calcular automáticamente el rango del eje y las ubicaciones de marcas. Por ejemplo, puedo tener un eje Y primario y secundario y quiero que ambos ejes usen el mismo número de tics principales para que sus líneas de cuadrícula horizontales se superpongan. es posible?Eje de la fuerza para usar el número dado de marcas principales en el gráfico Visiblox
Respuesta
Hay un par de opciones. En primer lugar, puede establecer MajorTickInterval para forzar la distribución de los tics principales. Dependiendo de su caso de uso, es posible que necesite observar el rango real del eje y dividir por el número de ticks que desea para obtener un intervalo razonable.
La otra alternativa es subclasificar el eje y anular el método GetMajorTickValues, que es lo que el eje usa para determinar dónde colocar los ticks.
Si necesita imponer una relación entre los valores en sus ejes primario y secundario, esto se puede lograr mediante el enlace ElementName
. Por ejemplo, puede enlazar el eje secundario MajorTickInterval
al intervalo de garrapata computarizada del eje primario, ActualMajorTickInterval
como sigue:
<Grid x:Name="LayoutRoot" Background="White">
<vis:Chart x:Name="chart">
<vis:Chart.YAxis>
<vis:LinearAxis x:Name="primaryAxis"/>
</vis:Chart.YAxis>
<vis:Chart.SecondaryYAxis>
<vis:LinearAxis MajorTickInterval="{Binding ElementName=primaryAxis, Path=ActualMajorTickInterval}"/>
</vis:Chart.SecondaryYAxis>
</vis:Chart>
</Grid>
Sin embargo, dependiendo de iones sus datos, que tienen el mismo intervalo de marcas para cada eje no puede causar su principales líneas de cuadrícula para coincidir. En este caso, es posible que desea enlazar el alse rango:
<Grid x:Name="LayoutRoot" Background="White">
<vis:Chart x:Name="chart">
<vis:Chart.YAxis>
<vis:LinearAxis x:Name="primaryAxis"/>
</vis:Chart.YAxis>
<vis:Chart.SecondaryYAxis>
<vis:LinearAxis Range="{Binding ElementName=primaryAxis, Path=ActualRange}"
MajorTickInterval="{Binding ElementName=primaryAxis, Path=ActualMajorTickInterval}"/>
</vis:Chart.SecondaryYAxis>
</vis:Chart>
</Grid>
Si necesita una lógica más compleja, podría ser posible hacerlo a través de convertidores de valores.
- 1. Invertir eje lineal en el gráfico de Visiblox
- 2. Aumentar número de marcas de eje
- 3. Algoritmo de Tickmark para un eje gráfico
- 4. D3 - utilizando cadenas para marcas de eje
- 5. VISIBLOX, WPF: ¿Cómo obtener puntos de gráfico para desplazarse horizontalmente?
- 6. Visualización de marcas logarítmicas menores en el eje x en R
- 7. jqPlot: ocultar marcas de eje?
- 8. Python Matplotlib Marcas del eje Y en el lado derecho del gráfico
- 9. Highcharts: se muestran las categorías de la fuerza en el eje x, incluso sin datos
- 10. número de rutas en el gráfico
- 11. Fuerza GSON para usar el constructor específico
- 12. El eje Y en MATLAB gráfico de barras está oculto
- 13. Algoritmo de gráfico (gráfico)
- 14. Visiblox, WPF: mostrar marcadores etiquetados en un gráfico
- 15. Gráfico de columnas con el eje de fecha no funciona
- 16. teclado del número de la fuerza en el ipad para el elemento contenteditable
- 17. Formato condicional al eje del gráfico
- 18. cómo activar las marcas secundarias solo en el eje y matplotlib
- 19. Cómo cambiar el intervalo del eje x del gráfico
- 20. gráfico de barras con el eje textual x - achartengine
- 21. Tamaño de gráfico consistente en R usando ggplot2 (la leyenda y el eje cambian el tamaño)
- 22. Cómo invertir el eje y en un gráfico
- 23. Matplotlib: Fechas de formato en el eje x en un gráfico de barras 3D
- 24. Gráfico cumulativo con X-Axis dado
- 25. Algoritmo para buenas etiquetas de gráfico para el eje de hora/fecha?
- 26. ¿Cómo se proporcionan las etiquetas para el eje de un gráfico de trazado principal?
- 27. gráfico de fuerza d3: nodos adhesivos
- 28. Fuerza slf4j para usar logback
- 29. Usar el módulo sched para ejecutarlo en un momento dado
- 30. Buscar todas las formas de sumar el número dado (con repeticiones permitidas) del conjunto dado
Gracias por el ejemplo, sin embargo, esto no es exactamente lo que estaba pensando. En mi situación, podría ser que los datos en un eje varíen de 0 a 1 y, por otro lado, de 10,000 a 15,000. El objetivo entonces no es enlazar en intervalos o rangos de ticks absolutos, sino simplemente obligar al eje secundario a dibujar un buen conjunto de tics con la condición de que se use un número determinado de tics. Tampoco puedo tomar el rango predeterminado y dividir por la cantidad de tics que quiero, porque entonces las ubicaciones de ticks pueden no ser "bonitas". Quizás la única forma aquí es reescribir el algoritmo de posicionamiento tic. – Abiel