Hi Anton,
You can set the pad not editable via
gPad->setEditable(kFALSE);
You can still locate, use the context menu, but the
functions ExecuteEvent return immediatly.
One could imagine a TGraph::SetEditable function
or like for histograms a switch to enable/disable the editing
of a graph.
Rene Brun
On Fri, 3 Mar 2000, Anton Fokin wrote:
> Hi Rene and others,
>
> Just a question ... If I have a graph with a lot of points, it is not easy
> to pick with mouse something in-between of them to move the whole graph up
> and down. Also it is a bit confusing for a user when he/she clicks on a
> graph, then a number of points becomes shown at once, then he/she drags and
> drops a point and then you know what happens, but she/he doesn't -> panic
> and run away. Is it possible to turn off this functionality in some
> applications?
>
> Best regards,
> Anton
>
> -----Original Message-----
> From: brun@pcbrun.cern.ch [mailto:brun@pcbrun.cern.ch]On Behalf Of Rene
> Brun
> Sent: Friday, March 03, 2000 11:49 AM
> To: Anton Fokin
> Cc: Rene Brun; roottalk@pcroot.cern.ch
> Subject: Re: TGraph drawing options
>
>
> Hi Anton,
> You will get may be some more inspiration from the macro below.
> This macro exploits the power of the list of functions
> associated with a TH1 object. The list of objects there
> is obviously persistent. Just check it after having run the macro,
> you can start a new session with
> Root > TFile f("anton.root");
> Root > hgr->Draw("p");
>
> Also in the macro, note the way to specify clipping to the frame
> boundary
> in a pad (this applies to markers, polymarkers, lines and graphs).
>
> I am reluctant to add this kind of functionality to TGraph.
> I would like this class to be a light weight class (already too big).
> If I implement an additional member as you suggest to support
> color for each marker, the next client will request another array
> to specify different marker styles and why not marker colors.
> This is so simple to implement with TMarker.
>
> Rene Brun
>
> {
> gROOT->Reset();
> gStyle->SetPalette(1);
> gStyle->SetOptStat(0);
> c1 = new TCanvas("c1");
> c1->SetBit(TGraph::kClipFrame);
>
> TFile *f = new TFile("anton.root","recreate");
> const Int_t n = 20;
> TH1F *hgr = new TH1F("hgr","a simple graph",n,0.5,n+0.5);
> hgr->SetMarkerStyle(21);
> hgr->SetXTitle("X title");
> hgr->SetYTitle("Y title");
> for (Int_t i=1;i<=n;i++) {
> hgr->SetBinContent(i,10*sin(0.1*i));
> TMarker *m = new TMarker(hgr->GetBinCenter(i),
> 0.5*hgr->GetBinContent(i),22);
> m->SetMarkerColor(2*i+60);
> hgr->GetListOfFunctions()->Add(m);
> }
> TPaveLabel *pl = new TPaveLabel(6,1,20,2.2,
> "To show GetListOfFunctions persistency");
> hgr->GetListOfFunctions()->Add(pl);
> hgr->Draw("p");
> hgr->Write();
> }
>
>
> Anton Fokin wrote:
> >
> > Hi Rene,
> >
> > this is not exactly a solution I want to have. A set of markers is not a
> > graph, isn't it? Apart from not be able to handle it as a single object
> > (i.e. read, write, send, change attributes for each point at once), you
> have
> > some problems with drawing, for example with clipping (on zoom you get
> > points painted outside the histogram).
> >
> > Best,
> > Anton
> >
> > -----Original Message-----
> > From: Rene Brun [mailto:brun@pcbrun.cern.ch]
> > Sent: Thursday, March 02, 2000 11:06 PM
> > To: Anton Fokin
> > Cc: Rene Brun; roottalk@pcroot.cern.ch
> > Subject: Re: TGraph drawing options
> >
> > Hi Anton,
> > What you want is already implemented. I show two methods
> > in the example below> I hope it is clear enough.
> >
> > Rene Brun
> >
> > {
> > gROOT->Reset();
> > gStyle->SetPalette(1);
> > gStyle->SetOptStat(0);
> > c1 = new TCanvas("c1");
> > c1->SetGrid();
> >
> > const Int_t n = 20;
> > TH1F *hgr = new TH1F("hgr","a simple graph",n,0.5,n+0.5);
> > for (Int_t i=1;i<=n;i++) hgr->SetBinContent(i,10*sin(0.1*i));
> > hgr->SetMarkerStyle(21);
> > hgr->SetXTitle("X title");
> > hgr->SetYTitle("Y title");
> > hgr->Draw("p");
> > for (Int_t j=1;j<=n;j++) {
> > TMarker *m = new TMarker(hgr->GetBinCenter(j),
> > 0.5*hgr->GetBinContent(j),22);
> > m->SetMarkerColor(j);
> > m->Draw();
> > }
> > }
> >
> > On Thu, 2 Mar 2000, Anton Fokin wrote:
> >
> > > Hi rooters!
> > >
> > > I think it would be nice to have a mode in which point number is drawn
> as
> > a
> > > marker for TGraph. It is very useful if you want to plot, for example,
> > > points from an event generator running with different sets of initial
> > > conditions, i.e. 1,2,3,4,5 and you want to see a correspondence between
> > set
> > > number and a point on the graph.
> > >
> > > It would be nice of course to have an opportunity to set different
> > > colors/attributes for every graph point, but it is not easy to
> implement.
> > > Well, it is easy if Rene adds a "fZ" array with point colors and then
> > > changes a bit Paint function :)
> > >
> > > Best regards,
> > > Anton
> > >
>
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:20 MET