NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze: graf ve Winforms

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
Frantisek Jesatko:24.5.2018 10:29

Snažím se vyhodnotit data z tabulky pomocí grafu. Dotazem vyberu skupiny dat , kde pak spočítám Count jejich výskyt. To není problém do grafu dám series podle měsíců. K series pak jednotlivé pointy. Graf je sloupcový. Problém nastává ve chvíly kdy se nekterá ze skupin dat v měsíci nenachází pak se to celoé rozháže.Jednotlivé skupiny nejsou spolu ale asi podle pořadí v tabulce. Kod kterým dávám data do grafu:

var xxxx = (from a in db.aktivities.GroupBy(x => x.druh + " " + x.vytvoreno.Value.Month + " " + x.vytvoreno.Value.Year)
                            orderby a.First().druh ascending
                            select new
                            {
                                Pocet = a.Count(),
                                a.First().druh,
                                a.First().vytvoreno.Value.Month,
                                a.First().vytvoreno.Value.Year

                            }).ToList();

                foreach (var i in xxxx)
                {

                }


                foreach (var x in xxxx)
                {
                    if (chart1.Series.FindByName(toolStripComboBox_mesic.Text.Trim()) == null)
                    {
                        chart1.Series.Add(toolStripComboBox_mesic.Text.Trim());


                    }

                    if (toolStripComboBox_mesic.SelectedIndex == x.Month && Convert.ToInt32(toolStripComboBox_rok.Text) == x.Year )
                    {



chart1.Series[toolStripComboBox_mesic.Text.Trim()].IsValueShownAsLabel = true;
                        chart1.Series[toolStripComboBox_mesic.Text.Trim()].Points.AddXY(x.druh.Trim(), Convert.ToDecimal(x.Pocet));
                    }

                }
                grd_data.DataSource = xxxx;
            }
 
Odpovědět
24.5.2018 10:29
Avatar
Odpovídá na Frantisek Jesatko
Frantisek Jesatko:24.5.2018 11:10

Pravděpodobná příčina proč se to rozhazuje je , že v každém měsíci není stejný počet událostí a některé se nevyksytují proto je sql nevybere. Když je jiný počet pak je jiné řazení a do grafu se to naseká jak se to hodí. Ale jak z toho ven ?

 
Nahoru Odpovědět
24.5.2018 11:10
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:24.5.2018 11:25

Grafy jsem nikdy neresil.
Rekneme, ze v db mas pro ruzne mesice ruzny pocet hodnot. A ty bys potreboval stejny. Tak si predem vygeneruj nulove pole, polozky, ne?
Nevis, kolik je v mesici min, max? Tak si nejdriv pojdi vsechny vysledky, spocitej min-max, pak vygeneruj prazdne pole. A pak tam prepis polozky.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
24.5.2018 11:25
Avatar
Frantisek Jesatko:24.5.2018 11:37

uplně nechápu jak to myslíš?

 
Nahoru Odpovědět
24.5.2018 11:37
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.