Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

camembert sur 180°

2 réponses
Avatar
sg
Bonjour à tous,

Je suis à la recherche d'un activex ou une dll afin de faire des graphiques
plus paramètrables que ceux de windev,
surtout des camemberts mais sur 180° au lieu de 360°.

Auriez-vous quelques idées à partager svp ?

Jean-Jacques
WebJaseur

2 réponses

Avatar
Fredo MT
Bonjour,

il existe une DLL .NET nommée ZedGraph où vous pouvez réaliser tout type de
Graphe, et les combiner. Il est possible de faire des camemberts également
et il me semble que la forme du camembert est aussi paramétrable.
Voici un bout de code que l'on peut mettre dans un bouton, puis ajouter un
champ image, pour afficher le graphe. C'est un bon exemple pour commencer.

list1 est un objet PointPairList dynamique

list2 est un objet PointPairList dynamique

TailleRect est un objet RectangleF dynamique

Courbe est un objet LineItem dynamique

GraphRes est un objet GraphPane dynamique

gRes est un objet Graphics dynamique

GraphResics est un objet Graphics dynamique

i est un entier

x,y sont des réels



list1 = allouer PointPairList()

list2 = allouer PointPairList()

TailleRect = allouer RectangleF(0,0,IMG_GRAPHE..Largeur,
IMG_GRAPHE..Hauteur)

GraphRes = allouer GraphPane(TailleRect,"","","")

gRes = Graphics::FromHwnd(Handle(IMG_GRAPHE))

GraphRes:Title = "Graphique"

GraphRes:XAxis:Title = "Temps"

GraphRes:YAxis:Title = "Pression"

GraphRes:Y2Axis:Title = "Température"

POUR i=0 A 36

x = i +5

y = 1.5 + Sinus(i*36)

list1:Add(x,y)

list2:Add(x,y*3)

FIN

GraphRes:Legend:IsVisible = True;

Courbe = GraphRes:AddCurve("Courbe Pression", list1, Color::Red,
SymbolType::Circle)

Courbe:Line:Width = 1.5

Courbe:Symbol:Fill = allouer Fill(Color::White)

Courbe:Symbol:Size = 5

Courbe = GraphRes:AddCurve("Courbe Température", list2, Color::Blue,
SymbolType::Circle)

Courbe:Line:Width = 1.5

Courbe:Symbol:Fill = allouer Fill(Color::White)

Courbe:Symbol:Size = 5

Courbe:IsY2Axis = True

GraphRes:YAxis:ScaleFontSpec:FontColor = Color::Red

GraphRes:YAxis:TitleFontSpec:FontColor = Color::Red

GraphRes:Y2Axis:IsVisible = True

GraphRes:Y2Axis:ScaleFontSpec:FontColor = Color::Blue

GraphRes:Y2Axis:TitleFontSpec:FontColor = Color::Blue

GraphRes:Y2Axis:IsShowGrid = True

GraphRes:XAxis:IsShowGrid = True

GraphRes:AxisFill = allouer Fill(Color::White, Color::SteelBlue, 45.0)

GraphRes:AxisChange(gRes)

GraphRes:Draw(gRes)


"sg" a écrit dans le message de news:
44fb0363$0$5540$
Bonjour à tous,

Je suis à la recherche d'un activex ou une dll afin de faire des
graphiques
plus paramètrables que ceux de windev,
surtout des camemberts mais sur 180° au lieu de 360°.

Auriez-vous quelques idées à partager svp ?

Jean-Jacques
WebJaseur





Avatar
sg
merci du tuyau j'étudie cela ;-)

"Fredo MT" a écrit dans le message de news:
44fd81c4$0$4733$
Bonjour,

il existe une DLL .NET nommée ZedGraph où vous pouvez réaliser tout type
de Graphe, et les combiner. Il est possible de faire des camemberts
également et il me semble que la forme du camembert est aussi
paramétrable.
Voici un bout de code que l'on peut mettre dans un bouton, puis ajouter un
champ image, pour afficher le graphe. C'est un bon exemple pour commencer.

list1 est un objet PointPairList dynamique

list2 est un objet PointPairList dynamique

TailleRect est un objet RectangleF dynamique

Courbe est un objet LineItem dynamique

GraphRes est un objet GraphPane dynamique

gRes est un objet Graphics dynamique

GraphResics est un objet Graphics dynamique

i est un entier

x,y sont des réels



list1 = allouer PointPairList()

list2 = allouer PointPairList()

TailleRect = allouer RectangleF(0,0,IMG_GRAPHE..Largeur,
IMG_GRAPHE..Hauteur)

GraphRes = allouer GraphPane(TailleRect,"","","")

gRes = Graphics::FromHwnd(Handle(IMG_GRAPHE))

GraphRes:Title = "Graphique"

GraphRes:XAxis:Title = "Temps"

GraphRes:YAxis:Title = "Pression"

GraphRes:Y2Axis:Title = "Température"

POUR i=0 A 36

x = i +5

y = 1.5 + Sinus(i*36)

list1:Add(x,y)

list2:Add(x,y*3)

FIN

GraphRes:Legend:IsVisible = True;

Courbe = GraphRes:AddCurve("Courbe Pression", list1, Color::Red,
SymbolType::Circle)

Courbe:Line:Width = 1.5

Courbe:Symbol:Fill = allouer Fill(Color::White)

Courbe:Symbol:Size = 5

Courbe = GraphRes:AddCurve("Courbe Température", list2, Color::Blue,
SymbolType::Circle)

Courbe:Line:Width = 1.5

Courbe:Symbol:Fill = allouer Fill(Color::White)

Courbe:Symbol:Size = 5

Courbe:IsY2Axis = True

GraphRes:YAxis:ScaleFontSpec:FontColor = Color::Red

GraphRes:YAxis:TitleFontSpec:FontColor = Color::Red

GraphRes:Y2Axis:IsVisible = True

GraphRes:Y2Axis:ScaleFontSpec:FontColor = Color::Blue

GraphRes:Y2Axis:TitleFontSpec:FontColor = Color::Blue

GraphRes:Y2Axis:IsShowGrid = True

GraphRes:XAxis:IsShowGrid = True

GraphRes:AxisFill = allouer Fill(Color::White, Color::SteelBlue, 45.0)

GraphRes:AxisChange(gRes)

GraphRes:Draw(gRes)


"sg" a écrit dans le message de news:
44fb0363$0$5540$
Bonjour à tous,

Je suis à la recherche d'un activex ou une dll afin de faire des
graphiques
plus paramètrables que ceux de windev,
surtout des camemberts mais sur 180° au lieu de 360°.

Auriez-vous quelques idées à partager svp ?

Jean-Jacques
WebJaseur