|
Assemblage dotnet zedgaph: Récupérer les points |
Débuté par titioun, 12 nov. 2017 11:18 - 7 réponses |
| |
| | | |
|
| |
Membre enregistré 92 messages Popularité : +2 (2 votes) |
|
Posté le 12 novembre 2017 - 11:18 |
Bonjour,
j'ai une nouvelle appli dans laquelle je dois récupérer la liste des points sélectionnés par l’utilisateur sur un graphe XY construit à l'aide de l'assemblage .net zedgraph.
En pratique je souhaite récupérer 2 points sur la courbe pour pouvoir programmer un fit linéaire entre ces points.
Un fois les points récupérés il me faudra extraire de la PointpairList associée à la courbe l'ensemble des points .
Dans un premier temps j'aimerais capter l’événement qui permet de visualiser la valeur du point affiché par Zedgraph. Zedgraph contient un "ZedGraphControl.PointValueHandler"
Dans le menu contextuel inclus dans l'assemblage, il y a une option Show point value
Lorsqu'on clique sur un point du graphe les valeurs sont affichées dans une petite boite de message.
Voilà à quoi devrait ressembler, je pense, la méthode :
zedGraph.PointValueEvent += new ZedGraphControl.PointValueHandler(OnPointValueEvent); string OnPointValueEvent(ZedGraphControl sender, GraphPane pane, CurveItem curve, int iPt) { GraphPane p = zedGraph.GraphPane; string name = curve.Label.Text; string xfmt = curve.GetXAxis(p).Scale.Format; string yfmt = curve.GetYAxis(p).Scale.Format; PointPair pt = curve[iPt]; XDate WHEN = new XDate(pt.Y); RETURN string.Format("{0}: ({1}, {2})", name, WHEN.ToString(yfmt), pt.X.ToString(xfmt)); }
Pouvez-vous m'aider à traduire ce code svp
Merci. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 92 messages Popularité : +2 (2 votes) |
|
Posté le 18 novembre 2017 - 17:10 |
Bonjour
Je remonte ce post.
Je n'ai pas réussi à m'en sortir aussi je fais à nouveau appel à vous.
Comme ce point m'apporterait une aide précieuse je recherche un prestataire qui pourrait m'aider à réaliser cette étape.
Merci de vous faire connaitre si cela vous intéresse
Cordialement |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 92 messages Popularité : +2 (2 votes) |
|
Posté le 24 novembre 2017 - 08:49 |
Bonjour,
pas d'amateur ?
Merci de vous faire connaître. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 24 novembre 2017 - 16:56 |
hello, il y a un souci avec l'événement que tu veux utiliser. C'est qu'il envoie en série des données dès que tu passes à proximité du point et pas quand tu cliques dessus.
-- Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 92 messages Popularité : +2 (2 votes) |
|
Posté le 27 novembre 2017 - 12:56 |
Bonjour JP,
j'avoue que je comptais un peu sur ton aide car tu m'as déjà fait avancer à de nombreuses reprises sur Zedgraph.
Du coup pas de solution possible ?
Même dans le cadre dune prestation ?
Cordialement |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 27 novembre 2017 - 17:15 |
hello, tu as de la chance j'ai retrouvé un bout de code qui devrait t'être utile. j'utilise l'événement MouseClick de Zedgraph pour tracer les coordonnées X, Y quand on clique à proximité d'un point. L'activation du code sur click souris :
MonGraphe.add_MouseClick(DotNetDélégué("ZedClick","MouseEventHandler"))
La procédure ZedClick :
Procedure ZedClick(sender, e est un MouseEventArgs) idx est un entier clickedPoint est un PointF(e.X, e.Y) Curve est un CurveItem dynamique = MonGraphe.GraphPane.CurveList.get_Item("Mesures") QUAND EXCEPTIONEXCEPTION DANS res est un booléen = MonGraphe.GraphPane.FindNearestPoint(clickedPoint,Curve,idx) pt est un PointPair dynamique = Curve.get_item(idx) Trace(pt.X,pt.Y) FAIRE Trace("erreur") FIN
-- Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 92 messages Popularité : +2 (2 votes) |
|
Posté le 29 novembre 2017 - 08:40 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 92 messages Popularité : +2 (2 votes) |
|
Posté le 29 novembre 2017 - 09:17 |
Du coup, je me suis fendu d'un petit CrossHair
QUAND EXCEPTIONEXCEPTION DANS res est un booléen = FEN_Main.MonGraphe.GraphPane.FindNearestPoint(clickedPoint,Curve,idx) pt est un PointPair dynamique = Curve.get_item(idx) x,y sont des réels x = pt.X y = pt.Y xHair est un LineObj dynamique xHair = new LineObj(FEN_Main.MonGraphe.GraphPane.XAxis.Scale.Min, y, FEN_Main.MonGraphe.GraphPane.XAxis.Scale.Max, y) yHair est un LineObj dynamique yHair = new LineObj(x, FEN_Main.MonGraphe.GraphPane.YAxis.Scale.Min, x, FEN_Main.MonGraphe.GraphPane.YAxis.Scale.Max) FEN_Main.MonGraphe.GraphPane.GraphObjList.Add(xHair) FEN_Main.MonGraphe.GraphPane.GraphObjList.Add(yHair)
FEN_Main.MonGraphe.Refresh() FAIRE
Merci encore |
| |
| |
| | | |
|
| | | | |
| | |
|