//makro do narysowania liczby kwantow gamma //w zaleznosci od grubosci absorbenta { gROOT->Reset(); //deklarujemy tablice z danymi x-grubosc absorbenta //y - liczba kwantow gamma //ex, ey - odpowiednie niepewnosci tych wartosci //nazwy tablic moga byc oczywiscie dowolne //8 - oznacza ile bedzie takich par xy double x[8]={2, 5, 7, 10, 12, 15, 17, 20}; double y[8]={1420, 1154, 946, 822, 712, 625, 543, 447}; double ex[8]={0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01}; double ey[8]={38.8, 35.1, 32.1, 30.1, 28.2, 26.6, 25, 23}; //deklarujemy i definiujemy wskaznik do obiektu klasy TGraphErrors TGraphErrors *gr; gr = new TGraphErrors(8,x,y,ex,ey); /////////////////////////////////////////////////////////// //uwaga_1: mozna byloby to od razu napisac w jednej linii: // TGraphErrors *gr = new TGraphErrors(8,x,y,ex,ey); //uwaga_2: zamiast wskaznika mozna rowniez zadeklarowac i zdefiniowac obiekt klasy TGraphErrors //piszemy wtedy: // TGraphErrors gr(8,x,y,ex,ey); //do obiektu odwolujemy sie uzywajac kropki zamiast strzalki (strzalka jest do wskaznikow) //np. gr.SetMarkerColor(9); /////////////////////////////////////////////////////////// //teraz rozne opcje zeby rysunek ladniej wygladal gr->SetMarkerColor(9); //kolor markera (symbolu) gr->SetMarkerStyle(22); //typ markera gr->SetLineColor(1); //ewentualny kolor linii //gr->SetLineWidth(2); //gr->SetLineStyle(2); gr->SetTitle("oslabienie promieniowania gamma"); //gr->SetTitle(""); - tak mozna jesli nie chcemy tytulu gr->GetXaxis()->SetTitle("x (mm)"); gr->GetYaxis()->SetTitle("N"); gr->Draw("AP"); //mozna wyprobowac "ACP" i "ALP" //gotowy rysunek mozna zapisac pod dowolnym formatem //rysunek mozna modyfikowac nie tylko piszac komendy w makrze //ale rowniez klikajac na czesci rysunku lub z paska narzedzi //mozna np. przesunac tytul //w pasku narzedzi: //View->Editor (do zmiany tla, gridX, gridY, skale logarytmiczne) //View->Toolbars (do prostych elementow graficznych) //View->Colors (dostepne kolory) //View->Markers (dostepne markery) //klikajac prawym przyciskiem myszy: //1. na tle rysunku (TCanvas) - gridx, gridy, sklala log., kolory tla //2. na obramowaniu rysunku (TFrame) - np. kolor tla ramki //3. np. na liczbach na osi (TAxis) - polozenie opisu, kolory osi, //odleglosc opisu od osi, kolory i rozmiary czcionek //4. na punktach (TGraphErrors) - mozna zmienic ksztalt i kolor punktow //przesuwac punkty na wykresie //czasami sa problemy z dostaniem sie do punktow - wtedy trzeba sprobowac //klikajac na kilku roznych punktach //5. na linii (jesli takowa jest) - mozna zmienic jej typ, grubosc //te wszystkie ww. ustawienia lepiej robic od razu w makrze //ale niektore z nich wymagaja troche wprawy w uzywaniu klas ROOTa }