Odczyt danych z wykresu

0

Witam,

Operuje w środowisku Visual Studio i mam pytanie odnośnie "narzędzia". A mianowicie chciałbym aby po odpaleniu programu pojawiał nam się wykres punktowy, który mógłbym modyfikować w dowolny sposób a następnie odczytać z niego odpowiednie dla mnie dane. Chodzi mi o zmienne kryjące się na osi x i y. Nie bardzo wiem od czego zacząć poszukiwania a moje zapytania do google niestety mi nie pomagają:(

Dzięki wielkie za pomoc i ewentualne wskazówki:)

0

Spróbuj może biblioteki ZedGraph.

0

Właśnie próbuję najpierw narysować wykres a potem spróbować go zmienić...zadałem pytanie bo nie wiem czy tędy droga do rozwiązania tego problemu:(

0

Po co odczytywać coś z wykresu (jako obrazka). Musisz umieć przekształcić wskazanie na wykresie na informacje jaka kolumna/punkt jest wskazywany, a wartość wykresu odczytasz ze źródła danych.
Jeśli sam chcesz rysować wykres, to musisz jedynie umieć przekształcić punkt kliknięcia w wykres na współrzędne OXY na wykresie. A to prosta matematyka jest.

0

Chodzi mi o to, że po włączeniu programu pojawi się wykres(zawierający jakieś domyślne dane - to już potrafię zrobić). Jest to wykres punktowy - mamy charakterystyczne punkty. Teraz potrzebuje w jakiś sposób móc zmienić położenie tych punktów tak, żeby wygenerować dane porządne przez użytkownika. To wszystko mamy robić za pomocą myszki a końcowym efektem pracy będzie wygenerowanie danych do notatnika(to jest akurat nieważne w tym momencie).
I prosiłbym o pomoc właśnie przy przekształcaniu tych punktów, żeby wykres się zmienił i w jaki sposób mam się teraz odnieść do tych zmienionych danych.

0

Jeju, gdzie tu problem? To się na PW pisało w 1,5h albo 0 punktów za laborki :D

Umiesz cokolwiek narysować na formie? Rysujesz x punktów, zapamiętujesz ich współrzędne. Na onmousedown sprawdzasz czy dany punk został trafiony (zazwyczaj środek +- ileś pixeli w każdym kierunku, bo ciężko oczekiwać że narysowany pkt to będzie jeden pixel, ciężko go kliknąć). Na mousemove obliczasz zmianę położenia punktu, odświeżasz form/control (po czym rysujesz) i zmieniasz współrzędne. Na mouseup utrwalasz zmianę. W onpaint rysujesz punkty z listy (może linie między nimi też). Jak userk kliknie "skończyłem malować wykres" bierzesz tą listę punktów zrzucasz do pliku, czy co tam chcesz z tym robić.

0

Gdybym wiedział jak zrobić to wszystko nie miałbym żadnych pytań. Ale, że nigdy wcześniej tego nie robiłem dlatego prosiłem o jakieś wskazówki. Pokazałeś mi drogę do tego więc teraz będę próbował do tego dojść. Jeśli mi się nie uda tego rozwiązać będę pytał dalej.
Ale dzięki za pomoc:)

0

massther..mogę Cie jednak prosić o pomoc. Nigdy wcześniej nie miałem z tym styczności a strona odnośnie zedGraph.org, która wielokrotnie widziałem na forum nie działa:( Mógłbyś napisać(choćby z palca) kod który pozwoliłbym zidentyfikować dany punkt a następnie zmienić jego współrzędne? Tak jak to wyżej napisałeś?:)
Byłbym bardzo wdzięczny za pomoc:)

0

Znaczy w ogóle zaczynasz przygodę z programowaniem. Małymi kroczkami. W onpaint zobacz co i jak możesz narysować. Zobacz jakie funkcji ma Graphics.
Lewy górny róg formy/kontrolki ma współrzędne 0,0 a wykres pewnie 0,0 będzie miał umieszczone gdzie indziej. Jednostka wykresu to może być więcej niż jeden pixel. Zastanów się jak matematycznie to sobie rozwiązać. Czyli jak przekształcić punkt w pixelach na punkt w twoich jednostkach.
W dwa dni powinieneś dać radę.

0

Ostatnim problem jest odczyt współrzędnych. Przesuwając formę w inne miejsce niż domyśle zmienią się piksele na które będę klikał i teraz już zupełnie nie wiem jak mam odczytać położenie punktu w moich współrzędnych:(

1 użytkowników online, w tym zalogowanych: 0, gości: 1