Accueil > > > USER CONTROL GRAPHIQUE VB 2005
USER CONTROL GRAPHIQUE VB 2005
Information sur la source
Description
Tout d'abord rendre à César ce qui est à César :
Je suis parti du code de Nicholas 99 que vous pouvez trouver sur le lien suivant : http://www.vbfrance.com/codes/COURBE-2D-SANS-MSCHA RT_35511.aspx
Il s'agit d'un code pour tracer un graphique. Il faut l'integrer dans une fenetre comme n'importe quel user control.
Le nombre de séries est volontairement limité à 10 pour des raisons de lisibilité du graphique, un message informe si l'on veut 'forcer' une serie de trop. Ce paramètre est géré par une simple variable, plus la liste des modèles de couleur à compléter.
Le nombre de 'moyenne mobile' est limité à 3 de la même façon que pour les séries (modifiable également de la même façon)
Il y a un ensemble de proprietes qui commencent par _
Il y a egalement 2 modeles de couleurs : XLLike et Base
Il n'y a pas de gestion d'erreurs a proprement parler, si vous avez des difficultés merci de me les signaler
Toute critique est bienvenue, positive ou negative. Merci d'avance
Source
- Code partiel (exemple) :
-
- Sub test()
- Dim aa As New UcGraph
-
- aa._RafraichiLive = False 'Eviter le cligonetement
-
- aa.ClearMe()
-
- aa.Top = 370
- aa.Left = 50
- aa.Height = 400
-
- aa._TitreGraphique = "Essai de graphe"
- aa._TitreAxeX = "Valeurs X"
- aa._TitreAxeY = "Valeurs Y"
- aa._PointVisible = True 'point sur la courbe
- aa._LegendeVisible = True
-
- Dim ab() As Double
- Dim max As Integer = 900
-
- Dim listeE(5) As String
- For x As Integer = 0 To 5
- listeE(x) = Str(2000 + x)
- Next
- aa.AddEtiquettesX(listeE)
-
- For x As Integer = 0 To 8
- ab = New Double() {CDbl(Int((max * Rnd()) + 1)), CDbl(Int((max * Rnd()) + 1)), _
- CDbl(Int((max * Rnd()) + 1)), CDbl(Int((max * Rnd()) + 1))}
- aa.AddCourbe(x, "Test" & " " & x & " " & x, True, False, False, False, ab)
- Next
- aa.AddCourbe(1, "Test Max", True, False, False, True, New Double() {15, 15, 18, 41, 45, 69, 35})
-
- aa._RafraichiLive = True
-
- Me.Controls.Add(aa)
-
- End Sub
Code partiel (exemple) :
Sub test()
Dim aa As New UcGraph
aa._RafraichiLive = False 'Eviter le cligonetement
aa.ClearMe()
aa.Top = 370
aa.Left = 50
aa.Height = 400
aa._TitreGraphique = "Essai de graphe"
aa._TitreAxeX = "Valeurs X"
aa._TitreAxeY = "Valeurs Y"
aa._PointVisible = True 'point sur la courbe
aa._LegendeVisible = True
Dim ab() As Double
Dim max As Integer = 900
Dim listeE(5) As String
For x As Integer = 0 To 5
listeE(x) = Str(2000 + x)
Next
aa.AddEtiquettesX(listeE)
For x As Integer = 0 To 8
ab = New Double() {CDbl(Int((max * Rnd()) + 1)), CDbl(Int((max * Rnd()) + 1)), _
CDbl(Int((max * Rnd()) + 1)), CDbl(Int((max * Rnd()) + 1))}
aa.AddCourbe(x, "Test" & " " & x & " " & x, True, False, False, False, ab)
Next
aa.AddCourbe(1, "Test Max", True, False, False, True, New Double() {15, 15, 18, 41, 45, 69, 35})
aa._RafraichiLive = True
Me.Controls.Add(aa)
End Sub
Conclusion
Quelques détails :
'=======================
'Methodes
'======= ================
'AddMoyenneMobile(ByVal NumCourbe As Integer, ByVal Periode As Integer)
'Ajouter une moyenne mobile (n° de courbe de reference, periode)
'RemoveMoyenneMobile(ByVal Numero As Integer)
'enlever une moyenne mobile (n° de la courbe de reference)
'ZapMoyennesMobiles()
'Effacer TOUTES les moyennes mobiles
'AddCourbe(ByVal Ordre As Integer, ByVal Titre As String, ByVal Courbe As Boolean, ByVal Barre As Boolean, ByVal Curseur As Boolean, ByVal Moyenne As Boolean, ByVal Valeurs() As Double)
'Ajouter une courbe
'DeleteCourbe(ByVal NumeroDeSerie As Integer)
'Supprimer une courbe
'ZapCourbes()
'Supprimer TOUTES les courbes
'AddEtiquettesX(ByVal Liste() As String)
'Ajouter les etiquettes de l'axe X
'ZapEtiquettes()
'Effacer les etiquettes de l'axe X
'ClearMe()
'Effacer tout en un seul coup
'====================
'Proprietes
'===== ===============
'_AxeYBeginZero() As Boolean ' l'axe Y commence à zéro ou non
'_DeuxAxesY() As Boolean ' Les valeurs Y sont representées à droite
'_TitreAxeX() As String ' Titre de l'axe X
'_TitreAxeY() As String ' Titre de l'axe Y
'_FontAxeX() As Font
'_FontAxeY() As Font
'_CouleurAxe() As Color
'_CouleurTitreAxeX() As Color
'_CouleurTitreAxeY() As Color
'_CouleurEchelle() As Color
'_FontTitre() As Font
'_CouleurTitre() As Color
'_TitreGraphique() As String
'_TaillePointCourbe() As Integer
'_PointVisible() As Boolean
'_EpaisseurCourbe() As Integer
'_CouleurContourGraphe() As Color
'_ContourVisible() As Boolean
'_CouleurFondGraphe() As Color
'_CouleurZoneTracage() As Color
'_CouleurGrille() As Color
'_Moyenne(ByVal n As Integer) As Double
'_LegendeVisible() As Boolean
'_Ombre() As Boolean
'_ModeleDeCouleur() As Modele
'_RafraichiLive() As Boolean
Historique
- 19 mai 2007 21:36:07 :
- Inof supplementaire sur le nombre max de series
- 19 mai 2007 22:35:07 :
- Correction de l'emplacement des titres d'axe
- 19 mai 2007 22:38:12 :
- Correction de commentaire et ajout methode zapetiquetteX
- 22 mai 2007 17:08:13 :
- Ajout d'une propriete _RafraichiLive (boolean)
Pour eviter les clignotements lors de la modification des proprietes par programme
- 30 juillet 2007 16:42:56 :
- Correction selon commentaire de Le5eJumeau
Integration dan sun projet
- 29 août 2007 18:23:31 :
- Ajout des fonctionnalités de 'moyenne mobile'
- 31 août 2007 18:25:21 :
- Ajout des fonctions de moyenne mobile
- 26 septembre 2007 18:23:46 :
- Correction des etiquettes X qui se chevauchaient selon la largeur du graphique
ajout d'une propriete 'un axe marqué' ou 'deux axes marqués'
ajout propriete 'axe Y commence à zero'
recadrage de la legende qui debordait selon le decoupage du texte
Prise en compte de valeurs réélles et negatives
- 26 septembre 2007 18:27:26 :
- - Correction des etiquettes X qui se chevauchaient selon la largeur du graphique
- ajout d'une propriete 'un axe marqué' ou 'deux axes marqués'
- ajout d'une propriéte 'axe Y commence à zero'
- recadrage de la légende qui debordait
- prise en compte des valeurs réélles et des négatifs.
- 26 septembre 2007 18:28:00 :
- - Correction des etiquettes X qui se chevauchaient selon la largeur du graphique
- ajout d'une propriete 'un axe marqué' ou 'deux axes marqués'
- ajout d'une propriéte 'axe Y commence à zero'
- recadrage de la légende qui debordait
- prise en compte des valeurs réélles et des négatifs.
- 27 septembre 2007 10:32:44 :
- Upload du ZIP
- 02 octobre 2007 17:35:21 :
- Upload ZIP projet complet
- 19 octobre 2007 09:54:57 :
- - Transformation en classe
- Meilleur update visuel (sans clignotement)
- Correction du nb de valeurs sur moyenne mobile (-1)
- Marge droite permettant que la derniere valeur soit toujours décalée de l'axe droit
- Utilisation de la totalité de la zone de tracage pour représenter les courbes.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
transformer plage de données en graphe [ par Edgar ]
Bonjour à tous,je voudrais savoir s'il est possible de transformer directement une plage de données d'une feuille Excel en un graphique. Il ne s'agit
Graphique(courbe) à partir de 2 séries de données [ par niouk ]
Je dispose de 2 séries de données dans un contrôle MSFlexGrid dans les colonnes 0 et 1. Comment faire pour afficher un graphique avec 2 courbes simult
Graphique(courbe) à partir de 2 séries de données [ par niouk ]
Je dispose de 2 séries de données dans un contrôle MSFlexGrid dans les colonnes 0 et 1. Comment faire pour afficher un graphique avec 2 courbes simult
Je veux tracer un graphique (courbe) !!! [ par log2002 ]
Bonjour,existe-il une fonction pour tracer des graphique sur vb !sinon merci de me diriger !merci à tous,
Graphique comme Excel ! [ par pingooo ]
Salut à tous !Nouveau petit problème: J'ai une MSHFlexGrid pleine de données.Jusque là, ça va ... maintenant, j'aimerais sélectionner les données avec
graphe dyamique en reseaux [ par doublejef ]
Je cherche à réaliser une interface pour une communication entre un serveur et un ordinateur.Une fois la connection établie si le serveur envoi des va
GRAPHIQUE EXCEL [ par nagattaque ]
Bonjour tout le monde,Voila j'aimerai savoir comment faire pour selectionner une courbe sur un graphe excel.Le principe que j'aimerai mettre en place
GRaphique sous excel [ par yanndan ]
Bonjour,Ca fait qualques jours que je cherhce mais jene trouve pas ce que je cherche. Je cherche à faire une macro qui dessine un graphique à
MS Chart [ par briwax ]
Salut tt le monde,je vous expose mon problème rapidement : j'aimerais réaliser un graphique en courbe avec en entrée des coordonné
Masquer des séries d'un graphique [ par nostra78 ]
Bonjour,Sur mon graphique, j'ai plusieurs séries, j'aimerais créer un bouton qui permette de masquer des séries.En effet, le graphe dev
|
Derniers Blogs
[SHAREPOINT] NOUVELLE PRéSENTATION POUR LA DOCUMENTATION SHAREPOINT SUR TECHNET.[SHAREPOINT] NOUVELLE PRéSENTATION POUR LA DOCUMENTATION SHAREPOINT SUR TECHNET. par Patrick Guimonet
Vous l'avez peut-être déjà remarqué ? La documentation SharePoint a subit un cure de "relooking" et prend un style inspiré de Metro, donc plus sobre, plus pur, plus clair ! C'est sur fond blanc et ca ressemble à ça : Globaleme...
Cliquez pour lire la suite de l'article par Patrick Guimonet ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Forum
FEUILLE EXCELFEUILLE EXCEL par samanta26
Cliquez pour lire la suite par samanta26 FEUILLE EXCELFEUILLE EXCEL par samanta26
Cliquez pour lire la suite par samanta26
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|