2023r2 - WebChart Doughnut

Cómo evitar que el ChartCircularDataset ponga las escalas en modo “Doughnut” ya que NO es lógico.

Incluso sigue sin semejarse al Doughnut | Chart.js

Hay forma de poder usarlo por JS directo al charjs ?

Captura_de_pantalla_2023-08-17_a_la_s__12_45_59

¿Puedes compartir un proyecto de ejemplo?

Hola @AlbertoD solo agarre el ejemplo que pone el xojo (que NO usa el Doughnut) y lo cambié por el código de ejemplo de la documentación del * ChartCircularDataset que es el siguiente:

Var sales() As Double = Array(345890.0, 421934, 456908, 567987)
Var colors() As Color = Array(Color.Red, Color.Green, Color.Yellow, Color.Blue)
Var ds As New ChartCircularDataset(“Sales”, sales, Colors)
Me.AddDataset(ds)
Me.AddLabels(“Q1”, “Q2”, “Q3”, “Q4”)


Acabo de crear un Issue:
https://tracker.xojo.com/xojoinc/xojo/-/issues/73730

1 Like

Mientras arreglan el problema puedes usar:

es un poco diferente la forma de crear las gráficas pero una vez entendiendo cómo (con diccionario) se puede facilitar el modificar las opciones.

Para crear esta gráfica:

usé este código:

MyChart.NewCleanChart

MyChart.ChartType = ChartJS.ChartTypes.Doughnut
MyChart.AddLabels("Red", "Blue", "Yellow", "Green", "Purple", "Orange")

Var ds As New Dictionary
ds.Value("label") = "# of Votes"
ds.Value("data") = Array(12, 19, 3, 5, 2, 3)
ds.Value("backgroundColor") = Array(ChartJS.RGBAColor(Color.RGB(255, 99, 132, 204)), _
ChartJS.RGBAColor(Color.RGB(54, 162, 235, 204)), _
ChartJS.RGBAColor(Color.RGB(255, 206, 86, 204)), _
ChartJS.RGBAColor(Color.RGB(75, 192, 192, 204)), _
ChartJS.RGBAColor(Color.RGB(153, 102, 255, 204)), _
ChartJS.RGBAColor(Color.RGB(255, 159, 64, 204)))

MyChart.AddDataset(ds)
2 Likes

@AlbertoD excelente como siempre, muchas gracias! por tu ayuda.
Tomando el proyecto de github la agregue un boton más con tu codigo y listo!
De ahi ahora podre personalizarlo y cambiar en mis proyectos.
Seria bueno que el integrado en xojo se comportara exactemente como el chartjs (si fuera posible). Nuevamente muchas gracias!

2 Likes