[R] Courbe dynamique

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

[R] Courbe dynamique

#1

Message par Hugues »

Bonjour,

J'aimerai savoir s'il est possible de réaliser des courbes du genre comme ci-dessous? Je sais qu'il existe GDI... mais je ne suis pas sur qu'il puisse faire ce que je veux... C'est à dire tracer une courbe à partir un fichier *.csv, et ensuite avoir un curseur "dynamique" qui donne les valeurs correspondant au point de la courbe...

http://imagesia.com/curve_7zlk

Merci par avance pour votre aide!
Modifié en dernier par Hugues le jeu. 23 mai 2013 22:05, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Courbe dynamique

#2

Message par mikell »

Pourquoi pas ?
On lit le csv dans une array, on trace la courbe sur un Graphic
► Afficher le texte
Ensuite un slider en correspondance avec l'array
C'est surtout le look qui demanderait du travail, le moteur n'est pas très difficile à faire
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Courbe dynamique

#3

Message par Hugues »

Ok, j'essaie ça.

Merci.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Courbe dynamique

#4

Message par mikell »

Exemple
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Courbe dynamique

#5

Message par Hugues »

Me revoilà lol...

Je ne sais pas si je me suis tourné vers la bonne solution en utilisant cette fonction...

Maintenant il ne me reste plus qu'à faire un mixte des 2 fonctions mais ca va être chaud lol car je ne sais pas si dans la fonction _CSV2Array, on peut dire de lire les colonnes B et J pour les valeurs de ma courbes.
► Afficher le texte
► Afficher le texte

Code : Tout sélectionner

Global $a[101][2] = [[0, 0]] -> Initialisation du tableau?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Courbe dynamique

#6

Message par mikell »

Hum faudrait que tu postes le csv ou au moins un extrait significatif
A vue de nez le plus simple serait de sortir l'array avec _CSV2Array, et ensuite de créer l'array de coordonnées à 2 colonnes en extrayant de la 1ère array les colonnes voulues (ou en virant les autres)
On peut aussi se faire une _CSV2Array custom qui sortira direct l'array n° 2
Et faudra adapter l'échelle de la courbe (très fun ça ^^ )
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Courbe dynamique

#7

Message par Hugues »

Voilà un exemple de mon fichier *.csv (le nom des colonnes est absent:

Les valeurs pour ma courbes sont la 8ème colonne...
► Afficher le texte
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Courbe dynamique

#8

Message par Hugues »

Les colonnes qui m'interessent le plus sont:
Colonne 3 -> Réference
Colonne 4 -> Date et Heure
Colonne 8 -> Valeurs pour tracer de la courbe
Colonne 12 -> ID1
Colonne 13 -> ID2
Colonne 15 -> Tolérance inférieure
Colonne 16 -> Tolerance supérieure

Courbe désirée pour mémoire: http://imagesia.com/curve_7zlk

Merci.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Courbe dynamique

#9

Message par mikell »

Pour pouvoir tester vaudrait mieux que tu postes carrément le fichier, apparemment les séparateurs sont des tabulations et dans le texte posté le forum les transforme en espaces...
Et faudrait savoir si le nombre de lignes est variable ou pas
Mais effectivement faire une fonction custom parait un meilleur plan
Par exemple (valable pour ce que tu as posté) :

Code : Tout sélectionner

#Include <Array.au3>
$txt = FileRead("1.txt")
$res = StringRegExp($txt, '(?s)\s+(\d+,\d+).+?(?:\v|\Z)', 3)
_ArrayDisplay($res)
Mais pour extraire plusieurs données faut qqe chose de plus élaboré
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Courbe dynamique

#10

Message par Hugues »

Le nombre de colonne est toujours le même, mais effectivement pas le nombre de lignes.
Il s'agit sur requête sur un point de mesure.
Mon fichier peut contenir de 0 lignes à x lignes en fonction des dates de requêtes et des résultats trouvés.

Je suppose que je dois mettre mon fichier sur un site hebergeur pour le joindre?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Courbe dynamique

#11

Message par mikell »

Le fichier tu peux le mettre en pièce jointe dans ton message
A priori le nombre de lignes dans le fichier va correspondre aux graduations de l'axe x de la courbe, c'est pas un concept anodin pour envisager le paramétrage :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Courbe dynamique

#12

Message par Hugues »

En effet, l'echelle de la courbe dependra du nombre de lignes de mon fichier, ainsi que les tolérances inférieure et supérieure...

Voici mon fichier: http://cjoint.com/?CEvw76HJfTS
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Courbe dynamique

#13

Message par mikell »

Les bonnes nouvelles s'accumulent ... :mrgreen:
Extraire les parties du csv qui t'intéressent dans une array est facile, mais le problème principal va être l'affichage
Pour l'axe x de ta courbe la graduation minimale est de 1 px, 6559 lignes dans le csv => 6559 pixels de largeur pour la courbe
Donc va falloir ou bien fractionner le csv et afficher les parties successivement, ou bien faire en sorte de pouvoir faire défiler la courbe
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Courbe dynamique

#14

Message par Hugues »

LOL, oui le problème reste l'affichage... :mrgreen:
Car mon fichier peut avoir plus de lignes encor en fonction de l'étendue de la requête...
Pour ma part, le défilement de la courbe serait plus "sympa" pour l'aspect visuel :mrgreen:
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [..] Courbe dynamique

#15

Message par GhostLine »

Sinon, il reste la solution de faire une moyenne des valeurs de X en X, où X est le ratio nombre de colonne / résolution de la largeur de l'écran, non ? Quitte à autoriser de zoomer dessus pour avoir plus de détails.
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Courbe dynamique

#16

Message par Hugues »

J'ai esquissé un bout de programme (mixe de plusieurs trouvés et donné precedemment... :mrgreen: )

Par contre, bien sur l'echelle est mauvaise, je ne peux pas fermer mon gui, et le gui se ferme automatiquement lorsque l'on slid à fond vers la droite...
► Afficher le texte
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Courbe dynamique

#17

Message par mikell »

Pour faire défiler la courbe, voilà la recette
► Afficher le texte
C'est pas compliqué, mais alors après.... pour les échelles de correspondance avec le slider, ya une chiée + 1 de savants calculs... bon courage...
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Courbe dynamique

#18

Message par Hugues »

Pour l'echelle, j'ai peut-etre une idée... mais je sais pas si elle est facile à exploitée...

En effet, dans mon fichier *.csv, il y a les tolérances mini/maxi pour ma valeur de point.

Donc je pourrais utiliser ces valeurs avec un offset +- pour avoir de la marge et celal me donnerai mon echelle verticale..?
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Courbe dynamique

#19

Message par Hugues »

Sinon question bête... Peut-on faire dialoguer AutoIt et Jfree? :oops:
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Courbe dynamique

#20

Message par mikell »

Pour Jfree j'ai des gros doutes vu que c'est en java mais tu peux toujours le tenter
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre