Newsgroup: it.comp.programmare.win32
Titolo: Problema non comune

Ho un problema esistenziale!! Devo creare un grafico X-Y con visual C++ ma
non ho la più pallida idea di come fare!
Ho provato ad utilizzare alcuni degli activex ma nessuno fa veramente un
grafico X-Y.
Ogni idea o consiglio, anche su dove trovare eventualmente materiale
inerente, è bene accetto
SONO  davvero incasinato quindi ringrazio chiunque mi aiuti!!



Essendo un problema non comune, cos'è esattamente un grafico X-Y?
Luc.


Un Grafico X-Y è un grafico in cui ho due serie di dati; la prima mi
rappresenta l'asse dell x e la seconda l'asse delle y.
per esempio io ho la tabella
tempo[sec]        spazio percorso [metri]
0                        0
1                        20
2                        25
3                        32
4                        40
e di questa tabella devo fare un grafico cartesiano come quello che si
farebbe su un foglio di carta con la matita e il righello.


Ah... classico... chissà cosa credevo... 8)
Luc
PS: Ma qual'è il 'vero' problema?


Il problema sta tutto qui:
1) ho provato ad usare alcuni degli activex presenti in visul c++ 6.0  (tipo
il chart fx e il VCI First Impression Chart anche se mi danno l'impressione
di essere dei demo e che per avere la versione completa bisogna contattare
qualcuno)ma nessuno mi permette di fare un grafico x-y ma solo dei grafici
di serie di punti cioé dei grafici in cui l'asse x è l'indice del vettore
che contiene le y.
2) ho provato ad utilizzare l'active x mschart; riesco a cambiare tutte le
proprietà e le impostazioni del grafico ma non  sono riuscito a passargli i
miei dati;
3) alcuni miei colleghi mi hanno suggerito di costruirmelo partendo da zero
cioè disegnandomi tutto, assi, etichette, leggende, punti, funzioni e
accessori vari; ma nessuno sa dirmi come fare questo immane lavoro e la mia
conoscenza del c++ non è così estesa.
Le soluzioni possibili a questo punto sono due: o trovo quelcuno che mi
spiega come utilizzare l'mschart o trovo qualche anima pia che mi spiega
come costruirmi il mio grafico partendo da zero.
Ti ringrazio per l'interessamenteo e spero vivamente che tu mi possa
aiutare...
Gigi
e-mail 
min...@kirk.science.unitn.it

aiutare...
Ciao, Luc.

> 
G> Un Grafico X-Y è un grafico in cui ho due serie di dati; la prima mi
G> rappresenta l'asse dell x e la seconda l'asse delle y.
Questi  direi che  si fanno  direttamente con  le API  di tracciamento
delle linee... Ti  studi un attimo il sistema  di coordinate dei pixel
usato  da Windows, rimappi  i valori  del grafico  in punti  della tua
matrice  e tracci  le linee.  E' uno  dei problemi  più  antichi della
computer grafica con applicazioni scientifiche (o musicali :) ).
\begin{avviso}
 
Attenzione: Leggersi lo header riguardo al mio e-mail!
Warning: read header for infos about my e-mail.
\end{avviso}
+----------------------------------------------------------------+
| Gian Uberto Lauri * "So, are you working on fixing that bug    |
| 
sa...@eng.it
      *  *now* or leaving it until later ?" - YES  |
+----------------------------------------------------------------+


Grazie Gian Uberto, sarà dura ma alla fine mi sa che dovrò fare così; mi
chidevo: visto che è un "problema antico " non è che da qualche parte c'è
gia una soluzione mezza pronta??
grazie GiGi

SONO  davvero incasinato quindi ringrazio chiunque mi aiuti!!
Non conosco VC++ ma credo che supporti COM, quindi se disponi di Excel
puoi usare ExcelChart.
hth
Paolo Arosio

> 
G> Grazie Gian Uberto, sarà dura ma alla fine mi sa che dovrò fare così; mi
G> chidevo: visto che è un "problema antico " non è che da qualche parte c'è
G> gia una soluzione mezza pronta??
Sparare i dati su GnuPlot (sempre che ci sia un port per Windows).
Ti assicuro  che ci metterai molto  meno di quello che  pensi (e forse
anche meno  che usare l'ActiveX). Da  qualche parte ho  del codice che
potrebbe servirti (grafico di una  serie di campioni musicali con zoom
vari), non  ci misi molto a farli  ma adesso "dove diavolo  ho messo i
sorgenti ?" (roba del '97).


 non ho la più pallida idea di come fare!
Io sto usando un grafico discreto preso da 
www.codeguru.com
 che fa cio`
che vuoi, supporta grafici multipli, autoscale e un paio di altre cose
utili. Si tratta di alcune classi MFC, che quindi devi compilare assieme
al resto del tuo codice. Ha qualche bug (e il codice e` pressoche`
illeggibile, le indentazioni sono tutte sbagliate) ma funziona ed e`
free, quindi si puo` sempre migliorare/modificare.
L'URL su codeguru e` questo:
http://codeguru.earthweb.com/controls/graph2d.shtml
(comunque ce ne sono anche altri, io ne ho provati solo un paio perche`
questo mi andava bene).
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/