2015-07-30 13 views
6

Jestem nowy w funkcjach wykresów w bibliotece .NET System.Windows.Forms.DataVisualization.Charting. Podczas mojego odkrywczego prototypowania utworzyłem wykres, do którego mogę dodawać losowe punkty, zmieniać typ wykresu, itp. Ale zauważyłem, że za każdym razem dodawam do wykresu więcej niż 34998 punktów (niezależnie od tego jakiego rodzaju wykresu używam) , cały wykres znika i zostaje zastąpiony dużym "X". Nie jest zgłaszany wyjątek i nie wydaje się być ograniczeniem samego zbioru punktów. (Jeśli przejdę przez kod podczas dodawania 34999. punktu, zostanie on dodany do kolekcji, ale zaraz po odświeżeniu wykresu natychmiast zostanie zastąpiony przez X).Czy kolekcje punktów na wykresach .NET mają górny limit?

Zdaję sobie sprawę, że jest to duża liczba punktów, które trzeba mieć na wykresie, i zamierzam przyjrzeć się niektórym technikom decymacyjnym, aby przetestować moje dane wejściowe. Zastanawiałem się jednak, czy istnieje twardy limit na tę liczbę, a który moduł w systemie jest rzeczywistym ograniczeniem (zbiór danych, płótno do rysowania itp.). Nie mogłem znaleźć żadnej wzmianki o tym w the documentation. Czy ktokolwiek wie o takim limicie?

+0

Mam wykresy z liczbą punktów w 400 000+ (24 godziny danych co 2 sekundy dla 15+ elementów wyposażenia) i podczas gdy spowalnia, ładuje się dobrze. –

+3

Duży czerwony X jest automatycznie rysowany przez WinForm, gdy procedura obsługi zdarzenia programu Paint zgłasza wyjątek. Wyjątek jest połknięty, dlatego * wygląda * jak nie ma wyjątków. Łatwo zobaczyć w oknie wyjściowym btw. Aby uzyskać lepszy wygląd, użyj pola wyboru Debug> Exceptions> Thrown. –

+0

@ HansPassant- Dziękujemy za sugestię, ale niestety okno Output (ustawione na "Show output from Debug") nie wyświetla żadnych komunikatów. Ponadto w oknie dialogowym Wyjątki debugowania sprawdziłem każde pole "Zrzucone" i "Nieobsługiwane przez użytkownika", ale system nie rozbija się nawet po pojawieniu się czerwonego X. (Zauważyłem, że istnieje przycisk do dodawania wyjątków w tym oknie dialogowym, czy przypadkiem dokładnie wiesz, który wyjątek mogę szukać?) – kmote

Odpowiedz

2

to wykres liniowy ma szereg 2 z 1,000,000 punktów każda: enter image description here

i trwa 6 sekund do renderowania. Przypuszczam, że limit to tylko dostępna pamięć. Jedną z najczęstszych przyczyn "Big Red X Of Doom" jest to, że punkty, które dodajesz, są poza wartościami minimalnymi i maksymalnymi osi, na wypadek, gdybyś nimi manipulował.

Powiązane problemy