Novità

Mente da programmatore

Quindi tralasciando la parte datatable :
Codice:
                Dim table As New DataTable
                table.Columns.Add("x", GetType(String))
                table.Columns.Add("y", GetType(Integer))







                Dim ChartArea1 As ChartArea = New ChartArea()
                Dim Legend1 As Legend = New Legend()
                Dim Series1 As Series = New Series()
                Chart1.ChartAreas.Clear()
                Chart1.Legends.Clear()
                Chart1.Series.Clear()
                Chart1.Titles.Clear()
                ChartArea1.Name = "ChartArea1"
                ChartArea1.AxisX.IsMarginVisible = False
                Chart1.ChartAreas.Add(ChartArea1)
                Legend1.Name = "Legend1"
                Chart1.Legends.Add(Legend1)
                Chart1.Name = "Chart1"
                Series1.ChartArea = "ChartArea1"
                Series1.Legend = "Legend1"
                Series1.Name = "Presenze al ritardo"
                Series1.ChartType = SeriesChartType.Column
                Series1.Color = Color.Red
                Series1.BorderWidth = 2
                Chart1.Series.Add(Series1)
                Chart1.Text = "Distibuzione ritardi "
                Chart1.Series("Presenze al ritardo").XValueMember = "x"
                Chart1.Series("Presenze al ritardo").YValueMembers = "y"

                Chart1.Titles.Add(Chart1.Text)


                Chart1.DataSource = table


Devo crearmi un array integer? come per esempio fittizio

Codice:
 Dim Ritardo(101) As Integer
                For k = 0 To UBound(Ritardo)

                    If k < 100 Then
                        table.Rows.Add("= " & k, 0)
                    Else
                        table.Rows.Add("> " & "100", 0)
                    End if 
                Next

ma alla cordinata y inserire il numero di presenze a quel ritardo?
 
devi prima fare i conteggi sfruttando l'array di transito.
cicli sulle uscite , verifichi il ritardo se è <= 100 se lo è incrementi quell'elemento se non lo è incrementi il 101
ora che hai fatto i conteggi cicli su questo array ed alimenti la datatable , le righe ovvero la x va da 0 a 101 , i valori son oquelli presi dall'array in quelle posizioni
 
No nulla. Dalle 12 sto provando e riprovando ma più che comprendere cosa scrivo sto finendo per andare a tentativi. Appena riesco a capire posto il codice 👍
 
scusa è , tu hai un arry delel uscite , fai finta contiene 5 elementi

vuol dire che cisono 6 uscite da 0 a 6.

la prima facciamo finta è uscita al ritardo 3
aQUscitePerRit(3) +=1

la seconda facciamo finta è uscita al ritardo 5
aQUscitePerRit(5) +=1

la terza facciamo finta è uscita al ritardo 0
aQUscitePerRit(0) +=1

la quarta facciamo finta è uscita pure lei al ritardo 0
aQUscitePerRit(0) +=1

la quinta facciamo finta è uscita al ritardo 120
aQUscitePerRit(101) +=1

la sesta facciamo finta è uscita al ritardo 110
aQUscitePerRit(101) +=1


alla fine nel tuo arrayavrai per ogni indice la quantita di uscite , l'indice è la x , la quntità l y
 
Ultima modifica di un moderatore:
Quindi se ho capito bene

Codice:
                Dim aQUscitePerRit(101) As Integer
                Dim strRit As String
                For k = 0 To UBound(frz.aUscite)
                    If frz.aUscite(k).Ritardo <= 100 Then
                        aQUscitePerRit(frz.aUscite(k).Ritardo) += 1
                    Else
                        aQUscitePerRit(101) += 1
                    End If
                Next

                For k = 0 To UBound(aQUscitePerRit)
                    strRit = ""
                    If k <= 100 Then
                        strRit = strRit & "= " & k
                    Else
                        strRit = strRit & "> " & k
                    End If
                    table.Rows.Add(strRit, aQUscitePerRit(k))
                Next
 
si , dovrebeb andare , al selectedindex change della combo tipo grafico ovviamente devi lanciare la stessa funzione che lanci al selection change delal lista principale in modo che i lgrafico si accordi alla voce selezionata
 
Sicuramente no ...ma seguendo il debug vedo che entra nell'else e mi inserisce la stringa che poi inserisce > 101 perché ho messo il parametro k e non 100 ...ma comunque non viene trascritta
 
invece nel grafico deel confronto la y teorica falla di tipo single non integer , ti se iaccorto che ha uno stano andamento quando invece dovrebbe essere una linea che cresce sempre ? dipende dal fatto chela divisione tra estrazioni esaminate e ritardo naturale puo dare un valore decimale , quindi se lascviamo integer vine arrotondato e la lina non vine disegnata come una retta ma pina dippiccole curve come dei tremolii.
 
Senza titolo.png

L'intervallo ...non ci avevo pensato scusami. Comunque ora che è concluso il secondo grafico ...ho notato che nel primo grafico c'è un anomalia ma non so se sbaglio
 
bene passiamo al pannell oscomposizione , li ci va messa una lista tale e quale a quella principale e una combobox con valori da 1 a 10 , a fianco della combobox un pulsante.
Facciamo che è l'utente a premere il pulsante per scomporre la dfornazione nella classe voluta perche sarebbe oneroso farlo durante la prima statistica.
 
fatto

Codice:
    Private Sub frmStatLung_Load(sender As Object, e As EventArgs) Handles Me.Load
        LoadComboSorte(cmbSorte)
        LoadComboConf()
        loadComboSvil(Me.ComboBox1)
        addcolumns()
        CtlSelPosizione1.SetCheckSelezionate(DefaultCheckPos())
    End Sub

Codice:
    Private Sub loadComboSvil(cmb As ComboBox)
        For k As Integer = 1 To 10
            cmb.Items.Add(k)
        Next
    End Sub

Senza titolo.png
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 31 luglio 2025
    Bari
    42
    35
    89
    51
    34
    Cagliari
    54
    34
    02
    77
    57
    Firenze
    73
    01
    07
    15
    04
    Genova
    71
    28
    17
    03
    67
    Milano
    72
    37
    26
    09
    63
    Napoli
    04
    46
    83
    68
    31
    Palermo
    62
    18
    36
    34
    52
    Roma
    37
    44
    49
    67
    32
    Torino
    51
    17
    56
    48
    41
    Venezia
    36
    04
    85
    81
    41
    Nazionale
    08
    52
    01
    24
    05
    Estrazione Simbolotto
    Nazionale
    21
    19
    01
    17
    43
Indietro
Alto