From 4013e09b8225309d0bd8810172a3e421d2be13b6 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 13:26:55 +0100 Subject: [PATCH 01/21] Introduce new tests in stressGraphics arrows - still need to fix TArrow save primitive --- test/stressGraphics.cxx | 166 ++++++++++++++++++---------- test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + 4 files changed, 108 insertions(+), 61 deletions(-) diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index e3cb7daeaa63c..813d78cdd7bbe 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -37,66 +37,67 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "TString.h" +#include "TROOT.h" +#include "TError.h" +#include "TRandom.h" +#include "TRandom3.h" +#include "TBenchmark.h" +#include "TSystem.h" +#include "TApplication.h" +#include "TDatime.h" +#include "TFile.h" +#include "TF1.h" +#include "TF12.h" +#include "TF2.h" +#include "TF3.h" +#include "TH2.h" +#include "TH2Poly.h" +#include "TNtuple.h" +#include "TKey.h" +#include "TProfile.h" +#include "TProfile2D.h" +#include "TProfile2Poly.h" +#include "TProfile3D.h" +#include "TString.h" + +#include "TStyle.h" +#include "TCanvas.h" +#include "TColor.h" +#include "TFrame.h" +#include "TPostScript.h" +#include "TSVG.h" +#include "TPDF.h" +#include "TLine.h" +#include "TArrow.h" +#include "TMarker.h" +#include "TPolyLine.h" +#include "TLatex.h" +#include "TMathText.h" +#include "TLegend.h" +#include "TEllipse.h" +#include "TCurlyArc.h" +#include "TArc.h" +#include "TPaveText.h" +#include "TPaveStats.h" +#include "TPaveLabel.h" +#include "TRatioPlot.h" +#include "TGaxis.h" +#include "TSpline.h" +#include "TPolyMarker.h" +#include "TScatter.h" +#include "TEfficiency.h" +#include "TGraph.h" +#include "TGraphErrors.h" +#include "TGraphAsymmErrors.h" +#include "TGraphBentErrors.h" +#include "TMultiGraph.h" +#include "TGraph2D.h" +#include "TGraph2DErrors.h" +#include "TGraph2DAsymmErrors.h" +#include "TParallelCoord.h" +#include "TImage.h" +#include "TMath.h" const int kMaxNumTests = 70; @@ -195,6 +196,9 @@ int ReadRefFile(const char *fname, std::map &entries) return 0; } + // workaround until all changes in ref file done + TestNum = nline - 1; + if ((TestNum < 1) || (TestNum >= kMaxNumTests)) { printf("Wrong test number %d in line %d from reference file %s\n", TestNum, nline, fname); return 0; @@ -670,6 +674,44 @@ void tpolyline() TestReport(C, "TPolyLine"); } +//////////////////////////////////////////////////////////////////////////////// +/// Test TArrow + +void arrows() +{ + auto C = StartTest(800, 600); + C->Range(0,0,1,1); + + auto par = new TPaveLabel(0.1,0.8,0.9,0.95,"Examples of various arrows formats"); + par->SetFillColor(42); + C->Add(par); + + auto ar1 = new TArrow(0.1,0.1,0.1,0.7); + C->Add(ar1); + auto ar2 = new TArrow(0.2,0.1,0.2,0.7,0.05,"|>"); + ar2->SetAngle(40); + ar2->SetLineWidth(2); + C->Add(ar2); + auto ar3 = new TArrow(0.3,0.1,0.3,0.7,0.05,"<|>"); + ar3->SetAngle(40); + ar3->SetLineWidth(2); + C->Add(ar3); + auto ar4 = new TArrow(0.46,0.7,0.82,0.42,0.07,"|>"); + ar4->SetAngle(60); + ar4->SetLineWidth(2); + ar4->SetFillColor(2); + C->Add(ar4); + auto ar5 = new TArrow(0.4,0.25,0.95,0.25,0.15,"<|>"); + ar5->SetAngle(60); + ar5->SetLineWidth(4); + ar5->SetLineColor(4); + ar5->SetFillStyle(3008); + ar5->SetFillColor(2); + C->Add(ar5); + + TestReport(C, "TArrow"); +} + //////////////////////////////////////////////////////////////////////////////// /// Auxiliary function used by "patterns" @@ -3457,6 +3499,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil tline (); tmarker (); tpolyline (); + arrows (); patterns (); ttext1 (); ttext2 (); @@ -3537,7 +3580,8 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil clonepad (); hbars (); th2poly (); - print_reports (); + + print_reports(); if (!gOptionR) { std::cout << "**********************************************************************\n"; diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 2498ec6d7557c..196d208435ece 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -2,6 +2,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 1 529 50 12767 50 23848 3700 3937 100 569 60 2 4627 600 14506 100 13368 7900 9208 3000 4690 600 3 452 50 12694 50 11232 4200 3796 10700 492 50 + 4 1299 50 13037 100 22200 7000 9608 5000 580 50 4 23617 1500 19386 200 143320 123000 45665 11000 24908 1500 5 1025 150 12802 200 33468 9900 30846 5000 1072 200 6 430 50 12669 50 9558 100 5325 700 471 50 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index 1a1fa5fa5e150..43ed36cf20b58 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -2,6 +2,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 1 529 50 12767 50 23758 3700 3937 100 569 60 2 4627 600 14463 100 13359 7900 9227 3000 4690 600 3 452 50 12694 50 11764 4200 4338 10700 492 50 + 4 1299 50 13037 100 22200 7000 9608 5000 580 50 4 23688 1500 19240 100 143676 123000 47075 11000 24979 1500 5 1025 150 12806 150 32266 9900 29901 5000 1072 200 6 432 50 12683 50 9517 150 5306 700 473 50 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index f526abfdca92c..2e492df29db4f 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -2,6 +2,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 1 1356 58 4268 50 75219 29324 15193 10000 1356 58 2 13739 50 14950 161 33621 3693 17791 7000 13739 50 3 611 50 3802 50 27412 10485 24438 14774 611 50 + 4 1792 50 6059 50 43900 20000 40240 20000 1593 50 4 49021 306 93647 842 304049 30830 140000 65000 49931 306 5 2338 50 4816 50 104754 39759 62489 21274 2338 50 6 577 50 3642 50 16539 6033 13079 6000 577 50 From 6e869d7c4193b61b67023dc413b9caa85a65517d Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 13:57:14 +0100 Subject: [PATCH 02/21] Use meaningful names for svg files in stressGraphics One can easily recognize them and prevent problems when changing test number --- test/stressGraphics.cxx | 137 +++++++++--------- test/svg_ref/{svg60.svg => clonepad.svg} | 0 .../{svg38.svg => efficiency_test.svg} | 0 test/svg_ref/{svg26.svg => feynman.svg} | 0 test/svg_ref/{svg61.svg => hbars.svg} | 0 test/svg_ref/{svg13.svg => itbf.svg} | 0 test/svg_ref/{svg12.svg => kerning.svg} | 0 test/svg_ref/{svg23.svg => labels1.svg} | 0 test/svg_ref/{svg41.svg => options2d1.svg} | 0 test/svg_ref/{svg42.svg => options2d2.svg} | 0 test/svg_ref/{svg43.svg => options2d3.svg} | 0 test/svg_ref/{svg44.svg => options2d4.svg} | 0 test/svg_ref/{svg45.svg => options2d5.svg} | 0 test/svg_ref/{svg59.svg => parallelcoord.svg} | 0 test/svg_ref/{svg04.svg => patterns.svg} | 0 test/svg_ref/{svg39.svg => profile_2d.svg} | 0 .../svg_ref/{svg40.svg => profile_2dpoly.svg} | 0 test/svg_ref/{svg55.svg => quarks.svg} | 0 test/svg_ref/{svg27.svg => ratioplot.svg} | 0 test/svg_ref/{svg37.svg => scatter_test.svg} | 0 test/svg_ref/{svg16.svg => statfitparam.svg} | 0 test/svg_ref/{svg25.svg => tellipse.svg} | 0 test/svg_ref/{svg35.svg => tf12.svg} | 0 test/svg_ref/{svg52.svg => tf3.svg} | 0 test/svg_ref/{svg17.svg => tgaxis1.svg} | 0 test/svg_ref/{svg18.svg => tgaxis2.svg} | 0 test/svg_ref/{svg19.svg => tgaxis3.svg} | 0 test/svg_ref/{svg21.svg => tgaxis5.svg} | 0 test/svg_ref/{svg22.svg => tgaxis6.svg} | 0 test/svg_ref/{svg28.svg => tgraph1.svg} | 0 test/svg_ref/{svg29.svg => tgraph2.svg} | 0 test/svg_ref/{svg48.svg => tgraph2d2.svg} | 0 test/svg_ref/{svg53.svg => tgraph2d3.svg} | 0 test/svg_ref/{svg50.svg => tgraph2dassym.svg} | 0 test/svg_ref/{svg49.svg => tgraph2derr.svg} | 0 test/svg_ref/{svg30.svg => tgraph3.svg} | 0 test/svg_ref/{svg31.svg => tgraph4.svg} | 0 .../{svg24.svg => th2_custom_axis_labels.svg} | 0 test/svg_ref/{svg62.svg => th2poly.svg} | 0 test/svg_ref/{svg56.svg => timage.svg} | 0 test/svg_ref/{svg07.svg => tlatex1.svg} | 0 test/svg_ref/{svg08.svg => tlatex2.svg} | 0 test/svg_ref/{svg09.svg => tlatex3.svg} | 0 test/svg_ref/{svg10.svg => tlatex4.svg} | 0 test/svg_ref/{svg11.svg => tlatex5.svg} | 0 test/svg_ref/{svg01.svg => tline.svg} | 0 test/svg_ref/{svg02.svg => tmarker.svg} | 0 test/svg_ref/{svg32.svg => tmultigraph1.svg} | 0 test/svg_ref/{svg33.svg => tmultigraph2.svg} | 0 test/svg_ref/{svg03.svg => tpolyline.svg} | 0 test/svg_ref/{svg15.svg => transpad.svg} | 0 test/svg_ref/{svg36.svg => tspline.svg} | 0 test/svg_ref/{svg05.svg => ttext1.svg} | 0 test/svg_ref/{svg06.svg => ttext2.svg} | 0 test/svg_ref/{svg34.svg => waves.svg} | 0 test/svg_ref/{svg58.svg => zoomfit.svg} | 0 test/svg_ref/{svg57.svg => zoomtf1.svg} | 0 57 files changed, 72 insertions(+), 65 deletions(-) rename test/svg_ref/{svg60.svg => clonepad.svg} (100%) rename test/svg_ref/{svg38.svg => efficiency_test.svg} (100%) rename test/svg_ref/{svg26.svg => feynman.svg} (100%) rename test/svg_ref/{svg61.svg => hbars.svg} (100%) rename test/svg_ref/{svg13.svg => itbf.svg} (100%) rename test/svg_ref/{svg12.svg => kerning.svg} (100%) rename test/svg_ref/{svg23.svg => labels1.svg} (100%) rename test/svg_ref/{svg41.svg => options2d1.svg} (100%) rename test/svg_ref/{svg42.svg => options2d2.svg} (100%) rename test/svg_ref/{svg43.svg => options2d3.svg} (100%) rename test/svg_ref/{svg44.svg => options2d4.svg} (100%) rename test/svg_ref/{svg45.svg => options2d5.svg} (100%) rename test/svg_ref/{svg59.svg => parallelcoord.svg} (100%) rename test/svg_ref/{svg04.svg => patterns.svg} (100%) rename test/svg_ref/{svg39.svg => profile_2d.svg} (100%) rename test/svg_ref/{svg40.svg => profile_2dpoly.svg} (100%) rename test/svg_ref/{svg55.svg => quarks.svg} (100%) rename test/svg_ref/{svg27.svg => ratioplot.svg} (100%) rename test/svg_ref/{svg37.svg => scatter_test.svg} (100%) rename test/svg_ref/{svg16.svg => statfitparam.svg} (100%) rename test/svg_ref/{svg25.svg => tellipse.svg} (100%) rename test/svg_ref/{svg35.svg => tf12.svg} (100%) rename test/svg_ref/{svg52.svg => tf3.svg} (100%) rename test/svg_ref/{svg17.svg => tgaxis1.svg} (100%) rename test/svg_ref/{svg18.svg => tgaxis2.svg} (100%) rename test/svg_ref/{svg19.svg => tgaxis3.svg} (100%) rename test/svg_ref/{svg21.svg => tgaxis5.svg} (100%) rename test/svg_ref/{svg22.svg => tgaxis6.svg} (100%) rename test/svg_ref/{svg28.svg => tgraph1.svg} (100%) rename test/svg_ref/{svg29.svg => tgraph2.svg} (100%) rename test/svg_ref/{svg48.svg => tgraph2d2.svg} (100%) rename test/svg_ref/{svg53.svg => tgraph2d3.svg} (100%) rename test/svg_ref/{svg50.svg => tgraph2dassym.svg} (100%) rename test/svg_ref/{svg49.svg => tgraph2derr.svg} (100%) rename test/svg_ref/{svg30.svg => tgraph3.svg} (100%) rename test/svg_ref/{svg31.svg => tgraph4.svg} (100%) rename test/svg_ref/{svg24.svg => th2_custom_axis_labels.svg} (100%) rename test/svg_ref/{svg62.svg => th2poly.svg} (100%) rename test/svg_ref/{svg56.svg => timage.svg} (100%) rename test/svg_ref/{svg07.svg => tlatex1.svg} (100%) rename test/svg_ref/{svg08.svg => tlatex2.svg} (100%) rename test/svg_ref/{svg09.svg => tlatex3.svg} (100%) rename test/svg_ref/{svg10.svg => tlatex4.svg} (100%) rename test/svg_ref/{svg11.svg => tlatex5.svg} (100%) rename test/svg_ref/{svg01.svg => tline.svg} (100%) rename test/svg_ref/{svg02.svg => tmarker.svg} (100%) rename test/svg_ref/{svg32.svg => tmultigraph1.svg} (100%) rename test/svg_ref/{svg33.svg => tmultigraph2.svg} (100%) rename test/svg_ref/{svg03.svg => tpolyline.svg} (100%) rename test/svg_ref/{svg15.svg => transpad.svg} (100%) rename test/svg_ref/{svg36.svg => tspline.svg} (100%) rename test/svg_ref/{svg05.svg => ttext1.svg} (100%) rename test/svg_ref/{svg06.svg => ttext2.svg} (100%) rename test/svg_ref/{svg34.svg => waves.svg} (100%) rename test/svg_ref/{svg58.svg => zoomfit.svg} (100%) rename test/svg_ref/{svg57.svg => zoomtf1.svg} (100%) diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index 813d78cdd7bbe..7bcc9708ee386 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -342,6 +342,10 @@ Int_t CompareSVGFiles(const TString &filename1, const TString &filename2, int te if (!gSvgCompact && (cnt == 8)) continue; + // only for debuging - ignore difference in file name + if (gSvgCompact && (cnt == 4)) + continue; + printf("Diff in line %d", cnt); if (line1.length() != line2.length()) printf(" len1: %d len2: %d\n", (int) line1.length(), (int) line2.length()); @@ -428,7 +432,7 @@ TCanvas *StartTest(Int_t w, Int_t h) /// result with the reference value. /// For special cases C code may be skipped or some object removed from global lists -void TestReport(TCanvas *C, const TString &title, const TString &arg = "", Int_t IPS = 0) +void TestReport(TCanvas *C, const TString &title, const TString &arg = "", Int_t IPS = 0, const char *svgname = nullptr) { if (!gVerbose) @@ -448,7 +452,10 @@ void TestReport(TCanvas *C, const TString &title, const TString &arg = "", Int_t e.pdffile = TString::Format("%s%2.2d.pdf", filePrefix, e.TestNum); e.jpgfile = TString::Format("%s%2.2d.jpg", filePrefix, e.TestNum); e.pngfile = TString::Format("%s%2.2d.png", filePrefix, e.TestNum); - e.svgfile = TString::Format("%s%2.2d.svg", filePrefix, e.TestNum); + if (svgname) + e.svgfile = TString::Format("%s.svg", svgname); + else + e.svgfile = TString::Format("%s%2.2d.svg", filePrefix, e.TestNum); e.ccode = TString::Format("%s%2.2d.C", filePrefix, e.TestNum); e.execute_ccode = (arg != kSkipCCode); @@ -637,7 +644,7 @@ void tline() TLine *l9 = new TLine(0.1,0.9,0.9,0.9); l9->SetLineColor(9); l9->SetLineWidth(9) ; l9->SetLineStyle(9) ; l9->Draw(); - TestReport(C, "TLine"); + TestReport(C, "TLine", "", 0, "tline"); } @@ -651,7 +658,7 @@ void tmarker() TMarker m; m.DisplayMarkerTypes(); - TestReport(C, "TMarker"); + TestReport(C, "TMarker", "", 0, "tmarker"); } @@ -671,7 +678,7 @@ void tpolyline() p->Draw("F"); p->Draw(""); - TestReport(C, "TPolyLine"); + TestReport(C, "TPolyLine", "", 0, "tpolyline"); } //////////////////////////////////////////////////////////////////////////////// @@ -709,7 +716,7 @@ void arrows() ar5->SetFillColor(2); C->Add(ar5); - TestReport(C, "TArrow"); + TestReport(C, "TArrow", "", 0, "arrows"); } @@ -785,7 +792,7 @@ void patterns() y = y-bh-db; } - TestReport(C, "Fill patterns"); + TestReport(C, "Fill patterns", "", 0, "patterns"); } @@ -846,7 +853,7 @@ void ttext1() tex5->SetTextSize(0.1); tex5->Draw(); - TestReport(C, "TText 1 (Text attributes)"); + TestReport(C, "TText 1 (Text attributes)", "", 0, "ttext1"); } @@ -861,7 +868,7 @@ void ttext2() t.SetTextFont(42); t.SetTextSize(0.02); t.Draw(); - TestReport(C, "TText 2 (A very long text string)"); + TestReport(C, "TText 2 (A very long text string)", "", 0, "ttext2"); } @@ -881,7 +888,7 @@ void tlatex1() l.DrawLatex(0.1,0.3,"4) F(t) = #sum_{i=-#infty}^{#infty}A(i)cos#[]{#frac{i}{t+i}}"); l.DrawLatex(0.1,0.1,"5) {}_{3}^{7}Li"); - TestReport(C, "TLatex 1"); + TestReport(C, "TLatex 1", "", 0, "tlatex1"); } @@ -900,7 +907,7 @@ void tlatex2() l.DrawLatex(0.5,0.5,"i(#partial_{#mu}#bar{#psi}#gamma^{#mu}+m#bar{#psi})=0#Leftrightarrow(#Box+m^{2})#psi=0"); l.DrawLatex(0.5,0.3,"L_{em}=eJ^{#mu}_{em}A_{#mu} , ^{}J^{#mu}_{em}=#bar{I}#gamma_{#mu}I , M^{j}_{i}=#SigmaA_{#alpha}#tau^{#alphaj}_{i}"); - TestReport(C, "TLatex 2"); + TestReport(C, "TLatex 2", "", 0, "tlatex2"); } @@ -923,7 +930,7 @@ void tlatex3() pt.SetLabel("Born equation"); pt.Draw(); - TestReport(C, "TLatex 3 (TLatex in TPaveText)"); + TestReport(C, "TLatex 3 (TLatex in TPaveText)", "", 0, "tlatex3"); } @@ -1000,7 +1007,7 @@ void tlatex4() y = 0.1500 ; l.DrawLatex(x1, y, "varphi : ") ; l.DrawLatex(x2, y, "#varphi"); y = 0.0375 ; l.DrawLatex(x1, y, "varomega : ") ; l.DrawLatex(x2, y, "#varomega"); - TestReport(C, "TLatex 4 (Greek letters)"); + TestReport(C, "TLatex 4 (Greek letters)", "", 0, "tlatex4"); } @@ -1102,7 +1109,7 @@ void tlatex5() y -= step ; l.DrawLatex(x1, y-0.015, "#int") ; l.DrawText(x2, y, "#int"); y -= step ; l.DrawLatex(x1, y, "#odot") ; l.DrawText(x2, y, "#odot"); - TestReport(C, "TLatex 5 (Mathematical Symbols)"); + TestReport(C, "TLatex 5 (Mathematical Symbols)", "", 0, "tlatex5"); } @@ -1125,7 +1132,7 @@ void kerning() l1->Draw(); } - TestReport(C, "Text kerning"); + TestReport(C, "Text kerning", "", 0, "kerning"); } @@ -1144,7 +1151,7 @@ void itbf() (new TLatex(0.01, 0.3, "Font styles: #^{}bf{#bf{bold}}, #^{}it{#it{italic}}, #^{}bf{#^{}it{#bf{#it{bold italic}}}}, #^{}bf{#^{}bf{#bf{#bf{unbold}}}}"))->Draw(); (new TLatex(0.01, 0.1, "Font styles: abc#alpha#beta#gamma, #^{}it{#it{abc#alpha#beta#gamma}}, #^{}it{#^{}it{#it{#it{abc#alpha#beta#gamma}}}}"))->Draw(); - TestReport(C, "TLatex commands #kern, #lower, #it and #bf"); + TestReport(C, "TLatex commands #kern, #lower, #it and #bf", "", 0, "itbf"); } @@ -1167,7 +1174,7 @@ void tmathtext() l.DrawMathText(0.27, 0.110, "\\mathbb{N} \\subset \\mathbb{R}"); l.DrawMathText(0.63, 0.100, "\\hbox{RHIC スピン物理 Нью-Йорк}"); - TestReport(C, "TMathText", "", 1 + kSkipSvgTest); + TestReport(C, "TMathText", "", 1 + kSkipSvgTest, "tmathtext"); } @@ -1222,7 +1229,7 @@ void transpad() axis->SetLabelColor(kRed); axis->Draw(); - TestReport(C, "Transparent pad"); + TestReport(C, "Transparent pad", "", 0, "transpad"); } @@ -1280,7 +1287,7 @@ void statfitparam () pt->AddText("paint the fit parameters errors."); pt->Draw(); - TestReport(C, "Stat and fit parameters with errors"); + TestReport(C, "Stat and fit parameters with errors", "", 0, "statfitparam"); } //////////////////////////////////////////////////////////////////////////////// @@ -1324,7 +1331,7 @@ void tgaxis1() axis8->SetName("axis8"); axis8->Draw(); - TestReport(C, "TGaxis 1"); + TestReport(C, "TGaxis 1", "", 0, "tgaxis1"); } @@ -1362,7 +1369,7 @@ void tgaxis2() axis7->SetLabelOffset(0.01); axis7->Draw(); - TestReport(C, "TGaxis 2"); + TestReport(C, "TGaxis 2", "", 0, "tgaxis2"); } //////////////////////////////////////////////////////////////////////////////// @@ -1425,7 +1432,7 @@ void tgaxis3() gt2->GetXaxis()->SetTimeDisplay(1); gt2->GetXaxis()->SetTimeFormat("y. %Y"); - TestReport(C, "TGaxis 3 (Time on axis)"); + TestReport(C, "TGaxis 3 (Time on axis)", "", 0, "tgaxis3"); } @@ -1457,7 +1464,7 @@ void tgaxis4() h1->Draw(); // test output differs on different platforms therefore skip it for the time been - TestReport(C, "TGaxis 4 (Time on axis)", "", kSkipSvgTest); + TestReport(C, "TGaxis 4 (Time on axis)", "", kSkipSvgTest, "tgaxis4"); delete h1; } @@ -1567,7 +1574,7 @@ void tgaxis5() } } - TestReport(C, "TGaxis 5 (Time on axis: reference test)"); + TestReport(C, "TGaxis 5 (Time on axis: reference test)", "", 0, "tgaxis5"); } @@ -1619,7 +1626,7 @@ void tgaxis6() axis->SetTitleFont(42); C->Add(axis); - TestReport(C, "TGaxis 6 (Modified labels)"); + TestReport(C, "TGaxis 6 (Modified labels)", "", 0, "tgaxis6"); } //////////////////////////////////////////////////////////////////////////////// @@ -1670,7 +1677,7 @@ void labels1() pt->AddText(" \"<\" to sort by increasing values"); pt->Draw(); - TestReport(C, "Alphanumeric labels in a 1-d histogram"); + TestReport(C, "Alphanumeric labels in a 1-d histogram", "", 0, "labels1"); delete hlab1; } @@ -1700,7 +1707,7 @@ void th2_custom_axis_labels() C->Add(h, "COL1"); - TestReport(C, "TH2 with custom axis labels"); + TestReport(C, "TH2 with custom axis labels", "", 0, "th2_custom_axis_labels"); } @@ -1734,7 +1741,7 @@ void tellipse() el4.SetLineWidth(6); el4.Draw(); - TestReport(C, "TEllipse"); + TestReport(C, "TEllipse", "", 0, "tellipse"); } @@ -1786,7 +1793,7 @@ void feynman() C->Update(); gStyle->SetLineWidth(linsav); - TestReport(C, "Feynman diagrams"); + TestReport(C, "Feynman diagrams", "", 0, "feynman"); } @@ -1810,7 +1817,7 @@ void ratioplot() C->SetTicks(0, 1); rp->Draw(); - TestReport(C, "Ratio plot"); + TestReport(C, "Ratio plot", "", 0, "ratioplot"); } @@ -1842,7 +1849,7 @@ void tgraph1() C->GetFrame()->SetFillColor(21); C->GetFrame()->SetBorderSize(12); - TestReport(C, "TGraph 1"); + TestReport(C, "TGraph 1", "", 0, "tgraph1"); } @@ -1885,7 +1892,7 @@ void tgraph2() mg->Add(gr3); mg->Draw("AC"); - TestReport(C, "TGraph 2 (Exclusion Zone)"); + TestReport(C, "TGraph 2 (Exclusion Zone)", "", 0, "tgraph2"); } @@ -1936,7 +1943,7 @@ void tgraph3() g2->GetYaxis()->CenterTitle(); g2->Draw("a*"); - TestReport(C, "TGraph 3 (Fitting and log scales)"); + TestReport(C, "TGraph 3 (Fitting and log scales)", "", 0, "tgraph3"); } @@ -1975,7 +1982,7 @@ void tgraph4() C->Update(); gPad->SetLogx(); - TestReport(C, "TGraph 4 (Log scales setting order)"); + TestReport(C, "TGraph 4 (Log scales setting order)", "", 0, "tgraph4"); } @@ -2043,7 +2050,7 @@ void th2poly() gStyle->SetPalette(kBird); p->DrawClone("COL"); - TestReport(C, "TH2Poly.(DrawClone() and remote file access)"); + TestReport(C, "TH2Poly.(DrawClone() and remote file access)", "", 0, "th2poly"); delete f; } @@ -2093,7 +2100,7 @@ void tmultigraph1() stats2->SetY1NDC(0.78); C->Modified(); - TestReport(C, "TMultigraph and TGraphErrors"); + TestReport(C, "TMultigraph and TGraphErrors", "", 0, "tmultigraph1"); } @@ -2211,7 +2218,7 @@ void tmultigraph2() C->Modified(); - TestReport(C, "All Kind of TMultigraph"); + TestReport(C, "All Kind of TMultigraph", "", 0, "tmultigraph2"); } @@ -2246,7 +2253,7 @@ void options2d1() C->cd(4); gH2->Draw("colz"); pl1.DrawPaveLabel(x1,y1,x2,y2,"COLZ","brNDC"); - TestReport(C, "Basic 2D options"); + TestReport(C, "Basic 2D options", "", 0, "options2d1"); } @@ -2265,7 +2272,7 @@ void options2d2() gH2->Draw("text"); pl2.DrawPaveLabel(x1,y1,x2,y2,"TEXT","brNDC"); - TestReport(C, "Text option"); + TestReport(C, "Text option", "", 0, "options2d2"); } @@ -2294,7 +2301,7 @@ void options2d3() gPad->SetGrid(); gH2->Draw("cont3"); pl3.DrawPaveLabel(x1,y1,x2,y2,"CONT3","brNDC"); - TestReport(C, "Contour options"); + TestReport(C, "Contour options", "", 0, "options2d3"); } @@ -2321,7 +2328,7 @@ void options2d4() gPad->SetTheta(21); gPad->SetPhi(-90); gH2->Draw("surf1cyl"); pl4.DrawPaveLabel(x1,y1,x2+0.05,y2,"SURF1CYL","brNDC"); - TestReport(C, "Lego options"); + TestReport(C, "Lego options", "", 0, "options2d4"); } @@ -2346,7 +2353,7 @@ void options2d5() C->cd(4); gH2->Draw("surf4"); pl5.DrawPaveLabel(x1,y1,x2,y2,"SURF4","brNDC"); - TestReport(C, "Surface options"); + TestReport(C, "Surface options", "", 0, "options2d5"); delete gH2; } @@ -2391,7 +2398,7 @@ void earth() C->cd(3); h3->Draw("z sinusoidal"); C->cd(4); h4->Draw("z parabolic"); - TestReport(C, "Special contour options (AITOFF etc.)", "", kSkipSvgTest); + TestReport(C, "Special contour options (AITOFF etc.)", "", kSkipSvgTest, "earth"); delete h1; delete h2; delete h3; @@ -2435,7 +2442,7 @@ void tgraph2d1() dt->SetMarkerSize(1); dt->Draw("tri2p0Z "); - TestReport(C, "TGraph2D 1 (TRI2 and P0)", dt->GetName(), kSkipSvgTest); + TestReport(C, "TGraph2D 1 (TRI2 and P0)", dt->GetName(), kSkipSvgTest, "tgraph2d1"); delete dt; } @@ -2468,7 +2475,7 @@ void tgraph2d2() dt->SetMarkerStyle(20); dt->Draw("PCOL"); - TestReport(C, "TGraph2D 2 (COL and P)", dt->GetName()); + TestReport(C, "TGraph2D 2 (COL and P)", dt->GetName(), 0, "tgraph2d2"); delete dt; } @@ -2509,7 +2516,7 @@ void tgraph2derr() C->SetLogy(1); g->Draw("err p0"); - TestReport(C, "TGraph2DErrors (ERR and P0)"); + TestReport(C, "TGraph2DErrors (ERR and P0)", "", 0, "tgraph2derr"); } //////////////////////////////////////////////////////////////////////////////// @@ -2554,7 +2561,7 @@ void tgraph2dassym() C->SetLogy(1); g->Draw("err p0"); - TestReport(C, "TGraph2DAsymmErrors (ERR and P0)"); + TestReport(C, "TGraph2DAsymmErrors (ERR and P0)", "", 0, "tgraph2dassym"); } //////////////////////////////////////////////////////////////////////////////// @@ -2575,7 +2582,7 @@ void tprofile3d() hprof3d->Fill(px, py, pz, pt, 1); } hprof3d->Draw(); - TestReport(C, "TProfile3D", "", kSkipSvgTest); + TestReport(C, "TProfile3D", "", kSkipSvgTest, "tprofile3d"); } //////////////////////////////////////////////////////////////////////////////// @@ -2604,7 +2611,7 @@ void tgraph2d3() dt->SetFillColor(0); dt->Draw("CONT5 "); - TestReport(C, "TGraph2D 3 (CONT5)", dt->GetName()); + TestReport(C, "TGraph2D 3 (CONT5)", dt->GetName(), 0, "tgraph2d3"); delete dt; } @@ -2623,7 +2630,7 @@ void tf3() f3->SetFillColor(kGreen); f3->Draw(); - TestReport(C, "TF3"); + TestReport(C, "TF3", "", 0, "tf3"); } //////////////////////////////////////////////////////////////////////////////// @@ -2692,7 +2699,7 @@ void ntuple1() l4->Draw(); gStyle->SetStatColor(19); - TestReport(C, "Ntuple drawing and TPad", "", kSkipSvgTest); + TestReport(C, "Ntuple drawing and TPad", "", kSkipSvgTest, "ntuple1"); } @@ -2765,7 +2772,7 @@ void quarks() tex1.DrawLatex(.5,.5,"W"); C->cd(); - TestReport(C, "Divided pads and TLatex"); + TestReport(C, "Divided pads and TLatex", "", 0, "quarks"); } @@ -2815,7 +2822,7 @@ void timage() i4->Draw(); C->cd(); - TestReport(C, "TImage"); + TestReport(C, "TImage", "", 0, "timage"); } @@ -2848,7 +2855,7 @@ void zoomtf1() f0->GetXaxis()->UnZoom(); gPad->Modified(); - TestReport(C, "Zoom/UnZoom a collection of TF1"); + TestReport(C, "Zoom/UnZoom a collection of TF1", "", 0, "zoomtf1"); } @@ -2869,7 +2876,7 @@ void zoomfit() gPad->Modified(); gPad->Update(); - TestReport(C, "Zoom/UnZoom a fitted histogram"); + TestReport(C, "Zoom/UnZoom a fitted histogram", "", 0, "zoomfit"); } @@ -2913,7 +2920,7 @@ void hbars() gPad->Modified(); gPad->Update(); - TestReport(C, "Ntuple drawing with alphanumeric variables"); + TestReport(C, "Ntuple drawing with alphanumeric variables", "", 0, "hbars"); } @@ -2938,7 +2945,7 @@ void parallelcoord() C->cd(2); ntuple->Draw("px:py:pz:random:px*py*pz","","candle"); - TestReport(C, "Parallel Coordinates", "", kFineSvgTest); + TestReport(C, "Parallel Coordinates", "", kFineSvgTest, "parallelcoord"); if (col25) col25->SetAlpha(1.); } @@ -2955,7 +2962,7 @@ void clonepad() hpxpy->Draw(); TCanvas *C2 = (TCanvas*)C->DrawClone(); - TestReport(C2, "Draw a pad and clone it"); + TestReport(C2, "Draw a pad and clone it", "", 0, "clonepad"); } @@ -3094,7 +3101,7 @@ void waves() line = new TLine(13.8,-10, 14, 10); line->SetLineWidth(10); line->SetLineColor(0); line->Draw(); - TestReport(C, "TGraph, TArc, TPalette and TColor"); + TestReport(C, "TGraph, TArc, TPalette and TColor", "", 0, "waves"); } //////////////////////////////////////////////////////////////////////////////// @@ -3110,7 +3117,7 @@ void tf12() f12->SetLineWidth(3); f12->Draw(); - TestReport(C, "TF12"); + TestReport(C, "TF12", "", 0, "tf12"); } //////////////////////////////////////////////////////////////////////////////// @@ -3165,7 +3172,7 @@ void tspline() C->BuildLegend(0.6, 0.7, 0.88, 0.88); - TestReport(C, "TSpline3 and TSpline5"); + TestReport(C, "TSpline3 and TSpline5", "", 0, "tspline"); } //////////////////////////////////////////////////////////////////////////////// @@ -3205,7 +3212,7 @@ void scatter_test() pm->SetMarkerSize(1.4); pm->Draw("SKIPCOL"); - TestReport(C, "TScatter with TPolyMarker test"); + TestReport(C, "TScatter with TPolyMarker test", "", 0, "scatter_test"); } //////////////////////////////////////////////////////////////////////////////// @@ -3280,7 +3287,7 @@ void efficiency_test() pCopy2->Draw("same4"); leg2->Draw(); - TestReport(C, "TEfficiency test"); + TestReport(C, "TEfficiency test", "", 0, "efficiency_test"); } //////////////////////////////////////////////////////////////////////////////// @@ -3303,7 +3310,7 @@ void profile_2d() } C->Add(hprof2d); - TestReport(C, "TProfile2D"); + TestReport(C, "TProfile2D", "", 0, "profile_2d"); } //////////////////////////////////////////////////////////////////////////////// @@ -3404,7 +3411,7 @@ void profile_2poly() err->SetTitle("error"); err->Draw("COLZ"); - TestReport(C, "TH2Poly and TPofile2Poly"); + TestReport(C, "TH2Poly and TPofile2Poly", "", 0, "profile_2dpoly"); } void PrintRefHeader() diff --git a/test/svg_ref/svg60.svg b/test/svg_ref/clonepad.svg similarity index 100% rename from test/svg_ref/svg60.svg rename to test/svg_ref/clonepad.svg diff --git a/test/svg_ref/svg38.svg b/test/svg_ref/efficiency_test.svg similarity index 100% rename from test/svg_ref/svg38.svg rename to test/svg_ref/efficiency_test.svg diff --git a/test/svg_ref/svg26.svg b/test/svg_ref/feynman.svg similarity index 100% rename from test/svg_ref/svg26.svg rename to test/svg_ref/feynman.svg diff --git a/test/svg_ref/svg61.svg b/test/svg_ref/hbars.svg similarity index 100% rename from test/svg_ref/svg61.svg rename to test/svg_ref/hbars.svg diff --git a/test/svg_ref/svg13.svg b/test/svg_ref/itbf.svg similarity index 100% rename from test/svg_ref/svg13.svg rename to test/svg_ref/itbf.svg diff --git a/test/svg_ref/svg12.svg b/test/svg_ref/kerning.svg similarity index 100% rename from test/svg_ref/svg12.svg rename to test/svg_ref/kerning.svg diff --git a/test/svg_ref/svg23.svg b/test/svg_ref/labels1.svg similarity index 100% rename from test/svg_ref/svg23.svg rename to test/svg_ref/labels1.svg diff --git a/test/svg_ref/svg41.svg b/test/svg_ref/options2d1.svg similarity index 100% rename from test/svg_ref/svg41.svg rename to test/svg_ref/options2d1.svg diff --git a/test/svg_ref/svg42.svg b/test/svg_ref/options2d2.svg similarity index 100% rename from test/svg_ref/svg42.svg rename to test/svg_ref/options2d2.svg diff --git a/test/svg_ref/svg43.svg b/test/svg_ref/options2d3.svg similarity index 100% rename from test/svg_ref/svg43.svg rename to test/svg_ref/options2d3.svg diff --git a/test/svg_ref/svg44.svg b/test/svg_ref/options2d4.svg similarity index 100% rename from test/svg_ref/svg44.svg rename to test/svg_ref/options2d4.svg diff --git a/test/svg_ref/svg45.svg b/test/svg_ref/options2d5.svg similarity index 100% rename from test/svg_ref/svg45.svg rename to test/svg_ref/options2d5.svg diff --git a/test/svg_ref/svg59.svg b/test/svg_ref/parallelcoord.svg similarity index 100% rename from test/svg_ref/svg59.svg rename to test/svg_ref/parallelcoord.svg diff --git a/test/svg_ref/svg04.svg b/test/svg_ref/patterns.svg similarity index 100% rename from test/svg_ref/svg04.svg rename to test/svg_ref/patterns.svg diff --git a/test/svg_ref/svg39.svg b/test/svg_ref/profile_2d.svg similarity index 100% rename from test/svg_ref/svg39.svg rename to test/svg_ref/profile_2d.svg diff --git a/test/svg_ref/svg40.svg b/test/svg_ref/profile_2dpoly.svg similarity index 100% rename from test/svg_ref/svg40.svg rename to test/svg_ref/profile_2dpoly.svg diff --git a/test/svg_ref/svg55.svg b/test/svg_ref/quarks.svg similarity index 100% rename from test/svg_ref/svg55.svg rename to test/svg_ref/quarks.svg diff --git a/test/svg_ref/svg27.svg b/test/svg_ref/ratioplot.svg similarity index 100% rename from test/svg_ref/svg27.svg rename to test/svg_ref/ratioplot.svg diff --git a/test/svg_ref/svg37.svg b/test/svg_ref/scatter_test.svg similarity index 100% rename from test/svg_ref/svg37.svg rename to test/svg_ref/scatter_test.svg diff --git a/test/svg_ref/svg16.svg b/test/svg_ref/statfitparam.svg similarity index 100% rename from test/svg_ref/svg16.svg rename to test/svg_ref/statfitparam.svg diff --git a/test/svg_ref/svg25.svg b/test/svg_ref/tellipse.svg similarity index 100% rename from test/svg_ref/svg25.svg rename to test/svg_ref/tellipse.svg diff --git a/test/svg_ref/svg35.svg b/test/svg_ref/tf12.svg similarity index 100% rename from test/svg_ref/svg35.svg rename to test/svg_ref/tf12.svg diff --git a/test/svg_ref/svg52.svg b/test/svg_ref/tf3.svg similarity index 100% rename from test/svg_ref/svg52.svg rename to test/svg_ref/tf3.svg diff --git a/test/svg_ref/svg17.svg b/test/svg_ref/tgaxis1.svg similarity index 100% rename from test/svg_ref/svg17.svg rename to test/svg_ref/tgaxis1.svg diff --git a/test/svg_ref/svg18.svg b/test/svg_ref/tgaxis2.svg similarity index 100% rename from test/svg_ref/svg18.svg rename to test/svg_ref/tgaxis2.svg diff --git a/test/svg_ref/svg19.svg b/test/svg_ref/tgaxis3.svg similarity index 100% rename from test/svg_ref/svg19.svg rename to test/svg_ref/tgaxis3.svg diff --git a/test/svg_ref/svg21.svg b/test/svg_ref/tgaxis5.svg similarity index 100% rename from test/svg_ref/svg21.svg rename to test/svg_ref/tgaxis5.svg diff --git a/test/svg_ref/svg22.svg b/test/svg_ref/tgaxis6.svg similarity index 100% rename from test/svg_ref/svg22.svg rename to test/svg_ref/tgaxis6.svg diff --git a/test/svg_ref/svg28.svg b/test/svg_ref/tgraph1.svg similarity index 100% rename from test/svg_ref/svg28.svg rename to test/svg_ref/tgraph1.svg diff --git a/test/svg_ref/svg29.svg b/test/svg_ref/tgraph2.svg similarity index 100% rename from test/svg_ref/svg29.svg rename to test/svg_ref/tgraph2.svg diff --git a/test/svg_ref/svg48.svg b/test/svg_ref/tgraph2d2.svg similarity index 100% rename from test/svg_ref/svg48.svg rename to test/svg_ref/tgraph2d2.svg diff --git a/test/svg_ref/svg53.svg b/test/svg_ref/tgraph2d3.svg similarity index 100% rename from test/svg_ref/svg53.svg rename to test/svg_ref/tgraph2d3.svg diff --git a/test/svg_ref/svg50.svg b/test/svg_ref/tgraph2dassym.svg similarity index 100% rename from test/svg_ref/svg50.svg rename to test/svg_ref/tgraph2dassym.svg diff --git a/test/svg_ref/svg49.svg b/test/svg_ref/tgraph2derr.svg similarity index 100% rename from test/svg_ref/svg49.svg rename to test/svg_ref/tgraph2derr.svg diff --git a/test/svg_ref/svg30.svg b/test/svg_ref/tgraph3.svg similarity index 100% rename from test/svg_ref/svg30.svg rename to test/svg_ref/tgraph3.svg diff --git a/test/svg_ref/svg31.svg b/test/svg_ref/tgraph4.svg similarity index 100% rename from test/svg_ref/svg31.svg rename to test/svg_ref/tgraph4.svg diff --git a/test/svg_ref/svg24.svg b/test/svg_ref/th2_custom_axis_labels.svg similarity index 100% rename from test/svg_ref/svg24.svg rename to test/svg_ref/th2_custom_axis_labels.svg diff --git a/test/svg_ref/svg62.svg b/test/svg_ref/th2poly.svg similarity index 100% rename from test/svg_ref/svg62.svg rename to test/svg_ref/th2poly.svg diff --git a/test/svg_ref/svg56.svg b/test/svg_ref/timage.svg similarity index 100% rename from test/svg_ref/svg56.svg rename to test/svg_ref/timage.svg diff --git a/test/svg_ref/svg07.svg b/test/svg_ref/tlatex1.svg similarity index 100% rename from test/svg_ref/svg07.svg rename to test/svg_ref/tlatex1.svg diff --git a/test/svg_ref/svg08.svg b/test/svg_ref/tlatex2.svg similarity index 100% rename from test/svg_ref/svg08.svg rename to test/svg_ref/tlatex2.svg diff --git a/test/svg_ref/svg09.svg b/test/svg_ref/tlatex3.svg similarity index 100% rename from test/svg_ref/svg09.svg rename to test/svg_ref/tlatex3.svg diff --git a/test/svg_ref/svg10.svg b/test/svg_ref/tlatex4.svg similarity index 100% rename from test/svg_ref/svg10.svg rename to test/svg_ref/tlatex4.svg diff --git a/test/svg_ref/svg11.svg b/test/svg_ref/tlatex5.svg similarity index 100% rename from test/svg_ref/svg11.svg rename to test/svg_ref/tlatex5.svg diff --git a/test/svg_ref/svg01.svg b/test/svg_ref/tline.svg similarity index 100% rename from test/svg_ref/svg01.svg rename to test/svg_ref/tline.svg diff --git a/test/svg_ref/svg02.svg b/test/svg_ref/tmarker.svg similarity index 100% rename from test/svg_ref/svg02.svg rename to test/svg_ref/tmarker.svg diff --git a/test/svg_ref/svg32.svg b/test/svg_ref/tmultigraph1.svg similarity index 100% rename from test/svg_ref/svg32.svg rename to test/svg_ref/tmultigraph1.svg diff --git a/test/svg_ref/svg33.svg b/test/svg_ref/tmultigraph2.svg similarity index 100% rename from test/svg_ref/svg33.svg rename to test/svg_ref/tmultigraph2.svg diff --git a/test/svg_ref/svg03.svg b/test/svg_ref/tpolyline.svg similarity index 100% rename from test/svg_ref/svg03.svg rename to test/svg_ref/tpolyline.svg diff --git a/test/svg_ref/svg15.svg b/test/svg_ref/transpad.svg similarity index 100% rename from test/svg_ref/svg15.svg rename to test/svg_ref/transpad.svg diff --git a/test/svg_ref/svg36.svg b/test/svg_ref/tspline.svg similarity index 100% rename from test/svg_ref/svg36.svg rename to test/svg_ref/tspline.svg diff --git a/test/svg_ref/svg05.svg b/test/svg_ref/ttext1.svg similarity index 100% rename from test/svg_ref/svg05.svg rename to test/svg_ref/ttext1.svg diff --git a/test/svg_ref/svg06.svg b/test/svg_ref/ttext2.svg similarity index 100% rename from test/svg_ref/svg06.svg rename to test/svg_ref/ttext2.svg diff --git a/test/svg_ref/svg34.svg b/test/svg_ref/waves.svg similarity index 100% rename from test/svg_ref/svg34.svg rename to test/svg_ref/waves.svg diff --git a/test/svg_ref/svg58.svg b/test/svg_ref/zoomfit.svg similarity index 100% rename from test/svg_ref/svg58.svg rename to test/svg_ref/zoomfit.svg diff --git a/test/svg_ref/svg57.svg b/test/svg_ref/zoomtf1.svg similarity index 100% rename from test/svg_ref/svg57.svg rename to test/svg_ref/zoomtf1.svg From 2cdec2fbe6571887f9dbb8a50ecb38c4fea05e70 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 14:19:10 +0100 Subject: [PATCH 03/21] Change title in svg_ref files Make it as separate commit to simplify git a work. Now only single line in each svg file will be replaced. --- test/stressGraphics.cxx | 6 ++--- test/svg_ref/arrows.svg | 31 +++++++++++++++++++++++++ test/svg_ref/clonepad.svg | 2 +- test/svg_ref/efficiency_test.svg | 2 +- test/svg_ref/feynman.svg | 2 +- test/svg_ref/hbars.svg | 2 +- test/svg_ref/itbf.svg | 2 +- test/svg_ref/kerning.svg | 2 +- test/svg_ref/labels1.svg | 2 +- test/svg_ref/options2d1.svg | 2 +- test/svg_ref/options2d2.svg | 2 +- test/svg_ref/options2d3.svg | 2 +- test/svg_ref/options2d4.svg | 2 +- test/svg_ref/options2d5.svg | 2 +- test/svg_ref/parallelcoord.svg | 2 +- test/svg_ref/patterns.svg | 2 +- test/svg_ref/profile_2d.svg | 2 +- test/svg_ref/profile_2dpoly.svg | 2 +- test/svg_ref/quarks.svg | 2 +- test/svg_ref/ratioplot.svg | 2 +- test/svg_ref/scatter_test.svg | 2 +- test/svg_ref/statfitparam.svg | 2 +- test/svg_ref/tellipse.svg | 2 +- test/svg_ref/tf12.svg | 2 +- test/svg_ref/tf3.svg | 2 +- test/svg_ref/tgaxis1.svg | 2 +- test/svg_ref/tgaxis2.svg | 2 +- test/svg_ref/tgaxis3.svg | 2 +- test/svg_ref/tgaxis5.svg | 2 +- test/svg_ref/tgaxis6.svg | 2 +- test/svg_ref/tgraph1.svg | 2 +- test/svg_ref/tgraph2.svg | 2 +- test/svg_ref/tgraph2d2.svg | 2 +- test/svg_ref/tgraph2d3.svg | 2 +- test/svg_ref/tgraph2dassym.svg | 2 +- test/svg_ref/tgraph2derr.svg | 2 +- test/svg_ref/tgraph3.svg | 2 +- test/svg_ref/tgraph4.svg | 2 +- test/svg_ref/th2_custom_axis_labels.svg | 2 +- test/svg_ref/th2poly.svg | 2 +- test/svg_ref/timage.svg | 2 +- test/svg_ref/tlatex1.svg | 2 +- test/svg_ref/tlatex2.svg | 2 +- test/svg_ref/tlatex3.svg | 2 +- test/svg_ref/tlatex4.svg | 2 +- test/svg_ref/tlatex5.svg | 2 +- test/svg_ref/tline.svg | 2 +- test/svg_ref/tmarker.svg | 2 +- test/svg_ref/tmultigraph1.svg | 2 +- test/svg_ref/tmultigraph2.svg | 2 +- test/svg_ref/tpolyline.svg | 2 +- test/svg_ref/transpad.svg | 2 +- test/svg_ref/tspline.svg | 2 +- test/svg_ref/ttext1.svg | 2 +- test/svg_ref/ttext2.svg | 2 +- test/svg_ref/waves.svg | 2 +- test/svg_ref/zoomfit.svg | 2 +- test/svg_ref/zoomtf1.svg | 2 +- 58 files changed, 90 insertions(+), 59 deletions(-) create mode 100644 test/svg_ref/arrows.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index 7bcc9708ee386..8387ebeae86a7 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -342,9 +342,9 @@ Int_t CompareSVGFiles(const TString &filename1, const TString &filename2, int te if (!gSvgCompact && (cnt == 8)) continue; - // only for debuging - ignore difference in file name - if (gSvgCompact && (cnt == 4)) - continue; + // ignore difference in file name, only for debugging + // if (gSvgCompact && (cnt == 4)) + // continue; printf("Diff in line %d", cnt); if (line1.length() != line2.length()) diff --git a/test/svg_ref/arrows.svg b/test/svg_ref/arrows.svg new file mode 100644 index 0000000000000..de8504eb7ac1d --- /dev/null +++ b/test/svg_ref/arrows.svg @@ -0,0 +1,31 @@ + + + +arrows.svg + + + + + + + +Examples of various arrows formats + + + + + + + + + + + + + + + + + + + diff --git a/test/svg_ref/clonepad.svg b/test/svg_ref/clonepad.svg index d4bc3d5359b1e..84d6dc13660ea 100644 --- a/test/svg_ref/clonepad.svg +++ b/test/svg_ref/clonepad.svg @@ -1,7 +1,7 @@ -svg60.svg +clonepad.svg diff --git a/test/svg_ref/efficiency_test.svg b/test/svg_ref/efficiency_test.svg index 8b42d0f9ed59a..2b51561a8470c 100644 --- a/test/svg_ref/efficiency_test.svg +++ b/test/svg_ref/efficiency_test.svg @@ -1,7 +1,7 @@ -svg38.svg +efficiency_test.svg diff --git a/test/svg_ref/feynman.svg b/test/svg_ref/feynman.svg index b66d6d1e69b96..74f8ef8fc6d30 100644 --- a/test/svg_ref/feynman.svg +++ b/test/svg_ref/feynman.svg @@ -1,7 +1,7 @@ -svg26.svg +feynman.svg diff --git a/test/svg_ref/hbars.svg b/test/svg_ref/hbars.svg index ca592e29b2d0f..aa81e3f011e3b 100644 --- a/test/svg_ref/hbars.svg +++ b/test/svg_ref/hbars.svg @@ -1,7 +1,7 @@ -svg61.svg +hbars.svg diff --git a/test/svg_ref/itbf.svg b/test/svg_ref/itbf.svg index e45a4a9c3a145..b6fc3c9fff4c7 100644 --- a/test/svg_ref/itbf.svg +++ b/test/svg_ref/itbf.svg @@ -1,7 +1,7 @@ -svg13.svg +itbf.svg diff --git a/test/svg_ref/kerning.svg b/test/svg_ref/kerning.svg index 0229397b7c93b..424a92c31bdaa 100644 --- a/test/svg_ref/kerning.svg +++ b/test/svg_ref/kerning.svg @@ -1,7 +1,7 @@ -svg12.svg +kerning.svg diff --git a/test/svg_ref/labels1.svg b/test/svg_ref/labels1.svg index cc26532d5c94f..afb0a38dce6d2 100644 --- a/test/svg_ref/labels1.svg +++ b/test/svg_ref/labels1.svg @@ -1,7 +1,7 @@ -svg23.svg +labels1.svg diff --git a/test/svg_ref/options2d1.svg b/test/svg_ref/options2d1.svg index 77f1d6d21e686..548e17d8714b3 100644 --- a/test/svg_ref/options2d1.svg +++ b/test/svg_ref/options2d1.svg @@ -1,7 +1,7 @@ -svg41.svg +options2d1.svg diff --git a/test/svg_ref/options2d2.svg b/test/svg_ref/options2d2.svg index fdbcb6e1baece..bdf026e765170 100644 --- a/test/svg_ref/options2d2.svg +++ b/test/svg_ref/options2d2.svg @@ -1,7 +1,7 @@ -svg42.svg +options2d2.svg diff --git a/test/svg_ref/options2d3.svg b/test/svg_ref/options2d3.svg index 1bc16e7999e5f..a39d1a7211359 100644 --- a/test/svg_ref/options2d3.svg +++ b/test/svg_ref/options2d3.svg @@ -1,7 +1,7 @@ -svg43.svg +options2d3.svg diff --git a/test/svg_ref/options2d4.svg b/test/svg_ref/options2d4.svg index ff2d6fc59267a..dd568eb8b55c5 100644 --- a/test/svg_ref/options2d4.svg +++ b/test/svg_ref/options2d4.svg @@ -1,7 +1,7 @@ -svg44.svg +options2d4.svg diff --git a/test/svg_ref/options2d5.svg b/test/svg_ref/options2d5.svg index fd57b96b85a7b..e6c5f97e23a21 100644 --- a/test/svg_ref/options2d5.svg +++ b/test/svg_ref/options2d5.svg @@ -1,7 +1,7 @@ -svg45.svg +options2d5.svg diff --git a/test/svg_ref/parallelcoord.svg b/test/svg_ref/parallelcoord.svg index 012a1003ec534..a20f3bb5d2bd6 100644 --- a/test/svg_ref/parallelcoord.svg +++ b/test/svg_ref/parallelcoord.svg @@ -1,7 +1,7 @@ -svg59.svg +parallelcoord.svg diff --git a/test/svg_ref/patterns.svg b/test/svg_ref/patterns.svg index 4f0ac69546a7b..916f72ee809b5 100644 --- a/test/svg_ref/patterns.svg +++ b/test/svg_ref/patterns.svg @@ -1,7 +1,7 @@ -svg04.svg +patterns.svg diff --git a/test/svg_ref/profile_2d.svg b/test/svg_ref/profile_2d.svg index 6fd40457981a3..34e3e4ffc0ab4 100644 --- a/test/svg_ref/profile_2d.svg +++ b/test/svg_ref/profile_2d.svg @@ -1,7 +1,7 @@ -svg39.svg +profile_2d.svg diff --git a/test/svg_ref/profile_2dpoly.svg b/test/svg_ref/profile_2dpoly.svg index 18b1f01c8b04d..ab1d7a797b4df 100644 --- a/test/svg_ref/profile_2dpoly.svg +++ b/test/svg_ref/profile_2dpoly.svg @@ -1,7 +1,7 @@ -svg40.svg +profile_2dpoly.svg diff --git a/test/svg_ref/quarks.svg b/test/svg_ref/quarks.svg index fffc70ab0a6bb..b1367b2ec5cbd 100644 --- a/test/svg_ref/quarks.svg +++ b/test/svg_ref/quarks.svg @@ -1,7 +1,7 @@ -svg55.svg +quarks.svg diff --git a/test/svg_ref/ratioplot.svg b/test/svg_ref/ratioplot.svg index bf11cad4e9e51..c82b95f5cbbf4 100644 --- a/test/svg_ref/ratioplot.svg +++ b/test/svg_ref/ratioplot.svg @@ -1,7 +1,7 @@ -svg27.svg +ratioplot.svg diff --git a/test/svg_ref/scatter_test.svg b/test/svg_ref/scatter_test.svg index d2592a95f3c0a..1eaac2d2fe1be 100644 --- a/test/svg_ref/scatter_test.svg +++ b/test/svg_ref/scatter_test.svg @@ -1,7 +1,7 @@ -svg37.svg +scatter_test.svg diff --git a/test/svg_ref/statfitparam.svg b/test/svg_ref/statfitparam.svg index b41de31a06baf..f2a468b8dbc1c 100644 --- a/test/svg_ref/statfitparam.svg +++ b/test/svg_ref/statfitparam.svg @@ -1,7 +1,7 @@ -svg16.svg +statfitparam.svg diff --git a/test/svg_ref/tellipse.svg b/test/svg_ref/tellipse.svg index 4cd6bb8118297..60882788ae678 100644 --- a/test/svg_ref/tellipse.svg +++ b/test/svg_ref/tellipse.svg @@ -1,7 +1,7 @@ -svg25.svg +tellipse.svg diff --git a/test/svg_ref/tf12.svg b/test/svg_ref/tf12.svg index 89ec4f0d6d544..1a50057a1bce3 100644 --- a/test/svg_ref/tf12.svg +++ b/test/svg_ref/tf12.svg @@ -1,7 +1,7 @@ -svg35.svg +tf12.svg diff --git a/test/svg_ref/tf3.svg b/test/svg_ref/tf3.svg index bec04c197eb17..763cb4b9df66e 100644 --- a/test/svg_ref/tf3.svg +++ b/test/svg_ref/tf3.svg @@ -1,7 +1,7 @@ -svg52.svg +tf3.svg diff --git a/test/svg_ref/tgaxis1.svg b/test/svg_ref/tgaxis1.svg index 02f486ebb6b25..6044030b7d427 100644 --- a/test/svg_ref/tgaxis1.svg +++ b/test/svg_ref/tgaxis1.svg @@ -1,7 +1,7 @@ -svg17.svg +tgaxis1.svg diff --git a/test/svg_ref/tgaxis2.svg b/test/svg_ref/tgaxis2.svg index 32839e4bd5252..2b4152a0af384 100644 --- a/test/svg_ref/tgaxis2.svg +++ b/test/svg_ref/tgaxis2.svg @@ -1,7 +1,7 @@ -svg18.svg +tgaxis2.svg diff --git a/test/svg_ref/tgaxis3.svg b/test/svg_ref/tgaxis3.svg index cdde4fd334860..9bb5b780b9c23 100644 --- a/test/svg_ref/tgaxis3.svg +++ b/test/svg_ref/tgaxis3.svg @@ -1,7 +1,7 @@ -svg19.svg +tgaxis3.svg diff --git a/test/svg_ref/tgaxis5.svg b/test/svg_ref/tgaxis5.svg index 7c789c909b5ef..ff52e267a2280 100644 --- a/test/svg_ref/tgaxis5.svg +++ b/test/svg_ref/tgaxis5.svg @@ -1,7 +1,7 @@ -svg21.svg +tgaxis5.svg diff --git a/test/svg_ref/tgaxis6.svg b/test/svg_ref/tgaxis6.svg index 4f535f10b00c0..d49d679c90e5f 100644 --- a/test/svg_ref/tgaxis6.svg +++ b/test/svg_ref/tgaxis6.svg @@ -1,7 +1,7 @@ -svg22.svg +tgaxis6.svg diff --git a/test/svg_ref/tgraph1.svg b/test/svg_ref/tgraph1.svg index 974dab446b9da..4e5b888ea389e 100644 --- a/test/svg_ref/tgraph1.svg +++ b/test/svg_ref/tgraph1.svg @@ -1,7 +1,7 @@ -svg28.svg +tgraph1.svg diff --git a/test/svg_ref/tgraph2.svg b/test/svg_ref/tgraph2.svg index 10df7a1e57cc6..0954045505fb1 100644 --- a/test/svg_ref/tgraph2.svg +++ b/test/svg_ref/tgraph2.svg @@ -1,7 +1,7 @@ -svg29.svg +tgraph2.svg diff --git a/test/svg_ref/tgraph2d2.svg b/test/svg_ref/tgraph2d2.svg index 847af11d34d96..eb9c81e6d57cd 100644 --- a/test/svg_ref/tgraph2d2.svg +++ b/test/svg_ref/tgraph2d2.svg @@ -1,7 +1,7 @@ -svg48.svg +tgraph2d2.svg diff --git a/test/svg_ref/tgraph2d3.svg b/test/svg_ref/tgraph2d3.svg index 12621dbad9128..64a24142e8d9e 100644 --- a/test/svg_ref/tgraph2d3.svg +++ b/test/svg_ref/tgraph2d3.svg @@ -1,7 +1,7 @@ -svg53.svg +tgraph2d3.svg diff --git a/test/svg_ref/tgraph2dassym.svg b/test/svg_ref/tgraph2dassym.svg index 62f5571b35759..d875e49a194da 100644 --- a/test/svg_ref/tgraph2dassym.svg +++ b/test/svg_ref/tgraph2dassym.svg @@ -1,7 +1,7 @@ -svg50.svg +tgraph2dassym.svg diff --git a/test/svg_ref/tgraph2derr.svg b/test/svg_ref/tgraph2derr.svg index e250030e8ec64..b723aad83ec27 100644 --- a/test/svg_ref/tgraph2derr.svg +++ b/test/svg_ref/tgraph2derr.svg @@ -1,7 +1,7 @@ -svg49.svg +tgraph2derr.svg diff --git a/test/svg_ref/tgraph3.svg b/test/svg_ref/tgraph3.svg index 437848927ac96..4b105674a4b55 100644 --- a/test/svg_ref/tgraph3.svg +++ b/test/svg_ref/tgraph3.svg @@ -1,7 +1,7 @@ -svg30.svg +tgraph3.svg diff --git a/test/svg_ref/tgraph4.svg b/test/svg_ref/tgraph4.svg index 3ac8a67ea9842..403453893d668 100644 --- a/test/svg_ref/tgraph4.svg +++ b/test/svg_ref/tgraph4.svg @@ -1,7 +1,7 @@ -svg31.svg +tgraph4.svg diff --git a/test/svg_ref/th2_custom_axis_labels.svg b/test/svg_ref/th2_custom_axis_labels.svg index 304c03269603e..9982536c6bd04 100644 --- a/test/svg_ref/th2_custom_axis_labels.svg +++ b/test/svg_ref/th2_custom_axis_labels.svg @@ -1,7 +1,7 @@ -svg24.svg +th2_custom_axis_labels.svg diff --git a/test/svg_ref/th2poly.svg b/test/svg_ref/th2poly.svg index 6b636ce648d74..30b61e9c8c0fd 100644 --- a/test/svg_ref/th2poly.svg +++ b/test/svg_ref/th2poly.svg @@ -1,7 +1,7 @@ -svg62.svg +th2poly.svg diff --git a/test/svg_ref/timage.svg b/test/svg_ref/timage.svg index 769b240b19643..10143cf6fd93b 100644 --- a/test/svg_ref/timage.svg +++ b/test/svg_ref/timage.svg @@ -1,7 +1,7 @@ -svg56.svg +timage.svg diff --git a/test/svg_ref/tlatex1.svg b/test/svg_ref/tlatex1.svg index 527e98fb384c0..39cc01c3b03e7 100644 --- a/test/svg_ref/tlatex1.svg +++ b/test/svg_ref/tlatex1.svg @@ -1,7 +1,7 @@ -svg07.svg +tlatex1.svg diff --git a/test/svg_ref/tlatex2.svg b/test/svg_ref/tlatex2.svg index 4ec7d28bd9bf6..75c1550a45873 100644 --- a/test/svg_ref/tlatex2.svg +++ b/test/svg_ref/tlatex2.svg @@ -1,7 +1,7 @@ -svg08.svg +tlatex2.svg diff --git a/test/svg_ref/tlatex3.svg b/test/svg_ref/tlatex3.svg index c6b4a37904b0f..657281a9e165d 100644 --- a/test/svg_ref/tlatex3.svg +++ b/test/svg_ref/tlatex3.svg @@ -1,7 +1,7 @@ -svg09.svg +tlatex3.svg diff --git a/test/svg_ref/tlatex4.svg b/test/svg_ref/tlatex4.svg index 51af11520ff4a..b1b481181bb37 100644 --- a/test/svg_ref/tlatex4.svg +++ b/test/svg_ref/tlatex4.svg @@ -1,7 +1,7 @@ -svg10.svg +tlatex4.svg diff --git a/test/svg_ref/tlatex5.svg b/test/svg_ref/tlatex5.svg index 0789e4abc052a..746025de769eb 100644 --- a/test/svg_ref/tlatex5.svg +++ b/test/svg_ref/tlatex5.svg @@ -1,7 +1,7 @@ -svg11.svg +tlatex5.svg diff --git a/test/svg_ref/tline.svg b/test/svg_ref/tline.svg index ce80ba698fceb..94eb387a50490 100644 --- a/test/svg_ref/tline.svg +++ b/test/svg_ref/tline.svg @@ -1,7 +1,7 @@ -svg01.svg +tline.svg diff --git a/test/svg_ref/tmarker.svg b/test/svg_ref/tmarker.svg index 55d737f4e82ab..dfa3e37443c91 100644 --- a/test/svg_ref/tmarker.svg +++ b/test/svg_ref/tmarker.svg @@ -1,7 +1,7 @@ -svg02.svg +tmarker.svg diff --git a/test/svg_ref/tmultigraph1.svg b/test/svg_ref/tmultigraph1.svg index 3d7951b85c5a9..e91b0309d8fa9 100644 --- a/test/svg_ref/tmultigraph1.svg +++ b/test/svg_ref/tmultigraph1.svg @@ -1,7 +1,7 @@ -svg32.svg +tmultigraph1.svg diff --git a/test/svg_ref/tmultigraph2.svg b/test/svg_ref/tmultigraph2.svg index d7a06185ce5ee..7831c8a5e7de5 100644 --- a/test/svg_ref/tmultigraph2.svg +++ b/test/svg_ref/tmultigraph2.svg @@ -1,7 +1,7 @@ -svg33.svg +tmultigraph2.svg diff --git a/test/svg_ref/tpolyline.svg b/test/svg_ref/tpolyline.svg index 54d3c8cb07957..85517b00ba82b 100644 --- a/test/svg_ref/tpolyline.svg +++ b/test/svg_ref/tpolyline.svg @@ -1,7 +1,7 @@ -svg03.svg +tpolyline.svg diff --git a/test/svg_ref/transpad.svg b/test/svg_ref/transpad.svg index 0575ec6675da4..1d98548cc6857 100644 --- a/test/svg_ref/transpad.svg +++ b/test/svg_ref/transpad.svg @@ -1,7 +1,7 @@ -svg15.svg +transpad.svg diff --git a/test/svg_ref/tspline.svg b/test/svg_ref/tspline.svg index eb72762c4031e..25812a026d62f 100644 --- a/test/svg_ref/tspline.svg +++ b/test/svg_ref/tspline.svg @@ -1,7 +1,7 @@ -svg36.svg +tspline.svg diff --git a/test/svg_ref/ttext1.svg b/test/svg_ref/ttext1.svg index d063b1583b560..eeb9cd8456589 100644 --- a/test/svg_ref/ttext1.svg +++ b/test/svg_ref/ttext1.svg @@ -1,7 +1,7 @@ -svg05.svg +ttext1.svg diff --git a/test/svg_ref/ttext2.svg b/test/svg_ref/ttext2.svg index 14f9753c0f4b7..c27f1a73ff25a 100644 --- a/test/svg_ref/ttext2.svg +++ b/test/svg_ref/ttext2.svg @@ -1,7 +1,7 @@ -svg06.svg +ttext2.svg diff --git a/test/svg_ref/waves.svg b/test/svg_ref/waves.svg index e4a40d5f4ba97..8108c3b88cb6e 100644 --- a/test/svg_ref/waves.svg +++ b/test/svg_ref/waves.svg @@ -1,7 +1,7 @@ -svg34.svg +waves.svg diff --git a/test/svg_ref/zoomfit.svg b/test/svg_ref/zoomfit.svg index 90e65e19b0435..0d19dc4876bf5 100644 --- a/test/svg_ref/zoomfit.svg +++ b/test/svg_ref/zoomfit.svg @@ -1,7 +1,7 @@ -svg58.svg +zoomfit.svg diff --git a/test/svg_ref/zoomtf1.svg b/test/svg_ref/zoomtf1.svg index 7c8f81ea2d0ed..05909a4487926 100644 --- a/test/svg_ref/zoomtf1.svg +++ b/test/svg_ref/zoomtf1.svg @@ -1,7 +1,7 @@ -svg57.svg +zoomtf1.svg From 1def5c10b9f999476606a7ac0cf1ffe09fd92e8d Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 14:48:46 +0100 Subject: [PATCH 04/21] Add basic3d test to stressGraphics --- test/stressGraphics.cxx | 109 +++++++++++++++++++++++++++- test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + test/svg_ref/basic3d.svg | 86 ++++++++++++++++++++++ 5 files changed, 196 insertions(+), 2 deletions(-) create mode 100644 test/svg_ref/basic3d.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index 8387ebeae86a7..3ae86d2c696d0 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -98,9 +98,12 @@ #include "TParallelCoord.h" #include "TImage.h" #include "TMath.h" +#include "TPolyLine3D.h" +#include "TPolyMarker3D.h" +#include "TView.h" -const int kMaxNumTests = 70; +const int kMaxNumTests = 90; const int kFineSvgTest = 10; // SVG file can slightly vary const int kSkipSvgTest = 100; // do not perform SVG test @@ -2633,6 +2636,107 @@ void tf3() TestReport(C, "TF3", "", 0, "tf3"); } +//////////////////////////////////////////////////////////////////////////////// +/// Testing basic 3D primitives + +void basic3d() +{ + TCanvas *C = StartTest(700,500); + + // create a pad + TPad *p1 = new TPad("p1","p1",0.05,0.02,0.95,0.82,46,3,1); + p1->Draw(); + p1->cd(); + + // creating a view + TView *view = TView::CreateView(1); + if (view) view->SetRange(5,5,5,25,25,25); + + // create a first PolyLine3D + TPolyLine3D *pl3d1 = new TPolyLine3D(5); + + // set points + pl3d1->SetPoint(0, 10, 10, 10); + pl3d1->SetPoint(1, 15, 15, 10); + pl3d1->SetPoint(2, 20, 15, 15); + pl3d1->SetPoint(3, 20, 20, 20); + pl3d1->SetPoint(4, 10, 10, 20); + // set attributes + pl3d1->SetLineWidth(3); + pl3d1->SetLineColor(5); + + // create a second PolyLine3D + TPolyLine3D *pl3d2 = new TPolyLine3D(4); + + // set points + pl3d2->SetPoint(0, 5, 10, 5); + pl3d2->SetPoint(1, 10, 15, 8); + pl3d2->SetPoint(2, 15, 15, 18); + pl3d2->SetPoint(3, 5, 20, 20); + pl3d2->SetPoint(4, 10, 10, 5); + + // set attributes + pl3d2->SetLineWidth(5); + pl3d2->SetLineColor(2); + + // create a first PolyMarker3D + TPolyMarker3D *pm3d1 = new TPolyMarker3D(12); + + // set points + pm3d1->SetPoint(0, 10, 10, 10); + pm3d1->SetPoint(1, 11, 15, 11); + pm3d1->SetPoint(2, 12, 15, 9); + pm3d1->SetPoint(3, 13, 17, 20); + pm3d1->SetPoint(4, 14, 16, 15); + pm3d1->SetPoint(5, 15, 20, 15); + pm3d1->SetPoint(6, 16, 18, 10); + pm3d1->SetPoint(7, 17, 15, 10); + pm3d1->SetPoint(8, 18, 22, 15); + pm3d1->SetPoint(9, 19, 28, 25); + pm3d1->SetPoint(10, 20, 12, 15); + pm3d1->SetPoint(11, 21, 12, 15); + + // set marker size, color & style + pm3d1->SetMarkerSize(2); + pm3d1->SetMarkerColor(4); + pm3d1->SetMarkerStyle(2); + + // create a second PolyMarker3D + TPolyMarker3D *pm3d2 = new TPolyMarker3D(8); + + pm3d2->SetPoint(0, 22, 15, 15); + pm3d2->SetPoint(1, 23, 18, 21); + pm3d2->SetPoint(2, 24, 26, 13); + pm3d2->SetPoint(3, 25, 17, 15); + pm3d2->SetPoint(4, 26, 20, 15); + pm3d2->SetPoint(5, 27, 15, 18); + pm3d2->SetPoint(6, 28, 20, 10); + pm3d2->SetPoint(7, 29, 20, 20); + + // set marker size, color & style + pm3d2->SetMarkerSize(2); + pm3d2->SetMarkerColor(1); + pm3d2->SetMarkerStyle(8); + + // draw + pl3d1->Draw(); + pl3d2->Draw(); + pm3d1->Draw(); + pm3d2->Draw(); + // + // draw a title/explanation in the canvas pad + C->cd(); + TPaveText *title = new TPaveText(0.1,0.85,0.9,0.97); + title->SetFillColor(24); + title->AddText("Examples of 3-D primitives"); + TText *click=title->AddText("Click anywhere on the picture to rotate"); + click->SetTextColor(4); + title->Draw(); + + TestReport(C, "TPolyLine3D/TPolyMarker3D", "", 0, "basic3d"); +} + + //////////////////////////////////////////////////////////////////////////////// /// 1st complex drawing and TPad test @@ -3561,7 +3665,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil } earth (); if (gSkip3D) { - gTestNum += 6; + gTestNum += 7; } else { tgraph2d1 (); tgraph2d2 (); @@ -3569,6 +3673,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil tgraph2dassym(); tprofile3d (); tf3 (); + basic3d (); } tgraph2d3 (); print_reports (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 196d208435ece..58eec7875e438 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -52,6 +52,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 50 20171 1000 31868 1000 34901 10000 37812 8000 20127 3000 51 693800 10000 154477 5000 38830 10000 25266 6000 721420 15000 52 270825 10000 115500 1000 45496 11000 34685 5000 272950 10000 + 52 1239 100 13728 100 17340 10000 11680 5000 1295 100 53 15025 3000 29289 500 42525 11300 33336 3900 14787 4000 54 254604 5000 383258 7000 55666 30400 46534 6500 259594 7000 55 4846 150 14075 150 33239 600 25303 500 4877 150 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index 43ed36cf20b58..073e8711fed5c 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -52,6 +52,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 50 20171 1000 31868 1000 34901 10000 37812 8000 20127 3000 51 693800 10000 154477 5000 38830 10000 25266 6000 721420 15000 52 270825 10000 115500 1000 45496 11000 34685 5000 272950 10000 + 52 1239 100 13728 100 17340 10000 11680 5000 1295 100 53 16675 3000 29481 500 40536 11300 33519 3900 16452 4000 54 256544 5000 381654 7000 54446 30400 45002 6500 261593 7000 55 4846 150 14074 100 32913 600 25421 600 4877 150 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index 2e492df29db4f..44c07ce195824 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -52,6 +52,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 50 106676 50000 1099035 763841 80483 40000 74371 20000 106676 50000 51 51076 20000 1062206 500000 73964 35000 50008 15000 51072 20000 52 86268 20000 1099059 500000 100000 50000 68806 17000 86268 20000 + 52 18981 10000 573339 300000 40000 20000 30328 15000 18981 10000 53 870507 1283116 2270534 3361532 205025 121102 267033 254064 870420 1283246 54 140105 192619 500889 732447 172431 60202 98000 48000 139685 191988 55 840715 1243584 633571 931657 110820 36038 275132 284238 613357 902547 diff --git a/test/svg_ref/basic3d.svg b/test/svg_ref/basic3d.svg new file mode 100644 index 0000000000000..00e1c49dc3bea --- /dev/null +++ b/test/svg_ref/basic3d.svg @@ -0,0 +1,86 @@ + + + +basic3d.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Examples of 3-D primitives + +Click anywhere on the picture to rotate + From e08ab30c8d6a13cbd610698b19565654c0715336 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 15:09:09 +0100 Subject: [PATCH 05/21] Add crown test to the stressGraphics --- test/stressGraphics.cxx | 28 ++++++++++++++++++++++++ test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 3 ++- test/svg_ref/crown.svg | 33 +++++++++++++++++++++++++++++ 5 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 test/svg_ref/crown.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index 3ae86d2c696d0..c47be678ca8af 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -71,6 +71,7 @@ #include "TLine.h" #include "TArrow.h" #include "TMarker.h" +#include "TCrown.h" #include "TPolyLine.h" #include "TLatex.h" #include "TMathText.h" @@ -798,6 +799,32 @@ void patterns() TestReport(C, "Fill patterns", "", 0, "patterns"); } +//////////////////////////////////////////////////////////////////////////////// +/// TCrown test + +void crown() +{ + auto C = StartTest(400,400); + + auto cr1 = new TCrown(.5,.5,.3,.4); + cr1->SetLineStyle(2); + cr1->SetLineWidth(4); + cr1->Draw(); + auto cr2 = new TCrown(.5,.5,.2,.3,45,315); + cr2->SetFillColor(38); + cr2->SetFillStyle(3010); + cr2->Draw(); + auto cr3 = new TCrown(.5,.5,.2,.3,-45,45); + cr3->SetFillColor(50); + cr3->SetFillStyle(3025); + cr3->Draw(); + auto cr4 = new TCrown(.5,.5,.0,.2); + cr4->SetFillColor(4); + cr4->SetFillStyle(3008); + cr4->Draw(); + + TestReport(C, "TCrown", "", 0, "crown"); +} //////////////////////////////////////////////////////////////////////////////// /// 1st TText test. @@ -3612,6 +3639,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil tpolyline (); arrows (); patterns (); + crown (); ttext1 (); ttext2 (); tlatex1 (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 58eec7875e438..d77ffe8321474 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -4,6 +4,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 3 452 50 12694 50 11232 4200 3796 10700 492 50 4 1299 50 13037 100 22200 7000 9608 5000 580 50 4 23617 1500 19386 200 143320 123000 45665 11000 24908 1500 + 4 4011 50 14486 100 19178 9000 7605 4000 4077 50 5 1025 150 12802 200 33468 9900 30846 5000 1072 200 6 430 50 12669 50 9558 100 5325 700 471 50 7 5130 50 14030 50 16143 1300 12230 500 5170 70 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index 073e8711fed5c..a89fbc8d494aa 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -4,6 +4,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 3 452 50 12694 50 11764 4200 4338 10700 492 50 4 1299 50 13037 100 22200 7000 9608 5000 580 50 4 23688 1500 19240 100 143676 123000 47075 11000 24979 1500 + 4 4011 50 14486 100 19178 9000 7605 4000 4077 50 5 1025 150 12806 150 32266 9900 29901 5000 1072 200 6 432 50 12683 50 9517 150 5306 700 473 50 7 5140 50 13990 50 16377 1300 12462 500 5170 70 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index 44c07ce195824..b131574ede803 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -2,8 +2,9 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 1 1356 58 4268 50 75219 29324 15193 10000 1356 58 2 13739 50 14950 161 33621 3693 17791 7000 13739 50 3 611 50 3802 50 27412 10485 24438 14774 611 50 - 4 1792 50 6059 50 43900 20000 40240 20000 1593 50 + 4 1792 50 6059 50 55000 20000 40240 20000 1593 50 4 49021 306 93647 842 304049 30830 140000 65000 49931 306 + 4 1768 50 10343 50 65000 20000 40977 20000 1768 50 5 2338 50 4816 50 104754 39759 62489 21274 2338 50 6 577 50 3642 50 16539 6033 13079 6000 577 50 7 6585 50 10186 50 37509 9184 34969 7388 6585 50 diff --git a/test/svg_ref/crown.svg b/test/svg_ref/crown.svg new file mode 100644 index 0000000000000..4228d27442c37 --- /dev/null +++ b/test/svg_ref/crown.svg @@ -0,0 +1,33 @@ + + + +crown.svg + + + + + + + + + + + + + From 3e1e96ac2251d805fdb270465a18ed6ce44aea3c Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 15:39:55 +0100 Subject: [PATCH 06/21] Adjust stressGraphics_web.ref for mac platform --- test/stressGraphics_web.ref | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index b131574ede803..41ae2372ff572 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -23,7 +23,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 20 4442 50 9627 84 40009 8482 31730 8009 4445 50 21 12887 190 13271 173 190869 50682 72947 38985 12887 290 22 5021 190 10944 173 45000 11000 37464 7000 5021 290 - 23 5904 50 11373 225 91649 15966 43000 16000 5892 50 + 23 5904 50 11373 225 91649 15966 46000 20000 5892 50 24 5830 50 10700 400 42000 10000 35922 11000 5850 100 25 2572 50 9271 50 109238 42213 49000 17000 2572 50 26 16403 50 25282 50 25505 3408 23000 8000 16403 50 @@ -62,5 +62,5 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 58 9646 6136 23066 15966 72858 20881 50535 34970 9483 5884 59 607722 892537 4707041 7030026 127701 92798 110000 90000 607722 892537 60 13099 956 95430 92600 72536 20674 31789 9547 40013 39929 - 61 6349 9524 16720 6194 160712 42623 56069 14794 12754 577 + 61 6349 9524 16720 6194 160712 42623 60000 20000 12754 577 62 868245 1202288 705989 823030 79709 55852 245270 329030 640838 861326 From 443edf00105ac30aa9498fbb34969e360ab7052f Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 15:53:01 +0100 Subject: [PATCH 07/21] Add TPie testing in stressGraphics --- test/stressGraphics.cxx | 59 ++ test/stressGraphics.ref | 3 +- test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + test/svg_ref/piechart.svg | 1303 +++++++++++++++++++++++++++ 5 files changed, 1366 insertions(+), 1 deletion(-) create mode 100644 test/svg_ref/piechart.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index c47be678ca8af..9a27ebbe9a034 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -72,6 +72,8 @@ #include "TArrow.h" #include "TMarker.h" #include "TCrown.h" +#include "TPie.h" +#include "TPieSlice.h" #include "TPolyLine.h" #include "TLatex.h" #include "TMathText.h" @@ -826,6 +828,62 @@ void crown() TestReport(C, "TCrown", "", 0, "crown"); } +//////////////////////////////////////////////////////////////////////////////// +/// TPie test + +void piechart() +{ + auto C = StartTest(700, 700); + + Float_t vals[] = {.2,1.1,.6,.9,2.3}; + Int_t colors[] = {2,3,4,5,6}; + Int_t nvals = sizeof(vals)/sizeof(vals[0]); + + C->Divide(2,2); + + TPie *pie1 = new TPie("pie1", + "Pie with offset and no colors",nvals,vals); + TPie *pie2 = new TPie("pie2", + "Pie with radial labels",nvals,vals,colors); + TPie *pie3 = new TPie("pie3", + "Pie with tangential labels",nvals,vals,colors); + TPie *pie4 = new TPie("pie4", + "Pie with verbose labels",nvals,vals,colors); + + C->cd(1); + pie1->SetAngularOffset(30.); + pie1->SetEntryRadiusOffset( 4, 0.1); + pie1->SetRadius(.35); + pie1->Draw("3d"); + + C->cd(2); + pie2->SetEntryRadiusOffset(2,.05); + pie2->SetEntryLineColor(2,2); + pie2->SetEntryLineWidth(2,5); + pie2->SetEntryLineStyle(2,2); + pie2->SetEntryFillStyle(1,3030); + pie2->SetCircle(.5,.45,.3); + pie2->Draw("rsc"); + + C->cd(3); + pie3->SetY(.32); + pie3->GetSlice(0)->SetValue(.8); + pie3->GetSlice(1)->SetFillStyle(3031); + pie3->SetLabelsOffset(-.1); + pie3->Draw("3d t nol"); + TLegend *pieleg = pie3->MakeLegend(); + pieleg->SetY1(.56); pieleg->SetY2(.86); + + C->cd(4); + pie4->SetRadius(.2); + pie4->SetLabelsOffset(.01); + pie4->SetLabelFormat("#splitline{%val (%perc)}{%txt}"); + pie4->Draw("nol <"); + + TestReport(C, "TPie", "", 0, "piechart"); +} + + //////////////////////////////////////////////////////////////////////////////// /// 1st TText test. @@ -3640,6 +3698,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil arrows (); patterns (); crown (); + piechart (); ttext1 (); ttext2 (); tlatex1 (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index d77ffe8321474..54e6799218b75 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -4,7 +4,8 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 3 452 50 12694 50 11232 4200 3796 10700 492 50 4 1299 50 13037 100 22200 7000 9608 5000 580 50 4 23617 1500 19386 200 143320 123000 45665 11000 24908 1500 - 4 4011 50 14486 100 19178 9000 7605 4000 4077 50 + 4 4011 50 14486 100 19178 9000 7605 4000 4077 50 + 4 74830 200 77006 200 32180 15000 29168 15000 74384 200 5 1025 150 12802 200 33468 9900 30846 5000 1072 200 6 430 50 12669 50 9558 100 5325 700 471 50 7 5130 50 14030 50 16143 1300 12230 500 5170 70 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index a89fbc8d494aa..6612709dc4d37 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -5,6 +5,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 4 1299 50 13037 100 22200 7000 9608 5000 580 50 4 23688 1500 19240 100 143676 123000 47075 11000 24979 1500 4 4011 50 14486 100 19178 9000 7605 4000 4077 50 + 4 74830 200 74500 1000 32180 15000 29168 15000 74384 200 5 1025 150 12806 150 32266 9900 29901 5000 1072 200 6 432 50 12683 50 9517 150 5306 700 473 50 7 5140 50 13990 50 16377 1300 12462 500 5170 70 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index 41ae2372ff572..83e1c4ce81021 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -5,6 +5,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 4 1792 50 6059 50 55000 20000 40240 20000 1593 50 4 49021 306 93647 842 304049 30830 140000 65000 49931 306 4 1768 50 10343 50 65000 20000 40977 20000 1768 50 + 4 137000 1000 172149 300 100000 40000 98889 30000 136500 1000 5 2338 50 4816 50 104754 39759 62489 21274 2338 50 6 577 50 3642 50 16539 6033 13079 6000 577 50 7 6585 50 10186 50 37509 9184 34969 7388 6585 50 diff --git a/test/svg_ref/piechart.svg b/test/svg_ref/piechart.svg new file mode 100644 index 0000000000000..13c93e32ffc27 --- /dev/null +++ b/test/svg_ref/piechart.svg @@ -0,0 +1,1303 @@ + + + +piechart.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Slice0 + +Slice1 + +Slice2 + +Slice3 + +Slice4 + + + + +Pie with offset and no colors + + + + +Pie with offset and no colors + + + + + + + + + + + + + + + +Slice0 + + + +Slice1 + + + +Slice2 + + + +Slice3 + + + +Slice4 + + + + + +Pie with radial labels + + + + +Pie with radial labels + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Slice0 + + + +Slice1 + + + +Slice2 + + + +Slice3 + + + +Slice4 + + + + + +Pie with tangential labels + + + + +Slice0 + + + + + + +Slice1 + + + + + + +Slice2 + + + + + + +Slice3 + + + + + + +Slice4 + + + + + + + + + +Pie with tangential labels + + + + + + + + + + + + + + +Slice4 + +2.30 (45.1 %) + +Slice1 + +1.10 (21.6 %) + +Slice3 + +0.90 (17.6 %) + +Slice2 + +0.60 (11.8 %) + +Slice0 + +0.20 (3.9 %) + + + + +Pie with verbose labels + + + + +Pie with verbose labels + From f1e41cee67d6eb50699eb6496955d8ac244b07c4 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 16:05:16 +0100 Subject: [PATCH 08/21] Add transparent colors test in stressGraphics --- test/stressGraphics.cxx | 74 +++++++++++++++++++++++++++++ test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + test/svg_ref/transparency.svg | 44 +++++++++++++++++ 5 files changed, 121 insertions(+) create mode 100644 test/svg_ref/transparency.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index 9a27ebbe9a034..0b9f9bb5b8cbc 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -1266,6 +1266,79 @@ void tmathtext() } +//////////////////////////////////////////////////////////////////////////////// +/// Different objects using transperent colors + +void transparency() +{ + auto C = StartTest(700, 527); + C->Range(-0.125,-0.125,1.125,1.125); + + auto tex = new TLatex(0.06303724,0.0194223,"This text is opaque and this line is transparent"); + tex->SetLineWidth(2); + tex->Draw(); + + auto arrow = new TArrow(0.5555158,0.07171314,0.8939828,0.6195219,0.05,"|>"); + arrow->SetLineWidth(4); + arrow->SetAngle(30); + arrow->Draw(); + + // Draw a transparent graph. + Double_t x[10] = { + 0.5232808, 0.8724928, 0.9280086, 0.7059456, 0.7399714, + 0.4659742, 0.8241404, 0.4838825, 0.7936963, 0.743553}; + Double_t y[10] = { + 0.7290837, 0.9631474, 0.4775896, 0.6494024, 0.3555777, + 0.622012, 0.7938247, 0.9482072, 0.3904382, 0.2410359}; + auto graph = new TGraph(10,x,y); + graph->SetLineColorAlpha(46, 0.1); + graph->SetLineWidth(7); + graph->Draw("l"); + + // Draw an ellipse with opaque colors. + auto ellipse = new TEllipse(0.1740688,0.8352632,0.1518625,0.1010526,0,360,0); + ellipse->SetFillColor(30); + ellipse->SetLineColor(51); + ellipse->SetLineWidth(3); + ellipse->Draw(); + + // Draw an ellipse with transparent colors, above the previous one. + ellipse = new TEllipse(0.2985315,0.7092105,0.1566977,0.1868421,0,360,0); + ellipse->SetFillColorAlpha(9, 0.571); + ellipse->SetLineColorAlpha(8, 0.464); + ellipse->SetLineWidth(3); + ellipse->Draw(); + + // Draw a transparent blue text. + tex = new TLatex(0.04871059,0.1837649,"This text is transparent"); + tex->SetTextColorAlpha(9, 0.476); + tex->SetTextSize(0.125); + tex->SetTextAngle(26.0); + tex->Draw(); + + // Draw two transparent markers + auto marker = new TMarker(0.03080229,0.998008,20); + marker->SetMarkerColorAlpha(2, .3); + marker->SetMarkerStyle(20); + marker->SetMarkerSize(1.7); + marker->Draw(); + marker = new TMarker(0.1239255,0.8635458,20); + marker->SetMarkerColorAlpha(2, .2); + marker->SetMarkerStyle(20); + marker->SetMarkerSize(1.7); + marker->Draw(); + + // Draw an opaque marker + marker = new TMarker(0.3047994,0.6344622,20); + marker->SetMarkerColor(2); + marker->SetMarkerStyle(20); + marker->SetMarkerSize(1.7); + marker->Draw(); + + TestReport(C, "Transparent colors", "", 0, "transparency"); +} + + //////////////////////////////////////////////////////////////////////////////// /// Transparent pad. @@ -3709,6 +3782,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil kerning (); itbf (); tmathtext (); + transparency (); transpad (); statfitparam (); print_reports (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 54e6799218b75..e61881a88055d 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -16,6 +16,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 12 7674 100 13533 50 83557 3000 38505 4000 7720 150 13 5600 400 13242 300 16881 400 15063 800 5638 400 14 14190539 4000000 12926 100 23076 9500 25987 3000 14190704 4000000 + 14 2455 50 14640 100 16514 7000 24701 12000 2554 100 15 15690 5000 17179 200 23076 9500 14232 1500 10437 5000 16 28072 400 23520 200 44462 11000 30062 5000 38007 400 17 20444 400 21520 150 27511 11000 16867 600 20721 400 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index 6612709dc4d37..d1218c552209e 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -16,6 +16,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 12 7666 100 13497 50 83044 3000 37165 4100 7713 150 13 5600 400 13242 300 16868 400 15083 800 5638 400 14 14193187 4000000 12924 100 27112 9500 25080 3000 14193352 4000000 + 14 2455 50 14640 100 16514 7000 24701 12000 2554 100 15 16185 5000 17071 200 22801 9500 14232 1000 11271 5000 16 28087 400 23310 200 44898 11000 30209 5000 38047 400 17 20424 400 21328 100 27719 11000 16806 600 20704 400 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index 83e1c4ce81021..c45ec6dc4e07d 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -16,6 +16,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 12 13535 50 12671 50 179782 31960 66694 28160 13535 50 13 4538 50 9061 70 45280 8144 36726 10768 4538 50 14 109566 50 387050 100 76838 7616 62298 28760 109921 50 + 14 1781 50 6264 100 41491 15000 75006 25000 1781 50 15 9893 50 18592 84 63022 16300 40204 15625 9555 100 16 34595 67 47449 2367 110520 19707 58703 18882 34600 100 17 18061 50 35587 173 67725 8774 36566 15109 18061 50 diff --git a/test/svg_ref/transparency.svg b/test/svg_ref/transparency.svg new file mode 100644 index 0000000000000..297775b1eac86 --- /dev/null +++ b/test/svg_ref/transparency.svg @@ -0,0 +1,44 @@ + + + +transparency.svg + + + + +This text is opaque and this line is transparent + + + + + + + + + + +This text is transparent + + + + + + + + + + + From e458d63e90f4f0ae8aaf76766e6695910c989090 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 16:27:40 +0100 Subject: [PATCH 09/21] Add anootation3d testing to stressGraphics --- test/stressGraphics.cxx | 102 +++++++++++++++++++++++++++- test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + 4 files changed, 104 insertions(+), 1 deletion(-) diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index 0b9f9bb5b8cbc..986ec2bcabde5 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -84,6 +84,7 @@ #include "TPaveText.h" #include "TPaveStats.h" #include "TPaveLabel.h" +#include "TAnnotation.h" #include "TRatioPlot.h" #include "TGaxis.h" #include "TSpline.h" @@ -2895,6 +2896,104 @@ void basic3d() } +//////////////////////////////////////////////////////////////////////////////// +/// Testing TAnnotation3D + +void annotation3d() +{ + gStyle->SetOptStat(0); + gStyle->SetHistTopMargin(0); + gStyle->SetOptTitle(kFALSE); + + auto C = StartTest(600, 800); + C->Divide(1,2); + + // Define and draw a surface + auto f = new TF2("func_annotation3d", "[0]*cos(x)*cos(y)", -1, 1, -1, 1); + f->SetParameter(0, 1); + double s = 1./f->Integral(-1, 1, -1, 1); + f->SetParameter(0, s); + f->SetNpx(50); + f->SetNpy(50); + + f->GetXaxis()->SetTitle("x"); + f->GetXaxis()->SetTitleOffset(1.4); + f->GetXaxis()->SetTitleSize(0.04); + f->GetXaxis()->CenterTitle(); + f->GetXaxis()->SetNdivisions(505); + f->GetXaxis()->SetTitleOffset(1.3); + f->GetXaxis()->SetLabelSize(0.03); + f->GetXaxis()->ChangeLabelByValue(-0.5,-1,-1,-1,kRed,-1,"X_{0}"); + + f->GetYaxis()->SetTitle("y"); + f->GetYaxis()->CenterTitle(); + f->GetYaxis()->SetTitleOffset(1.4); + f->GetYaxis()->SetTitleSize(0.04); + f->GetYaxis()->SetTitleOffset(1.3); + f->GetYaxis()->SetNdivisions(505); + f->GetYaxis()->SetLabelSize(0.03); + + f->GetZaxis()->SetTitle("dP/dx"); + f->GetZaxis()->CenterTitle(); + f->GetZaxis()->SetTitleOffset(1.3); + f->GetZaxis()->SetNdivisions(505); + f->GetZaxis()->SetTitleSize(0.04); + f->GetZaxis()->SetLabelSize(0.03); + + f->SetLineWidth(1); + f->SetLineColorAlpha(kAzure-2, 0.3); + + C->cd(1); + + f->Draw("cont2"); + + auto txt0 = new TAnnotation(-0.45, -0.2, 0.3, "f(y,x_{0})"); + txt0->SetTextFont(42); + txt0->SetTextColor(kGreen); + txt0->Draw(); + + C->cd(2); + gPad->SetTheta(30); + gPad->SetPhi(50); + + + f->Draw("surf1 fb"); + + // Lines for 3D annotation + double x[11] = {-0.500, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.500}; + double y[11] = {-0.985, -0.8, -0.6, -0.4, -0.2, 0.0, 0.2, 0.4, 0.6, 0.8, 0.985}; + double z[11]; + for (int i = 0; i < 11; ++i) z[i] = s*cos(x[i])*cos(y[i]); + auto g2 = new TPolyLine3D(11, x, y, z); + + double xx[2] = {-0.5, -0.5}; + double yy[2] = {-0.985, -0.985}; + double zz[2] = {0.11, s*cos(-0.5)*cos(-0.985)}; + auto l2 = new TPolyLine3D(2, xx, yy, zz); + + g2->SetLineColor(kRed); + g2->SetLineWidth(3); + g2->Draw(); + + l2->SetLineColor(kRed); + l2->SetLineStyle(2); + l2->SetLineWidth(1); + l2->Draw(); + + // Draw text Annotations + auto txt = new TAnnotation(-0.45, -0.2, 0.3, "f(y,x_{0})"); + txt->SetTextFont(42); + txt->SetTextColor(kRed); + txt->Draw(); + + auto txt1 = new TAnnotation(0.5, 0.5, 0.3, "f(x,y)"); + txt1->SetTextColor(kBlue); + txt1->SetTextFont(42); + txt1->Draw(); + + TestReport(C, "TAnnotation with 2D and 3D", "", kSkipSvgTest, "annotation3d"); +} + //////////////////////////////////////////////////////////////////////////////// /// 1st complex drawing and TPad test @@ -3826,7 +3925,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil } earth (); if (gSkip3D) { - gTestNum += 7; + gTestNum += 8; } else { tgraph2d1 (); tgraph2d2 (); @@ -3835,6 +3934,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil tprofile3d (); tf3 (); basic3d (); + annotation3d(); } tgraph2d3 (); print_reports (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index e61881a88055d..044077cd99b6a 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -56,6 +56,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 51 693800 10000 154477 5000 38830 10000 25266 6000 721420 15000 52 270825 10000 115500 1000 45496 11000 34685 5000 272950 10000 52 1239 100 13728 100 17340 10000 11680 5000 1295 100 + 52 547845 3000 193367 3000 32383 12000 58073 20000 547493 3000 53 15025 3000 29289 500 42525 11300 33336 3900 14787 4000 54 254604 5000 383258 7000 55666 30400 46534 6500 259594 7000 55 4846 150 14075 150 33239 600 25303 500 4877 150 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index d1218c552209e..8f206ca69f5e7 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -56,6 +56,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 51 693800 10000 154477 5000 38830 10000 25266 6000 721420 15000 52 270825 10000 115500 1000 45496 11000 34685 5000 272950 10000 52 1239 100 13728 100 17340 10000 11680 5000 1295 100 + 52 547845 3000 193367 3000 32383 12000 58073 20000 547493 3000 53 16675 3000 29481 500 40536 11300 33519 3900 16452 4000 54 256544 5000 381654 7000 54446 30400 45002 6500 261593 7000 55 4846 150 14074 100 32913 600 25421 600 4877 150 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index c45ec6dc4e07d..05da281dc1199 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -56,6 +56,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 51 51076 20000 1062206 500000 73964 35000 50008 15000 51072 20000 52 86268 20000 1099059 500000 100000 50000 68806 17000 86268 20000 52 18981 10000 573339 300000 40000 20000 30328 15000 18981 10000 + 52 114858 40000 731079 200000 128048 50000 156824 50000 115254 40000 53 870507 1283116 2270534 3361532 205025 121102 267033 254064 870420 1283246 54 140105 192619 500889 732447 172431 60202 98000 48000 139685 191988 55 840715 1243584 633571 931657 110820 36038 275132 284238 613357 902547 From 4651b682fae6538535fae74c5656d7b927012525 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 16:38:02 +0100 Subject: [PATCH 10/21] Add TGraphMultiError test in stressGraphics --- test/stressGraphics.cxx | 36 ++++++ test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + test/svg_ref/gmultierrors.svg | 171 ++++++++++++++++++++++++++++ 5 files changed, 210 insertions(+) create mode 100644 test/svg_ref/gmultierrors.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index 986ec2bcabde5..1d1bbce24844b 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -99,6 +99,7 @@ #include "TGraph2D.h" #include "TGraph2DErrors.h" #include "TGraph2DAsymmErrors.h" +#include "TGraphMultiErrors.h" #include "TParallelCoord.h" #include "TImage.h" #include "TMath.h" @@ -2147,6 +2148,40 @@ void tgraph4() TestReport(C, "TGraph 4 (Log scales setting order)", "", 0, "tgraph4"); } +//////////////////////////////////////////////////////////////////////////////// +/// TGraphMultiErrors test. + +void gmultierrors() +{ + auto C = StartTest(700, 500); + C->SetGrid(); + C->GetFrame()->SetBorderSize(12); + + const Int_t np = 5; + Double_t x[np] = {0, 1, 2, 3, 4}; + Double_t y[np] = {0, 2, 4, 1, 3}; + Double_t exl[np] = {0.3, 0.3, 0.3, 0.3, 0.3}; + Double_t exh[np] = {0.3, 0.3, 0.3, 0.3, 0.3}; + Double_t eylstat[np] = {1, 0.5, 1, 0.5, 1}; + Double_t eyhstat[np] = {0.5, 1, 0.5, 1, 0.5}; + Double_t eylsys[np] = {0.5, 0.4, 0.8, 0.3, 1.2}; + Double_t eyhsys[np] = {0.6, 0.7, 0.6, 0.4, 0.8}; + + auto gme = new TGraphMultiErrors("gme", "TGraphMultiErrors Example", np, x, y, exl, exh, eylstat, eyhstat); + gme->AddYError(np, eylsys, eyhsys); + gme->SetMarkerStyle(20); + gme->SetLineColor(kRed); + gme->GetAttLine(0)->SetLineColor(kRed); + gme->GetAttLine(1)->SetLineColor(kBlue); + gme->GetAttFill(1)->SetFillStyle(0); + + // Graph and x erros drawn with "APS" + // Stat Errors drawn with "Z" + // Sys Errors drawn with "5 s=0.5" + gme->Draw("APS ; Z ; 5 s=0.5"); + + TestReport(C, "TGraphMultiErrors", "", 0, "gmultierrors"); +} //////////////////////////////////////////////////////////////////////////////// /// TH2Poly test. @@ -3902,6 +3937,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil tgraph2 (); tgraph3 (); tgraph4 (); + gmultierrors (); tmultigraph1 (); tmultigraph2 (); waves (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 044077cd99b6a..ab07ebd2d6a0a 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -34,6 +34,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 29 6141 200 15967 100 39594 21600 19331 7000 6596 500 30 9110 500 16584 200 21346 21600 10645 7000 8869 500 31 7419 500 15112 200 18872 21600 7928 7000 7296 500 + 31 3513 50 14168 100 23554 15000 9807 5000 3435 50 32 17016 5500 18198 250 32434 17400 22157 5000 20823 5500 33 30615 8200 27176 200 50520 18200 35724 5400 36690 8200 34 3304500 100 712308 3000 62688 19000 123056 7000 3396789 1000 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index 8f206ca69f5e7..4c35de60baec0 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -34,6 +34,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 29 6299 200 15889 100 34556 21600 19438 7000 6596 500 30 9088 500 16789 400 21370 21600 10798 7000 8846 500 31 7437 500 15047 200 18767 21600 7971 7000 7314 500 + 31 3513 50 14168 100 23554 15000 9807 5000 3435 50 32 18751 5500 18070 100 32484 17400 22128 5000 18905 5500 33 25492 8200 27143 400 50520 18200 35537 5400 32937 8200 34 3304500 100 709947 500 62761 19000 122867 7000 3396789 1000 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index 05da281dc1199..7c581ad0b106e 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -34,6 +34,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 29 13278 50 51209 75 134264 39598 61000 22000 13242 50 30 10629 50 18701 92 44744 8146 27754 6478 10629 50 31 8643 174 13191 551 37607 7570 23743 4170 8643 174 + 31 4812 50 9590 200 51664 20000 27741 8000 4812 50 32 12629 52 20641 219 89532 21704 58976 13483 12600 80 33 33040 69 50688 694 125388 21334 98573 19359 32994 148 34 1111600 100 3933582 50 248290 61958 298343 100544 1124318 700 diff --git a/test/svg_ref/gmultierrors.svg b/test/svg_ref/gmultierrors.svg new file mode 100644 index 0000000000000..febdd931a8a11 --- /dev/null +++ b/test/svg_ref/gmultierrors.svg @@ -0,0 +1,171 @@ + + + +gmultierrors.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +− + +0 + +1 + +2 + +3 + +4 + +5 + + + + +TGraphMultiErrors Example + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +TGraphMultiErrors Example + From ebad08d09bac263d5d59291779667ce348d225f3 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 17:06:52 +0100 Subject: [PATCH 11/21] Adding reverse axis test with TGraph to stressGraphics There are some bug in ROOT graphics handling such canvas, web graphics works as expected!!! --- test/stressGraphics.cxx | 94 + test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + test/svg_ref/tgraphreverse.svg | 5843 +++++++++++++++++++++++++++ 5 files changed, 5940 insertions(+) create mode 100644 test/svg_ref/tgraphreverse.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index 1d1bbce24844b..d1e1d858af304 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -2148,6 +2148,99 @@ void tgraph4() TestReport(C, "TGraph 4 (Log scales setting order)", "", 0, "tgraph4"); } +//////////////////////////////////////////////////////////////////////////////// +/// This example test all the various case of reverse graphs +/// combined with logarithmic scale. + +void tgraphreverse() +{ + auto C = StartTest(900,900); + C->Divide(3,3); + + C->cd(1); + gPad->SetGrid(); + + // TGraphErrors + auto graphe = new TGraphErrors(); + graphe->GetXaxis()->SetNdivisions(514); + graphe->GetYaxis()->SetNdivisions(514); + graphe->SetMarkerStyle(kCircle); + graphe->SetPoint(0,5,5); + graphe->SetPointError(0,1,3); + graphe->SetPoint(1,9,9); + graphe->SetPointError(1,1,3); + graphe->GetXaxis()->SetMoreLogLabels(); + graphe->GetYaxis()->SetMoreLogLabels(); + + gPad->Add(graphe, "a pl "); + + C->cd(2); + gPad->SetGrid(); + gPad->Add(graphe, "a pl rx ry "); + + C->cd(3); + gPad->SetGrid(); + gPad->SetLogx(); + gPad->SetLogy(); + gPad->Add(graphe, "a pl rx ry"); + + C->cd(4); + gPad->SetGrid(); + + // TGraphAsymmErrors + auto graphae = new TGraphAsymmErrors(); + graphae->GetXaxis()->SetNdivisions(514); + graphae->GetYaxis()->SetNdivisions(514); + graphae->SetMarkerStyle(kCircle); + graphae->SetPoint(0,5,5); + graphae->SetPointError(0,1,3,3,1); + graphae->SetPoint(1,9,9); + graphae->SetPointError(1,1,3,1,3); + graphae->GetXaxis()->SetMoreLogLabels(); + graphae->GetYaxis()->SetMoreLogLabels(); + + gPad->Add(graphae, "a pl "); + + C->cd(5); + gPad->SetGrid(); + gPad->Add(graphae, "a pl rx ry "); + + C->cd(6); + gPad->SetGrid(); + gPad->SetLogx(); + gPad->SetLogy(); + gPad->Add(graphae, "a pl rx ry"); + + C->cd(7); + gPad->SetGrid(); + + // TGraphBentErrors + auto graphbe = new TGraphBentErrors(); + graphbe->GetXaxis()->SetNdivisions(514); + graphbe->GetYaxis()->SetNdivisions(514); + graphbe->SetMarkerStyle(kCircle); + graphbe->SetPoint(0,5,5); + graphbe->SetPointError(0,1,3,3,1,.5,.2,.5,.2); + graphbe->SetPoint(1,9,9); + graphbe->SetPointError(1,1,3,1,3,-.5,-.2,-.5,-.2); + graphbe->GetXaxis()->SetMoreLogLabels(); + graphbe->GetYaxis()->SetMoreLogLabels(); + + gPad->Add(graphbe, "a pl "); + + C->cd(8); + gPad->SetGrid(); + gPad->Add(graphbe, "a pl rx ry "); + + C->cd(9); + gPad->SetGrid(); + gPad->SetLogx(); + gPad->SetLogy(); + gPad->Add(graphbe, "a pl rx ry"); + + TestReport(C, "TGraph with reverse axis and log scale", "", 0, "tgraphreverse"); +} + //////////////////////////////////////////////////////////////////////////////// /// TGraphMultiErrors test. @@ -3937,6 +4030,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil tgraph2 (); tgraph3 (); tgraph4 (); + tgraphreverse (); gmultierrors (); tmultigraph1 (); tmultigraph2 (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index ab07ebd2d6a0a..dc89b2f14c4d5 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -34,6 +34,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 29 6141 200 15967 100 39594 21600 19331 7000 6596 500 30 9110 500 16584 200 21346 21600 10645 7000 8869 500 31 7419 500 15112 200 18872 21600 7928 7000 7296 500 + 31 97700 1000 29700 1000 94376 20000 39638 15000 34081 2000 31 3513 50 14168 100 23554 15000 9807 5000 3435 50 32 17016 5500 18198 250 32434 17400 22157 5000 20823 5500 33 30615 8200 27176 200 50520 18200 35724 5400 36690 8200 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index 4c35de60baec0..e99e7d4ed22e1 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -34,6 +34,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 29 6299 200 15889 100 34556 21600 19438 7000 6596 500 30 9088 500 16789 400 21370 21600 10798 7000 8846 500 31 7437 500 15047 200 18767 21600 7971 7000 7314 500 + 31 97700 1000 29700 1000 94376 20000 39638 15000 34081 2000 31 3513 50 14168 100 23554 15000 9807 5000 3435 50 32 18751 5500 18070 100 32484 17400 22128 5000 18905 5500 33 25492 8200 27143 400 50520 18200 35537 5400 32937 8200 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index 7c581ad0b106e..982010a03fcaa 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -34,6 +34,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 29 13278 50 51209 75 134264 39598 61000 22000 13242 50 30 10629 50 18701 92 44744 8146 27754 6478 10629 50 31 8643 174 13191 551 37607 7570 23743 4170 8643 174 + 31 38700 500 57500 1000 225085 40000 110000 30000 38700 500 31 4812 50 9590 200 51664 20000 27741 8000 4812 50 32 12629 52 20641 219 89532 21704 58976 13483 12600 80 33 33040 69 50688 694 125388 21334 98573 19359 32994 148 diff --git a/test/svg_ref/tgraphreverse.svg b/test/svg_ref/tgraphreverse.svg new file mode 100644 index 0000000000000..1529eb1397e71 --- /dev/null +++ b/test/svg_ref/tgraphreverse.svg @@ -0,0 +1,5843 @@ + + + +tgraphreverse.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + +13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + +13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + +13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + + + +5 + + + +6 + + + +7 + + + +8 + + + +9 + + + + +10 + + + + +1 + + +2 + + + + + + + + + + + + + + + + + + +10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + +13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + +13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + + + +5 + + + +6 + + + +7 + + + +8 + + + +9 + + + + +10 + + + + +1 + + +2 + + + + + + + + + + + + + + + + + + +10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + +13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + + + +5 + + + +6 + + + +7 + + + +8 + + + +9 + + + + +10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + +2 + + + + + + + + + + + + + + + + + + +10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + +13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + +13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + + + +5 + + + +6 + + + +7 + + + +8 + + + +9 + + + + +10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + +2 + + + + + + + + + + + + + + + + + + +10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + +13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + +13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + + + +5 + + + +6 + + + +7 + + + +8 + + + +9 + + + + +10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + +2 + + + + + + + + + + + + + + + + + + +10 + + + + + + + + + + + + + + + + + + + + + + From df37997918ba1017e28a9278b0ec4dc7e0b18009 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 17:41:03 +0100 Subject: [PATCH 12/21] Add testing of TGraphPolar to stressGraphics Saving in macro does not work at all SVG output varies on several platforms - to be investigated later --- test/stressGraphics.cxx | 88 +++++++++++++++++++++++++++++ test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + 4 files changed, 91 insertions(+) diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index d1e1d858af304..73b638c674e3b 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -100,6 +100,8 @@ #include "TGraph2DErrors.h" #include "TGraph2DAsymmErrors.h" #include "TGraphMultiErrors.h" +#include "TGraphPolar.h" +#include "TGraphPolargram.h" #include "TParallelCoord.h" #include "TImage.h" #include "TMath.h" @@ -3903,6 +3905,91 @@ void profile_2poly() TestReport(C, "TH2Poly and TPofile2Poly", "", 0, "profile_2dpoly"); } +//////////////////////////////////////////////////////////////////////////////// +/// TGraphPolar + +void graphpolar() +{ + // Illustrates how to use TGraphPolar + + auto C = StartTest(1200,600); + C->Divide(2,1); + C->cd(1); + + Double_t xmin=0; + Double_t xmax=TMath::Pi()*2; + + Double_t x[1000]; + Double_t y[1000]; + Double_t xval1[20]; + Double_t yval1[20]; + + for (Int_t ipt = 0; ipt < 1000; ipt++){ + x[ipt] = ipt*(xmax-xmin)/1000+xmin; + y[ipt] = cos(2*x[ipt])*cos(20*x[ipt]); + } + + TGraphPolar * grP = new TGraphPolar(1000,x,y); + grP->SetLineColor(2); + grP->SetLineWidth(2); + grP->SetFillStyle(3012); + grP->SetFillColor(2); + grP->Draw("AFL"); + + for (Int_t ipt = 0; ipt < 20; ipt++){ + xval1[ipt] = x[1000/20*ipt]; + yval1[ipt] = y[1000/20*ipt]; + } + + TGraphPolar *grP1 = new TGraphPolar(20,xval1,yval1); + grP1->SetMarkerStyle(29); + grP1->SetMarkerSize(2); + grP1->SetMarkerColor(4); + grP1->SetLineColor(4); + grP1->Draw("CP"); + + // Update, otherwise GetPolargram returns 0 + gPad->Update(); + if (grP1->GetPolargram()) { + grP1->GetPolargram()->SetTextColor(8); + grP1->GetPolargram()->SetRangePolar(-TMath::Pi(),TMath::Pi()); + grP1->GetPolargram()->SetNdivPolar(703); + grP1->GetPolargram()->SetToRadian(); + } + + C->cd(2); + Double_t x2[30]; + Double_t y2[30]; + Double_t ex[30]; + Double_t ey[30]; + for (Int_t ipt = 0; ipt < 30; ipt++){ + x2[ipt] = x[1000/30*ipt]; + y2[ipt] = 1.2 + 0.4*sin(TMath::Pi()*2*ipt/30); + ex[ipt] = 0.2+0.1*cos(2*TMath::Pi()/30*ipt); + ey[ipt] = 0.2; + } + + TGraphPolar *grPE = new TGraphPolar(30,x2,y2,ex,ey); + grPE->SetMarkerStyle(22); + grPE->SetMarkerSize(1.5); + grPE->SetMarkerColor(5); + grPE->SetLineColor(6); + grPE->SetLineWidth(2); + grPE->Draw("EP"); + // Update, otherwise GetPolargram returns 0 + gPad->Update(); + + if (grPE->GetPolargram()) { + grPE->GetPolargram()->SetTextSize(0.03); + grPE->GetPolargram()->SetTwoPi(); + grPE->GetPolargram()->SetToRadian(); + } + + TestReport(C, "TGraphPolar", kSkipCCode, kSkipSvgTest, "graphpolar"); +} + + + void PrintRefHeader() { if (gWebMode) @@ -4041,6 +4128,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil efficiency_test(); profile_2d (); profile_2poly (); + graphpolar (); print_reports (); start_block("High Level 3D Primitives"); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index dc89b2f14c4d5..d8ae504d36962 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -45,6 +45,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 38 12926 200 24304 300 24021 6800 12637 2000 12584 200 39 29664 200 19354 300 23024 6500 12821 2000 31317 200 40 46000 400 23482 300 38792 8500 30458 4000 46000 400 + 40 78072 1000 102991 3000 112084 30000 82890 30000 0 0 41 89233 500 47975 300 65532 27800 37314 12000 90600 500 42 36514 300 17060 200 47408 12700 33739 3700 36399 300 43 207729 750 87126 750 76094 38000 54717 11000 210497 800 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index e99e7d4ed22e1..3927ae4a33a40 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -45,6 +45,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 38 12926 200 24304 300 24021 6800 12637 2000 12584 200 39 29664 200 19354 300 23024 6500 12821 2000 31317 200 40 46000 400 23482 300 38792 8500 30458 4000 46000 400 + 40 78072 1000 102991 3000 112084 30000 82890 30000 0 0 41 89233 500 47975 300 65532 27800 37314 12000 90600 500 42 36499 300 16882 200 50206 12700 35399 3700 36389 300 43 207704 750 86535 100 73220 38000 56792 11000 210469 800 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index 982010a03fcaa..c29802509692b 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -45,6 +45,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 38 22000 300 34502 3000 75004 27000 37944 14000 20700 300 39 15105 200 36976 3000 71124 25000 38507 14000 15102 300 40 41420 300 51681 4000 118602 45000 150000 70000 41408 300 + 40 32300 1000 62052 300 274100 100000 400000 180000 0 0 41 63724 50 111423 5578 172370 37970 70682 19917 63700 100 42 33521 50 58079 6456 157541 18693 90000 35000 33521 100 43 56141 650 81279 1063 205355 35929 205000 100000 55997 650 From ac34cf4b194d99f7daf0c0a2ad8f956cd8b114a5 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 18:05:37 +0100 Subject: [PATCH 13/21] Add pad ticks testing to stressGraphics --- test/stressGraphics.cxx | 37 + test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + test/svg_ref/padticks.svg | 1048 +++++++++++++++++++++++++++ 5 files changed, 1088 insertions(+) create mode 100644 test/svg_ref/padticks.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index 73b638c674e3b..bc3965f377da4 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -1794,6 +1794,42 @@ void tgaxis6() TestReport(C, "TGaxis 6 (Modified labels)", "", 0, "tgaxis6"); } +//////////////////////////////////////////////////////////////////////////////// +/// Testing ticks configuration on the pad + +void padticks() +{ + auto C = StartTest(900,700); + + gStyle->SetOptStat(0); + C->Divide(2,2,0,0); + TH2F *h1 = new TH2F("ticks_h1","test1",10,0,1,20,0,20); + TH2F *h2 = new TH2F("ticks_h2","test2",10,0,1,20,0,100); + TH2F *h3 = new TH2F("ticks_h3","test3",10,0,1,20,-1,1); + TH2F *h4 = new TH2F("ticks_h4","test4",10,0,1,20,0,1000); + + C->cd(1); + gPad->SetTickx(2); + h1->Draw(); + + C->cd(2); + gPad->SetTickx(2); + gPad->SetTicky(2); + h2->GetYaxis()->SetLabelOffset(0.01); + h2->Draw(); + + C->cd(3); + gPad->SetTickx(1); + gPad->SetTicky(1); + h3->Draw(); + + C->cd(4); + gPad->SetTicky(2); + h4->Draw(); + + TestReport(C, "TPad with tickx/y", "", 0, "padticks"); +} + //////////////////////////////////////////////////////////////////////////////// /// Alphanumeric labels in a 1-d histogram @@ -4108,6 +4144,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil tgaxis4 (); tgaxis5 (); tgaxis6 (); + padticks (); labels1 (); th2_custom_axis_labels(); tellipse (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index d8ae504d36962..60569a8cfb2ca 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -25,6 +25,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 20 3664 600 14437 150 19824 6300 10396 900 4220 600 21 17608 600 13900 150 49440 6300 37586 9000 8938 600 22 5086 600 14193 150 16812 6300 11900 9000 5156 600 + 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 23 4866 600 14162 100 30889 10050 21311 1800 4845 600 24 4878 600 14375 100 17419 5000 11709 1800 5770 600 25 4131 40 15272 100 34038 2500 12258 1400 4162 40 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index 3927ae4a33a40..bac7bbc66c83a 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -25,6 +25,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 20 3817 600 14345 150 19907 6300 10674 900 4523 600 21 17464 600 13900 150 49201 6300 37054 9000 8924 600 22 5086 600 14193 150 16812 6300 11900 9000 5156 600 + 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 23 4875 600 14112 100 31268 10050 22053 1800 4849 600 24 4878 600 14375 100 17419 5000 11709 1800 5770 600 25 4130 40 15193 50 34790 2500 12156 1400 4161 40 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index c29802509692b..ce5c30be44b0b 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -25,6 +25,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 20 4442 50 9627 84 40009 8482 31730 8009 4445 50 21 12887 190 13271 173 190869 50682 72947 38985 12887 290 22 5021 190 10944 173 45000 11000 37464 7000 5021 290 + 22 22020 200 37300 700 71900 30000 58600 20000 22020 200 23 5904 50 11373 225 91649 15966 46000 20000 5892 50 24 5830 50 10700 400 42000 10000 35922 11000 5850 100 25 2572 50 9271 50 109238 42213 49000 17000 2572 50 diff --git a/test/svg_ref/padticks.svg b/test/svg_ref/padticks.svg new file mode 100644 index 0000000000000..4db8ab95d01c1 --- /dev/null +++ b/test/svg_ref/padticks.svg @@ -0,0 +1,1048 @@ + + + +padticks.svg + + + + + + + + + + + + + + +test1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +0.1 + +0.2 + +0.3 + +0.4 + +0.5 + +0.6 + +0.7 + +0.8 + +0.9 + +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +0.1 + +0.2 + +0.3 + +0.4 + +0.5 + +0.6 + +0.7 + +0.8 + +0.9 + +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +2 + +4 + +6 + +8 + +10 + +12 + +14 + +16 + +18 + +20 + + + + +test1 + + + + + + + + + + + +test2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +0.1 + +0.2 + +0.3 + +0.4 + +0.5 + +0.6 + +0.7 + +0.8 + +0.9 + +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +0.1 + +0.2 + +0.3 + +0.4 + +0.5 + +0.6 + +0.7 + +0.8 + +0.9 + +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +10 + +20 + +30 + +40 + +50 + +60 + +70 + +80 + +90 + +100 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +10 + +20 + +30 + +40 + +50 + +60 + +70 + +80 + +90 + +100 + + + + +test2 + + + + + + + + + + + +test3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +0.1 + +0.2 + +0.3 + +0.4 + +0.5 + +0.6 + +0.7 + +0.8 + +0.9 + +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +− + +0.8 + +− + +0.6 + +− + +0.4 + +− + +0.2 + +− + +0 + +0.2 + +0.4 + +0.6 + +0.8 + +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test3 + + + + + + + + + + + +test4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +0.1 + +0.2 + +0.3 + +0.4 + +0.5 + +0.6 + +0.7 + +0.8 + +0.9 + +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +100 + +200 + +300 + +400 + +500 + +600 + +700 + +800 + +900 + +1000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +100 + +200 + +300 + +400 + +500 + +600 + +700 + +800 + +900 + +1000 + + + + +test4 + From dcfd3ddd0445d21de53df3eb3cb3d8d4492cdf49 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 28 Oct 2025 18:19:01 +0100 Subject: [PATCH 14/21] Add testing of TH2 with cut condition --- test/stressGraphics.cxx | 25 ++ test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + test/svg_ref/th2_cut.svg | 493 ++++++++++++++++++++++++++++ 5 files changed, 521 insertions(+) create mode 100644 test/svg_ref/th2_cut.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index bc3965f377da4..b0382a90b4070 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -92,6 +92,7 @@ #include "TScatter.h" #include "TEfficiency.h" #include "TGraph.h" +#include "TCutG.h" #include "TGraphErrors.h" #include "TGraphAsymmErrors.h" #include "TGraphBentErrors.h" @@ -1882,6 +1883,29 @@ void labels1() delete hlab1; } +//////////////////////////////////////////////////////////////////////////////// +/// Testing TH2 drawing with TCutG + +void th2_cut() +{ + auto C = StartTest(600, 600); + + Float_t x[6] = { 1, 2, 1, -1, -2, -1 }; + Float_t y[6] = { 2, 0, -2, -2, 0, 2 }; + TCutG *cut = new TCutG("cut", 6, x, y); + + TH1 *hpxpy = (TH1*)gHsimple->Get("hpxpy"); + + hpxpy->Draw("col [cut]"); + cut->Draw("l"); + + TestReport(C, "TH2 with TCutG cut", "", 0, "th2_cut"); +} + +//////////////////////////////////////////////////////////////////////////////// +/// Testing TH2 with custom axis labels + + void th2_custom_axis_labels() { auto C = StartTest(600, 600); @@ -4146,6 +4170,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil tgaxis6 (); padticks (); labels1 (); + th2_cut (); th2_custom_axis_labels(); tellipse (); feynman (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 60569a8cfb2ca..1caa934994d36 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -27,6 +27,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 5086 600 14193 150 16812 6300 11900 9000 5156 600 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 23 4866 600 14162 100 30889 10050 21311 1800 4845 600 + 23 14774 600 16179 300 19511 5000 11533 4000 16039 600 24 4878 600 14375 100 17419 5000 11709 1800 5770 600 25 4131 40 15272 100 34038 2500 12258 1400 4162 40 26 7813 300 23840 150 11085 6000 6973 3100 8081 300 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index bac7bbc66c83a..9370db5b80a6d 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -27,6 +27,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 5086 600 14193 150 16812 6300 11900 9000 5156 600 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 23 4875 600 14112 100 31268 10050 22053 1800 4849 600 + 23 14774 600 16179 300 19511 5000 11533 4000 16039 600 24 4878 600 14375 100 17419 5000 11709 1800 5770 600 25 4130 40 15193 50 34790 2500 12156 1400 4161 40 26 7825 300 23672 100 11087 6000 7008 3100 8097 300 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index ce5c30be44b0b..fb4128505dad5 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -27,6 +27,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 5021 190 10944 173 45000 11000 37464 7000 5021 290 22 22020 200 37300 700 71900 30000 58600 20000 22020 200 23 5904 50 11373 225 91649 15966 46000 20000 5892 50 + 23 9915 50 21851 400 50000 20000 35399 11000 9919 50 24 5830 50 10700 400 42000 10000 35922 11000 5850 100 25 2572 50 9271 50 109238 42213 49000 17000 2572 50 26 16403 50 25282 50 25505 3408 23000 8000 16403 50 diff --git a/test/svg_ref/th2_cut.svg b/test/svg_ref/th2_cut.svg new file mode 100644 index 0000000000000..5d95d2adca484 --- /dev/null +++ b/test/svg_ref/th2_cut.svg @@ -0,0 +1,493 @@ + + + +th2_cut.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +py vs px + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +hpxpy + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + + +py vs px + From 709493a305064141d3056bb4cfc40150e78b734a Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Wed, 29 Oct 2025 08:22:34 +0100 Subject: [PATCH 15/21] Add candle and violin tests in stressGraphics --- test/stressGraphics.cxx | 55 +- test/stressGraphics.ref | 2 + test/stressGraphics_builtinzlib.ref | 2 + test/stressGraphics_web.ref | 2 + test/svg_ref/th2_candle.svg | 6253 +++++++++++++++++++++++++++ test/svg_ref/th2_violin.svg | 3075 +++++++++++++ 6 files changed, 9388 insertions(+), 1 deletion(-) create mode 100644 test/svg_ref/th2_candle.svg create mode 100644 test/svg_ref/th2_violin.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index b0382a90b4070..2db2247668ff6 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -1903,8 +1903,59 @@ void th2_cut() } //////////////////////////////////////////////////////////////////////////////// -/// Testing TH2 with custom axis labels +/// Testing TH2 candle option +/// do not include candle5 and candle6 testing while they emulate scatter plots + +void th2_candle() +{ + auto C = StartTest(1200, 800); + C->Divide(4, 2); + + for (int padid = 0; padid < 8; ++padid) { + auto pad = C->cd(padid+1); + TString name = TString::Format("candle%s%d", padid/4 > 0 ? "v" : "h", padid % 4 + 1); + TString title = TString::Format("%s CANDLE%d plot", padid/4 > 0 ? "Vertical" : "Horizontal", padid % 4 + 1); + + TH2 *h2 = (TH2*)gHsimple->Get("hpxpy")->Clone(name); + h2->SetTitle(title); + h2->SetFillColor(kGray); + h2->SetLineColor(kBlue); + + pad->Add(h2, name); + } + + TestReport(C, "TH2 candle", "", 0, "th2_candle"); +} + +//////////////////////////////////////////////////////////////////////////////// +/// Testing TH2 violin option + +void th2_violin() +{ + auto C = StartTest(800, 800); + C->Divide(2, 2); + + for (int padid = 0; padid < 4; ++padid) { + auto pad = C->cd(padid+1); + + TString name = TString::Format("violin%s%d", padid/2 > 0 ? "v" : "h", padid % 2 + 1); + TString title = TString::Format("%s VIOLIN%d plot", padid/2 > 0 ? "Vertical" : "Horizontal", padid % 2 + 1); + + TH2 *h2 = (TH2*)gHsimple->Get("hpxpy")->Clone(name); + h2->SetTitle(title); + h2->SetFillColor(kGray); + h2->SetLineColor(kBlue); + + pad->Add(h2, name); + } + + TestReport(C, "TH2 violin", "", 0, "th2_violin"); +} + + +//////////////////////////////////////////////////////////////////////////////// +/// Testing TH2 with custom axis labels void th2_custom_axis_labels() { @@ -4171,6 +4222,8 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil padticks (); labels1 (); th2_cut (); + th2_candle (); + th2_violin (); th2_custom_axis_labels(); tellipse (); feynman (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 1caa934994d36..5bb4c3e3bef29 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -28,6 +28,8 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 23 4866 600 14162 100 30889 10050 21311 1800 4845 600 23 14774 600 16179 300 19511 5000 11533 4000 16039 600 + 23 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 + 23 73316 500 84161 500 85037 20000 34733 15000 73223 500 24 4878 600 14375 100 17419 5000 11709 1800 5770 600 25 4131 40 15272 100 34038 2500 12258 1400 4162 40 26 7813 300 23840 150 11085 6000 6973 3100 8081 300 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index 9370db5b80a6d..fa1e2828b3cc7 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -28,6 +28,8 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 23 4875 600 14112 100 31268 10050 22053 1800 4849 600 23 14774 600 16179 300 19511 5000 11533 4000 16039 600 + 23 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 + 23 73316 500 84161 500 85037 20000 34733 15000 73223 500 24 4878 600 14375 100 17419 5000 11709 1800 5770 600 25 4130 40 15193 50 34790 2500 12156 1400 4161 40 26 7825 300 23672 100 11087 6000 7008 3100 8097 300 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index fb4128505dad5..ce2f94d44c488 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -28,6 +28,8 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 22020 200 37300 700 71900 30000 58600 20000 22020 200 23 5904 50 11373 225 91649 15966 46000 20000 5892 50 23 9915 50 21851 400 50000 20000 35399 11000 9919 50 + 23 85700 200 196500 1500 375000 120000 138091 30000 85800 200 + 23 42606 100 112200 1500 220000 70000 78079 20000 42622 100 24 5830 50 10700 400 42000 10000 35922 11000 5850 100 25 2572 50 9271 50 109238 42213 49000 17000 2572 50 26 16403 50 25282 50 25505 3408 23000 8000 16403 50 diff --git a/test/svg_ref/th2_candle.svg b/test/svg_ref/th2_candle.svg new file mode 100644 index 0000000000000..8ddf820da576e --- /dev/null +++ b/test/svg_ref/th2_candle.svg @@ -0,0 +1,6253 @@ + + + +th2_candle.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Horizontal CANDLE1 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +candleh1 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +candleh1 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Horizontal CANDLE1 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Horizontal CANDLE2 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +candleh2 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +candleh2 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Horizontal CANDLE2 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Horizontal CANDLE3 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +candleh3 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +candleh3 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Horizontal CANDLE3 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Horizontal CANDLE4 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +candleh4 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +candleh4 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Horizontal CANDLE4 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Vertical CANDLE1 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +candlev1 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +candlev1 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Vertical CANDLE1 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Vertical CANDLE2 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +candlev2 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +candlev2 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Vertical CANDLE2 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Vertical CANDLE3 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +candlev3 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +candlev3 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Vertical CANDLE3 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Vertical CANDLE4 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +candlev4 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +candlev4 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Vertical CANDLE4 plot + diff --git a/test/svg_ref/th2_violin.svg b/test/svg_ref/th2_violin.svg new file mode 100644 index 0000000000000..5db37a6b14e3e --- /dev/null +++ b/test/svg_ref/th2_violin.svg @@ -0,0 +1,3075 @@ + + + +th2_violin.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Horizontal VIOLIN1 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +violinh1 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +violinh1 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Horizontal VIOLIN1 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Horizontal VIOLIN2 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +violinh2 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +violinh2 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Horizontal VIOLIN2 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Vertical VIOLIN1 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +violinv1 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +violinv1 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Vertical VIOLIN1 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Vertical VIOLIN2 plot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + +violinv2 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +violinv2 + + +Entries + + 25000 + +Mean x + +0.003961 + +− + + + +Mean y + +0.003377 + +− + + + +Std Dev x + + 0.9978 + +Std Dev y + + 1.006 + + + + +Vertical VIOLIN2 plot + From 6e847f6fcfde58ee2d699b72de995f54ea15414c Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Wed, 29 Oct 2025 09:37:53 +0100 Subject: [PATCH 16/21] Add histpalettecolor test to stressGraphics --- test/stressGraphics.cxx | 48 + test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + test/svg_ref/th1_palettecolor.svg | 2314 +++++++++++++++++++++++++++ 5 files changed, 2365 insertions(+) create mode 100644 test/svg_ref/th1_palettecolor.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index 2db2247668ff6..62369e15ba3a0 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -1883,6 +1883,50 @@ void labels1() delete hlab1; } +//////////////////////////////////////////////////////////////////////////////// +/// Testing automatic color for hsitograms + +void th1_palettecolor() +{ + auto C = StartTest(800, 600); + + gStyle->SetOptTitle(kFALSE); + gStyle->SetOptStat(0); + + auto h1 = new TH1F("palettecolor_h1","Histogram drawn with full circles",100,-4,4); + auto h2 = new TH1F("palettecolor_h2","Histogram drawn with full squares",100,-4,4); + auto h3 = new TH1F("palettecolor_h3","Histogram drawn with full triangles up",100,-4,4); + auto h4 = new TH1F("palettecolor_h4","Histogram drawn with full triangles down",100,-4,4); + auto h5 = new TH1F("palettecolor_h5","Histogram drawn with empty circles",100,-4,4); + + TRandom3 rng; + Double_t px,py; + for (Int_t i = 0; i < 25000; i++) { + rng.Rannor(px,py); + h1->Fill(px,10.); + h2->Fill(px, 8.); + h3->Fill(px, 6.); + h4->Fill(px, 4.); + h5->Fill(px, 2.); + } + + h1->SetMarkerStyle(kFullCircle); + h2->SetMarkerStyle(kFullSquare); + h3->SetMarkerStyle(kFullTriangleUp); + h4->SetMarkerStyle(kFullTriangleDown); + h5->SetMarkerStyle(kOpenCircle); + + h1->Draw("PLC PMC"); + h2->Draw("SAME PLC PMC"); + h3->Draw("SAME PLC PMC"); + h4->Draw("SAME PLC PMC"); + h5->Draw("SAME PLC PMC"); + + C->BuildLegend(); + + TestReport(C, "TH1 with automatic line/marker colors", "", 0, "th1_palettecolor"); +} + //////////////////////////////////////////////////////////////////////////////// /// Testing TH2 drawing with TCutG @@ -4221,6 +4265,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil tgaxis6 (); padticks (); labels1 (); + th1_palettecolor(); th2_cut (); th2_candle (); th2_violin (); @@ -4228,6 +4273,9 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil tellipse (); feynman (); ratioplot (); + print_reports (); + + start_block("More high Level 2D Primitives"); tgraph1 (); tgraph2 (); tgraph3 (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 5bb4c3e3bef29..5cfdb919d18cf 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -27,6 +27,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 5086 600 14193 150 16812 6300 11900 9000 5156 600 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 23 4866 600 14162 100 30889 10050 21311 1800 4845 600 + 23 17056 100 32429 100 29162 12000 35018 15000 17487 300 23 14774 600 16179 300 19511 5000 11533 4000 16039 600 23 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 23 73316 500 84161 500 85037 20000 34733 15000 73223 500 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index fa1e2828b3cc7..0d1238ed275f8 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -27,6 +27,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 5086 600 14193 150 16812 6300 11900 9000 5156 600 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 23 4875 600 14112 100 31268 10050 22053 1800 4849 600 + 23 17056 100 32200 500 29162 12000 35018 15000 17487 300 23 14774 600 16179 300 19511 5000 11533 4000 16039 600 23 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 23 73316 500 84161 500 85037 20000 34733 15000 73223 500 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index ce2f94d44c488..67cf71c21b882 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -27,6 +27,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 5021 190 10944 173 45000 11000 37464 7000 5021 290 22 22020 200 37300 700 71900 30000 58600 20000 22020 200 23 5904 50 11373 225 91649 15966 46000 20000 5892 50 + 23 26943 100 93866 1000 85000 25000 70883 20000 27213 100 23 9915 50 21851 400 50000 20000 35399 11000 9919 50 23 85700 200 196500 1500 375000 120000 138091 30000 85800 200 23 42606 100 112200 1500 220000 70000 78079 20000 42622 100 diff --git a/test/svg_ref/th1_palettecolor.svg b/test/svg_ref/th1_palettecolor.svg new file mode 100644 index 0000000000000..5596eb868cdc8 --- /dev/null +++ b/test/svg_ref/th1_palettecolor.svg @@ -0,0 +1,2314 @@ + + + +th1_palettecolor.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +1000 + +2000 + +3000 + +4000 + +5000 + +6000 + +7000 + +8000 + +9000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Histogram drawn with full circles + + + + + + +Histogram drawn with full squares + + + + + + +Histogram drawn with full triangles up + + + + + + +Histogram drawn with full triangles down + + + + + + +Histogram drawn with empty circles + + + + + + From 7706aac92e874e1cc1b2fc868aba2d6e42a5c999 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Wed, 29 Oct 2025 09:59:13 +0100 Subject: [PATCH 17/21] Adding THStack to stressGraphics Store in macro does not work and need to be fixed extra --- test/stressGraphics.cxx | 52 + test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + test/svg_ref/thstack1.svg | 4121 +++++++++++++++++++++++++++ 5 files changed, 4176 insertions(+) create mode 100644 test/svg_ref/thstack1.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index 62369e15ba3a0..b1cd34406913d 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -51,7 +51,9 @@ #include "TF12.h" #include "TF2.h" #include "TF3.h" +#include "TH1.h" #include "TH2.h" +#include "THStack.h" #include "TH2Poly.h" #include "TNtuple.h" #include "TKey.h" @@ -1927,6 +1929,55 @@ void th1_palettecolor() TestReport(C, "TH1 with automatic line/marker colors", "", 0, "th1_palettecolor"); } +//////////////////////////////////////////////////////////////////////////////// +/// Testing THStack with TH1 histograms + +void thstack1() +{ + auto C = StartTest(1000, 500); + C->Divide(2, 1); + + // create three 1-d histograms + auto h1st = new TH1F("h1st", "test hstack", 100, -4, 4); + h1st->SetFillColor(kRed); + h1st->SetMarkerStyle(21); + h1st->SetMarkerColor(kRed); + auto h2st = new TH1F("h2st", "test hstack", 100, -4, 4); + h2st->SetFillColor(kBlue); + h2st->SetMarkerStyle(21); + h2st->SetMarkerColor(kBlue); + auto h3st = new TH1F("h3st", "test hstack", 100, -4, 4); + h3st->SetFillColor(kGreen); + h3st->SetMarkerStyle(21); + h3st->SetMarkerColor(kGreen); + + TRandom3 rng; + Double_t px,py; + for (Int_t i = 0; i < 25000; i++) { + rng.Rannor(px,py); + h1st->Fill(px, 2.); + h2st->Fill(py, 1.5); + h3st->Fill((px+py)/2, 1.); + } + + C->cd(1); + auto hs1 = new THStack("hs1", "Stacked 1D histograms"); + hs1->Add(h1st); + hs1->Add(h2st); + hs1->Add(h3st); + hs1->Draw(); + + C->cd(2); + auto hs2 = new THStack("hs2", "Stacked with nostack option"); + hs2->Add(h1st); + hs2->Add(h2st); + hs2->Add(h3st); + gPad->SetGrid(); + hs2->Draw("nostack,e1p"); + + TestReport(C, "THStack for 1D histograms", kSkipCCode, 0, "thstack1"); +} + //////////////////////////////////////////////////////////////////////////////// /// Testing TH2 drawing with TCutG @@ -4266,6 +4317,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil padticks (); labels1 (); th1_palettecolor(); + thstack1 (); th2_cut (); th2_candle (); th2_violin (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 5cfdb919d18cf..eadc71d7a012b 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -28,6 +28,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 23 4866 600 14162 100 30889 10050 21311 1800 4845 600 23 17056 100 32429 100 29162 12000 35018 15000 17487 300 + 23 30815 100 28522 100 46061 15000 23026 10000 0 0 23 14774 600 16179 300 19511 5000 11533 4000 16039 600 23 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 23 73316 500 84161 500 85037 20000 34733 15000 73223 500 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index 0d1238ed275f8..df3754a440e51 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -28,6 +28,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 23 4875 600 14112 100 31268 10050 22053 1800 4849 600 23 17056 100 32200 500 29162 12000 35018 15000 17487 300 + 23 30815 100 28300 500 46061 15000 23026 10000 0 0 23 14774 600 16179 300 19511 5000 11533 4000 16039 600 23 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 23 73316 500 84161 500 85037 20000 34733 15000 73223 500 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index 67cf71c21b882..486ab42e587d3 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -28,6 +28,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 22 22020 200 37300 700 71900 30000 58600 20000 22020 200 23 5904 50 11373 225 91649 15966 46000 20000 5892 50 23 26943 100 93866 1000 85000 25000 70883 20000 27213 100 + 23 34623 100 89176 1000 130000 30000 76502 20000 0 0 23 9915 50 21851 400 50000 20000 35399 11000 9919 50 23 85700 200 196500 1500 375000 120000 138091 30000 85800 200 23 42606 100 112200 1500 220000 70000 78079 20000 42622 100 diff --git a/test/svg_ref/thstack1.svg b/test/svg_ref/thstack1.svg new file mode 100644 index 0000000000000..be1293279be6c --- /dev/null +++ b/test/svg_ref/thstack1.svg @@ -0,0 +1,4121 @@ + + + +thstack1.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +500 + +1000 + +1500 + +2000 + +2500 + +3000 + +3500 + +4000 + + + + +Stacked 1D histograms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Stacked 1D histograms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +200 + +400 + +600 + +800 + +1000 + +1200 + +1400 + +1600 + +1800 + + + + +Stacked with nostack option + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Stacked with nostack option + From 365e7fa49233c28e394af57280be69225efea854 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Wed, 29 Oct 2025 10:22:48 +0100 Subject: [PATCH 18/21] Add thstack lego test to stressGraphics THStack store in macro is not working --- test/stressGraphics.cxx | 41 +- test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + test/svg_ref/thstack2.svg | 3860 +++++++++++++++++++++++++++ 5 files changed, 3903 insertions(+), 1 deletion(-) create mode 100644 test/svg_ref/thstack2.svg diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index b1cd34406913d..ae1279b2a9ced 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -2904,6 +2904,44 @@ void earth() } +//////////////////////////////////////////////////////////////////////////////// +/// Testing THStack with TH2 histograms and lego options + +void thstack2() +{ + auto C = StartTest(800, 800); + + + gPad->SetFrameFillColor(17); + TF2 f1("hstack_f1", "xygaus + xygaus(5) + xylandau(10)",-4,4,-4,4); + Double_t params1[] = {130,-1.4,1.8,1.5,1, 150,2,0.5,-2,0.5, + 3600,-2,0.7,-3,0.3}; + f1.SetParameters(params1); + TF2 f2("hstack_f2","xygaus + xygaus(5)",-4,4,-4,4); + Double_t params2[] = {100,-1.4,1.9,1.1,2, 80,2,0.7,-2,0.5}; + f2.SetParameters(params2); + + auto h2sta = new TH2F("h2sta","h2sta",20,-4,4,20,-4,4); + h2sta->SetFillColor(38); + auto h2stb = new TH2F("h2stb","h2stb",20,-4,4,20,-4,4); + h2stb->SetFillColor(46); + + TRandom3 rng; + + h2sta->FillRandom(&f1, 4000, &rng); + h2stb->FillRandom(&f2, 3000, &rng); + + + auto a = new THStack("hstacklego", "Stacked 2D histograms"); + + a->Add(h2sta); + a->Add(h2stb); + a->Draw(); + + TestReport(C, "THStack lego plot", kSkipCCode, 0, "thstack2"); +} + + //////////////////////////////////////////////////////////////////////////////// /// 1st TGraph2D Test @@ -4358,8 +4396,9 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil } earth (); if (gSkip3D) { - gTestNum += 8; + gTestNum += 9; } else { + thstack2 (); tgraph2d1 (); tgraph2d2 (); tgraph2derr(); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index eadc71d7a012b..86e33021ba063 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -58,6 +58,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 44 401670 6500 156361 2000 62719 34100 45592 14000 410114 6500 45 566142 5000 225206 2000 65828 31800 53934 6500 573396 5000 46 3738751 35000 1292739 12000 60580 9900 133547 3500 3783013 35000 + 46 146947 1000 57881 500 54294 15000 35125 15000 0 0 47 1466028 9000 853193 50000 38425 13500 91242 18100 1463263 7500 48 38312 200 56877 750 36524 11800 119641 8000 38121 200 49 19556 1000 31967 1000 36859 10000 37602 8000 19900 3000 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index df3754a440e51..17d3d41545b24 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -58,6 +58,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 44 402315 6500 154811 500 59500 34100 47446 14000 410778 6500 45 566207 5000 223568 750 64725 31800 57072 6500 573456 5000 46 3738683 35000 1282525 8000 60908 9900 133160 3500 3782941 35000 + 46 146947 1000 57300 700 54294 15000 35125 15000 0 0 47 1456916 9000 886840 50000 37221 13500 91830 18100 1460966 7500 48 38248 200 56130 250 34988 11800 119591 8000 38089 200 49 19556 1000 31967 1000 36859 10000 37602 8000 19900 3000 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index 486ab42e587d3..f551d4887a91b 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -58,6 +58,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 44 919064 1210280 2934311 2365866 201088 127008 265539 256305 918992 1210388 45 80527 98072 691906 993484 175479 52154 176514 103939 80455 98224 46 864573 1296860 2315238 3311300 229609 89687 257242 299757 896376 1249154 + 46 105260 60000 1981768 700000 120562 45000 91597 35000 0 0 47 65224 47539 578977 784472 119858 75218 74000 11000 65234 47614 48 177243 181081 589798 763841 153361 113920 176486 26369 177099 181080 49 113277 50000 1099040 763841 85018 40000 79189 20000 113277 50000 diff --git a/test/svg_ref/thstack2.svg b/test/svg_ref/thstack2.svg new file mode 100644 index 0000000000000..a45c410768787 --- /dev/null +++ b/test/svg_ref/thstack2.svg @@ -0,0 +1,3860 @@ + + + +thstack2.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +10 + +20 + +30 + +40 + +50 + +60 + +70 + +80 + + + + +Stacked 2D histograms + + + + +Stacked 2D histograms + From 47f1dbd6d08e7cd5e4230bf9dc46dc3e0a793ffd Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Wed, 29 Oct 2025 10:55:24 +0100 Subject: [PATCH 19/21] Add custom stats and palette test to stressGraphics To be sure that such modifications reliably works --- test/CMakeLists.txt | 2 +- test/stressGraphics.cxx | 50 + test/stressGraphics.ref | 1 + test/stressGraphics_builtinzlib.ref | 1 + test/stressGraphics_web.ref | 1 + test/svg_ref/th2_stats_palette_edit.svg | 1115 +++++++++++++++++++++++ 6 files changed, 1169 insertions(+), 1 deletion(-) create mode 100644 test/svg_ref/th2_stats_palette_edit.svg diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 603c1474074c2..3a1a683967550 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -162,7 +162,7 @@ ROOT_ADD_TEST(test-stresslinear-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${ #--stressGraphics------------------------------------------------------------------------------------ if(ROOT_opengl_FOUND AND TARGET TreeViewer) - ROOT_EXECUTABLE(stressGraphics stressGraphics.cxx LIBRARIES Graf Gpad Postscript TreeViewer) + ROOT_EXECUTABLE(stressGraphics stressGraphics.cxx LIBRARIES Graf Gpad Postscript TreeViewer HistPainter) if(MSVC) set_property(TARGET stressGraphics APPEND_STRING PROPERTY LINK_FLAGS "/STACK:4000000") endif() diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index ae1279b2a9ced..ac677fe559b93 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -89,6 +89,7 @@ #include "TAnnotation.h" #include "TRatioPlot.h" #include "TGaxis.h" +#include "TPaletteAxis.h" #include "TSpline.h" #include "TPolyMarker.h" #include "TScatter.h" @@ -2082,6 +2083,54 @@ void th2_custom_axis_labels() } +//////////////////////////////////////////////////////////////////////////////// +/// Test editing of stats and palette attributes + +void th2_stats_palette_edit() +{ + auto C = StartTest(600, 600); + + gStyle->SetOptStat(); + + auto hist = new TH2F("th2_stats_palette", "Modify histogram stats and palette", 40, -4, 4, 40, -20, 20); + TRandom3 rnr; + + float px, py; + for (int i = 0; i < 25000; i++) { + rnr.Rannor(px,py); + hist->Fill(px,5*py); + } + + C->SetRightMargin(0.18); + auto palette = new TPaletteAxis(4.3, -18, 4.8, 10, hist); + hist->GetListOfFunctions()->Add(palette); + + C->Add(hist, "colz"); + + C->Update(); + + TPaveStats *ps = (TPaveStats*)C->GetPrimitive("stats"); + ps->SetName("mystats"); + TList *listOfLines = ps->GetListOfLines(); + + // Remove the RMS line + while (auto tconst = ps->GetLineWith("Dev")) + listOfLines->Remove(tconst); + + // Add a new line in the stat box. + // Note that "=" is a control character + TLatex *myt = new TLatex(0,0, "Test = 10"); + myt ->SetTextFont(42); + myt ->SetTextSize(0.04); + myt ->SetTextColor(kRed); + listOfLines->Add(myt); + + // the following line is needed to avoid that the automatic redrawing of stats + hist->SetStats(0); + + TestReport(C, "TH2 with modified palette and stats", "", 0, "th2_stats_palette_edit"); +} + //////////////////////////////////////////////////////////////////////////////// /// TEllipse test. @@ -4360,6 +4409,7 @@ void stressGraphics(Int_t verbose = 0, Bool_t generate = kFALSE, Bool_t keep_fil th2_candle (); th2_violin (); th2_custom_axis_labels(); + th2_stats_palette_edit(); tellipse (); feynman (); ratioplot (); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 86e33021ba063..3098c72350ac2 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -33,6 +33,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 23 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 23 73316 500 84161 500 85037 20000 34733 15000 73223 500 24 4878 600 14375 100 17419 5000 11709 1800 5770 600 + 24 27107 300 19227 300 30587 14000 16531 7000 27039 500 25 4131 40 15272 100 34038 2500 12258 1400 4162 40 26 7813 300 23840 150 11085 6000 6973 3100 8081 300 27 19418 150 21141 300 14104 14800 7386 2800 14493 150 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index 17d3d41545b24..fa3ba998f85fe 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -33,6 +33,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 23 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 23 73316 500 84161 500 85037 20000 34733 15000 73223 500 24 4878 600 14375 100 17419 5000 11709 1800 5770 600 + 24 27107 300 19227 300 30587 14000 16531 7000 27039 500 25 4130 40 15193 50 34790 2500 12156 1400 4161 40 26 7825 300 23672 100 11087 6000 7008 3100 8097 300 27 19420 150 21350 300 13257 14800 6444 2800 14424 150 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index f551d4887a91b..43bde55202d47 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -33,6 +33,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 23 85700 200 196500 1500 375000 120000 138091 30000 85800 200 23 42606 100 112200 1500 220000 70000 78079 20000 42622 100 24 5830 50 10700 400 42000 10000 35922 11000 5850 100 + 24 15010 50 34603 500 84000 25000 40859 15000 15010 50 25 2572 50 9271 50 109238 42213 49000 17000 2572 50 26 16403 50 25282 50 25505 3408 23000 8000 16403 50 27 23949 118 26549 349 27746 3988 17000 4000 19192 112 diff --git a/test/svg_ref/th2_stats_palette_edit.svg b/test/svg_ref/th2_stats_palette_edit.svg new file mode 100644 index 0000000000000..ef004b92ce4bd --- /dev/null +++ b/test/svg_ref/th2_stats_palette_edit.svg @@ -0,0 +1,1115 @@ + + + +th2_stats_palette_edit.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +− + +3 + +− + +2 + +− + +1 + +− + +0 + +1 + +2 + +3 + +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +20 + +− + +15 + +− + +10 + +− + +5 + +− + +0 + +5 + +10 + +15 + +20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + +20 + +40 + +60 + +80 + +100 + +120 + +140 + +160 + +180 + + + + +th2_stats_palette + + +Entries + + 25000 + +Mean x + +0.00243 + +− + + + +Mean y + +0.04709 + +− + + + +Test + + 10 + + + + +Modify histogram stats and palette + From 79f1fbea3f9b79ee5d26b62f02db81bcee3d8ef1 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Wed, 29 Oct 2025 11:08:17 +0100 Subject: [PATCH 20/21] Adjust test ids in stressGraphics ref files When many new test were add, test ids check was disabled --- test/stressGraphics.cxx | 5 +- test/stressGraphics.ref | 151 ++++++++++++++-------------- test/stressGraphics_builtinzlib.ref | 150 +++++++++++++-------------- test/stressGraphics_web.ref | 150 +++++++++++++-------------- test/svg_ref/Readme.md | 4 +- 5 files changed, 230 insertions(+), 230 deletions(-) diff --git a/test/stressGraphics.cxx b/test/stressGraphics.cxx index ac677fe559b93..2f10790463a50 100644 --- a/test/stressGraphics.cxx +++ b/test/stressGraphics.cxx @@ -210,8 +210,9 @@ int ReadRefFile(const char *fname, std::map &entries) return 0; } - // workaround until all changes in ref file done - TestNum = nline - 1; + // only for debug purposes - set test number based on line number + // can be useful when inserting many new lines in the ref files + // TestNum = nline - 1; if ((TestNum < 1) || (TestNum >= kMaxNumTests)) { printf("Wrong test number %d in line %d from reference file %s\n", TestNum, nline, fname); diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 3098c72350ac2..2866f2d91fc10 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -3,79 +3,78 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 2 4627 600 14506 100 13368 7900 9208 3000 4690 600 3 452 50 12694 50 11232 4200 3796 10700 492 50 4 1299 50 13037 100 22200 7000 9608 5000 580 50 - 4 23617 1500 19386 200 143320 123000 45665 11000 24908 1500 - 4 4011 50 14486 100 19178 9000 7605 4000 4077 50 - 4 74830 200 77006 200 32180 15000 29168 15000 74384 200 - 5 1025 150 12802 200 33468 9900 30846 5000 1072 200 - 6 430 50 12669 50 9558 100 5325 700 471 50 - 7 5130 50 14030 50 16143 1300 12230 500 5170 70 - 8 5442 80 13473 50 18430 700 12398 300 5469 80 - 9 9253 100 14377 150 19851 2400 12199 900 9283 100 - 10 8863 70 13645 100 24343 1100 23278 1700 8894 70 - 11 12971 100 14750 50 34063 2000 32033 1200 13070 150 - 12 7674 100 13533 50 83557 3000 38505 4000 7720 150 - 13 5600 400 13242 300 16881 400 15063 800 5638 400 - 14 14190539 4000000 12926 100 23076 9500 25987 3000 14190704 4000000 - 14 2455 50 14640 100 16514 7000 24701 12000 2554 100 - 15 15690 5000 17179 200 23076 9500 14232 1500 10437 5000 - 16 28072 400 23520 200 44462 11000 30062 5000 38007 400 - 17 20444 400 21520 150 27511 11000 16867 600 20721 400 - 18 15894 100 19305 200 27187 10300 15925 350 15925 100 - 19 22521 300 42926 250 43868 17000 19232 11000 22729 300 - 20 3664 600 14437 150 19824 6300 10396 900 4220 600 - 21 17608 600 13900 150 49440 6300 37586 9000 8938 600 - 22 5086 600 14193 150 16812 6300 11900 9000 5156 600 - 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 - 23 4866 600 14162 100 30889 10050 21311 1800 4845 600 - 23 17056 100 32429 100 29162 12000 35018 15000 17487 300 - 23 30815 100 28522 100 46061 15000 23026 10000 0 0 - 23 14774 600 16179 300 19511 5000 11533 4000 16039 600 - 23 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 - 23 73316 500 84161 500 85037 20000 34733 15000 73223 500 - 24 4878 600 14375 100 17419 5000 11709 1800 5770 600 - 24 27107 300 19227 300 30587 14000 16531 7000 27039 500 - 25 4131 40 15272 100 34038 2500 12258 1400 4162 40 - 26 7813 300 23840 150 11085 6000 6973 3100 8081 300 - 27 19418 150 21141 300 14104 14800 7386 2800 14493 150 - 28 4545 150 14541 100 27602 14800 13094 2800 4467 150 - 29 6141 200 15967 100 39594 21600 19331 7000 6596 500 - 30 9110 500 16584 200 21346 21600 10645 7000 8869 500 - 31 7419 500 15112 200 18872 21600 7928 7000 7296 500 - 31 97700 1000 29700 1000 94376 20000 39638 15000 34081 2000 - 31 3513 50 14168 100 23554 15000 9807 5000 3435 50 - 32 17016 5500 18198 250 32434 17400 22157 5000 20823 5500 - 33 30615 8200 27176 200 50520 18200 35724 5400 36690 8200 - 34 3304500 100 712308 3000 62688 19000 123056 7000 3396789 1000 - 35 3954 100 14654 300 17378 7800 9629 2000 3794 200 - 36 9073 100 22150 300 27691 7800 20712 2000 9157 200 - 37 17800 200 22560 400 28599 7800 42618 2000 17600 200 - 38 12926 200 24304 300 24021 6800 12637 2000 12584 200 - 39 29664 200 19354 300 23024 6500 12821 2000 31317 200 - 40 46000 400 23482 300 38792 8500 30458 4000 46000 400 - 40 78072 1000 102991 3000 112084 30000 82890 30000 0 0 - 41 89233 500 47975 300 65532 27800 37314 12000 90600 500 - 42 36514 300 17060 200 47408 12700 33739 3700 36399 300 - 43 207729 750 87126 750 76094 38000 54717 11000 210497 800 - 44 401670 6500 156361 2000 62719 34100 45592 14000 410114 6500 - 45 566142 5000 225206 2000 65828 31800 53934 6500 573396 5000 - 46 3738751 35000 1292739 12000 60580 9900 133547 3500 3783013 35000 - 46 146947 1000 57881 500 54294 15000 35125 15000 0 0 - 47 1466028 9000 853193 50000 38425 13500 91242 18100 1463263 7500 - 48 38312 200 56877 750 36524 11800 119641 8000 38121 200 - 49 19556 1000 31967 1000 36859 10000 37602 8000 19900 3000 - 50 20171 1000 31868 1000 34901 10000 37812 8000 20127 3000 - 51 693800 10000 154477 5000 38830 10000 25266 6000 721420 15000 - 52 270825 10000 115500 1000 45496 11000 34685 5000 272950 10000 - 52 1239 100 13728 100 17340 10000 11680 5000 1295 100 - 52 547845 3000 193367 3000 32383 12000 58073 20000 547493 3000 - 53 15025 3000 29289 500 42525 11300 33336 3900 14787 4000 - 54 254604 5000 383258 7000 55666 30400 46534 6500 259594 7000 - 55 4846 150 14075 150 33239 600 25303 500 4877 150 - 56 1435879 150000 12837 100 25830 100 365000 15000 1085792 250000 - 57 5884 500 16577 200 40706 14000 30026 4000 5884 500 - 58 5723 700 15720 200 32236 11000 16916 3200 5670 800 - 59 1666331 160000 529473 50000 29519 3000 71404 7000 1666331 160000 - 60 26983 1700 18807 2500 23765 2000 11196 1000 27409 1900 - 61 13592 1300 16669 1600 52678 5200 22353 2200 13291 1300 - 62 153915 10000 545717 50000 17106 1000 11410 1000 173729 10000 - + 5 23617 1500 19386 200 143320 123000 45665 11000 24908 1500 + 6 4011 50 14486 100 19178 9000 7605 4000 4077 50 + 7 74830 200 77006 200 32180 15000 29168 15000 74384 200 + 8 1025 150 12802 200 33468 9900 30846 5000 1072 200 + 9 430 50 12669 50 9558 100 5325 700 471 50 + 10 5130 50 14030 50 16143 1300 12230 500 5170 70 + 11 5442 80 13473 50 18430 700 12398 300 5469 80 + 12 9253 100 14377 150 19851 2400 12199 900 9283 100 + 13 8863 70 13645 100 24343 1100 23278 1700 8894 70 + 14 12971 100 14750 50 34063 2000 32033 1200 13070 150 + 15 7674 100 13533 50 83557 3000 38505 4000 7720 150 + 16 5600 400 13242 300 16881 400 15063 800 5638 400 + 17 14190539 4000000 12926 100 23076 9500 25987 3000 14190704 4000000 + 18 2455 50 14640 100 16514 7000 24701 12000 2554 100 + 19 15690 5000 17179 200 23076 9500 14232 1500 10437 5000 + 20 28072 400 23520 200 44462 11000 30062 5000 38007 400 + 21 20444 400 21520 150 27511 11000 16867 600 20721 400 + 22 15894 100 19305 200 27187 10300 15925 350 15925 100 + 23 22521 300 42926 250 43868 17000 19232 11000 22729 300 + 24 3664 600 14437 150 19824 6300 10396 900 4220 600 + 25 17608 600 13900 150 49440 6300 37586 9000 8938 600 + 26 5086 600 14193 150 16812 6300 11900 9000 5156 600 + 27 22400 600 19650 150 37913 15000 18122 8000 22300 600 + 28 4866 600 14162 100 30889 10050 21311 1800 4845 600 + 29 17056 100 32429 100 29162 12000 35018 15000 17487 300 + 30 30815 100 28522 100 46061 15000 23026 10000 0 0 + 31 14774 600 16179 300 19511 5000 11533 4000 16039 600 + 32 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 + 33 73316 500 84161 500 85037 20000 34733 15000 73223 500 + 34 4878 600 14375 100 17419 5000 11709 1800 5770 600 + 35 27107 300 19227 300 30587 14000 16531 7000 27039 500 + 36 4131 40 15272 100 34038 2500 12258 1400 4162 40 + 37 7813 300 23840 150 11085 6000 6973 3100 8081 300 + 38 19418 150 21141 300 14104 14800 7386 2800 14493 150 + 39 4545 150 14541 100 27602 14800 13094 2800 4467 150 + 40 6141 200 15967 100 39594 21600 19331 7000 6596 500 + 41 9110 500 16584 200 21346 21600 10645 7000 8869 500 + 42 7419 500 15112 200 18872 21600 7928 7000 7296 500 + 43 97700 1000 29700 1000 94376 20000 39638 15000 34081 2000 + 44 3513 50 14168 100 23554 15000 9807 5000 3435 50 + 45 17016 5500 18198 250 32434 17400 22157 5000 20823 5500 + 46 30615 8200 27176 200 50520 18200 35724 5400 36690 8200 + 47 3304500 100 712308 3000 62688 19000 123056 7000 3396789 1000 + 48 3954 100 14654 300 17378 7800 9629 2000 3794 200 + 49 9073 100 22150 300 27691 7800 20712 2000 9157 200 + 50 17800 200 22560 400 28599 7800 42618 2000 17600 200 + 51 12926 200 24304 300 24021 6800 12637 2000 12584 200 + 52 29664 200 19354 300 23024 6500 12821 2000 31317 200 + 53 46000 400 23482 300 38792 8500 30458 4000 46000 400 + 54 78072 1000 102991 3000 112084 30000 82890 30000 0 0 + 55 89233 500 47975 300 65532 27800 37314 12000 90600 500 + 56 36514 300 17060 200 47408 12700 33739 3700 36399 300 + 57 207729 750 87126 750 76094 38000 54717 11000 210497 800 + 58 401670 6500 156361 2000 62719 34100 45592 14000 410114 6500 + 59 566142 5000 225206 2000 65828 31800 53934 6500 573396 5000 + 60 3738751 35000 1292739 12000 60580 9900 133547 3500 3783013 35000 + 61 146947 1000 57881 500 54294 15000 35125 15000 0 0 + 62 1466028 9000 853193 50000 38425 13500 91242 18100 1463263 7500 + 63 38312 200 56877 750 36524 11800 119641 8000 38121 200 + 64 19556 1000 31967 1000 36859 10000 37602 8000 19900 3000 + 65 20171 1000 31868 1000 34901 10000 37812 8000 20127 3000 + 66 693800 10000 154477 5000 38830 10000 25266 6000 721420 15000 + 67 270825 10000 115500 1000 45496 11000 34685 5000 272950 10000 + 68 1239 100 13728 100 17340 10000 11680 5000 1295 100 + 69 547845 3000 193367 3000 32383 12000 58073 20000 547493 3000 + 70 15025 3000 29289 500 42525 11300 33336 3900 14787 4000 + 71 254604 5000 383258 7000 55666 30400 46534 6500 259594 7000 + 72 4846 150 14075 150 33239 600 25303 500 4877 150 + 73 1435879 150000 12837 100 25830 100 365000 15000 1085792 250000 + 74 5884 500 16577 200 40706 14000 30026 4000 5884 500 + 75 5723 700 15720 200 32236 11000 16916 3200 5670 800 + 76 1666331 160000 529473 50000 29519 3000 71404 7000 1666331 160000 + 77 26983 1700 18807 2500 23765 2000 11196 1000 27409 1900 + 78 13592 1300 16669 1600 52678 5200 22353 2200 13291 1300 + 79 153915 10000 545717 50000 17106 1000 11410 1000 173729 10000 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index fa3ba998f85fe..7cbdaa1b8e495 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -3,78 +3,78 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 2 4627 600 14463 100 13359 7900 9227 3000 4690 600 3 452 50 12694 50 11764 4200 4338 10700 492 50 4 1299 50 13037 100 22200 7000 9608 5000 580 50 - 4 23688 1500 19240 100 143676 123000 47075 11000 24979 1500 - 4 4011 50 14486 100 19178 9000 7605 4000 4077 50 - 4 74830 200 74500 1000 32180 15000 29168 15000 74384 200 - 5 1025 150 12806 150 32266 9900 29901 5000 1072 200 - 6 432 50 12683 50 9517 150 5306 700 473 50 - 7 5140 50 13990 50 16377 1300 12462 500 5170 70 - 8 5488 80 13447 50 18439 700 12408 300 5502 80 - 9 9154 100 14263 50 20441 2400 12143 900 9283 100 - 10 8831 70 13645 100 24251 1100 23337 1700 8862 70 - 11 12967 100 14710 50 33842 2000 32100 1200 12970 150 - 12 7666 100 13497 50 83044 3000 37165 4100 7713 150 - 13 5600 400 13242 300 16868 400 15083 800 5638 400 - 14 14193187 4000000 12924 100 27112 9500 25080 3000 14193352 4000000 - 14 2455 50 14640 100 16514 7000 24701 12000 2554 100 - 15 16185 5000 17071 200 22801 9500 14232 1000 11271 5000 - 16 28087 400 23310 200 44898 11000 30209 5000 38047 400 - 17 20424 400 21328 100 27719 11000 16806 600 20704 400 - 18 15874 100 19080 100 27682 10300 15800 550 15905 100 - 19 22678 300 42680 150 44177 17000 20788 11000 22866 300 - 20 3817 600 14345 150 19907 6300 10674 900 4523 600 - 21 17464 600 13900 150 49201 6300 37054 9000 8924 600 - 22 5086 600 14193 150 16812 6300 11900 9000 5156 600 - 22 22400 600 19650 150 37913 15000 18122 8000 22300 600 - 23 4875 600 14112 100 31268 10050 22053 1800 4849 600 - 23 17056 100 32200 500 29162 12000 35018 15000 17487 300 - 23 30815 100 28300 500 46061 15000 23026 10000 0 0 - 23 14774 600 16179 300 19511 5000 11533 4000 16039 600 - 23 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 - 23 73316 500 84161 500 85037 20000 34733 15000 73223 500 - 24 4878 600 14375 100 17419 5000 11709 1800 5770 600 - 24 27107 300 19227 300 30587 14000 16531 7000 27039 500 - 25 4130 40 15193 50 34790 2500 12156 1400 4161 40 - 26 7825 300 23672 100 11087 6000 7008 3100 8097 300 - 27 19420 150 21350 300 13257 14800 6444 2800 14424 150 - 28 4565 150 14448 100 27798 14800 13315 2800 4452 150 - 29 6299 200 15889 100 34556 21600 19438 7000 6596 500 - 30 9088 500 16789 400 21370 21600 10798 7000 8846 500 - 31 7437 500 15047 200 18767 21600 7971 7000 7314 500 - 31 97700 1000 29700 1000 94376 20000 39638 15000 34081 2000 - 31 3513 50 14168 100 23554 15000 9807 5000 3435 50 - 32 18751 5500 18070 100 32484 17400 22128 5000 18905 5500 - 33 25492 8200 27143 400 50520 18200 35537 5400 32937 8200 - 34 3304500 100 709947 500 62761 19000 122867 7000 3396789 1000 - 35 3954 100 14654 300 17378 7800 9629 2000 3794 200 - 36 9073 100 22150 300 27691 7800 20712 2000 9157 200 - 37 17800 200 22360 400 28599 7800 42618 2000 17600 200 - 38 12926 200 24304 300 24021 6800 12637 2000 12584 200 - 39 29664 200 19354 300 23024 6500 12821 2000 31317 200 - 40 46000 400 23482 300 38792 8500 30458 4000 46000 400 - 40 78072 1000 102991 3000 112084 30000 82890 30000 0 0 - 41 89233 500 47975 300 65532 27800 37314 12000 90600 500 - 42 36499 300 16882 200 50206 12700 35399 3700 36389 300 - 43 207704 750 86535 100 73220 38000 56792 11000 210469 800 - 44 402315 6500 154811 500 59500 34100 47446 14000 410778 6500 - 45 566207 5000 223568 750 64725 31800 57072 6500 573456 5000 - 46 3738683 35000 1282525 8000 60908 9900 133160 3500 3782941 35000 - 46 146947 1000 57300 700 54294 15000 35125 15000 0 0 - 47 1456916 9000 886840 50000 37221 13500 91830 18100 1460966 7500 - 48 38248 200 56130 250 34988 11800 119591 8000 38089 200 - 49 19556 1000 31967 1000 36859 10000 37602 8000 19900 3000 - 50 20171 1000 31868 1000 34901 10000 37812 8000 20127 3000 - 51 693800 10000 154477 5000 38830 10000 25266 6000 721420 15000 - 52 270825 10000 115500 1000 45496 11000 34685 5000 272950 10000 - 52 1239 100 13728 100 17340 10000 11680 5000 1295 100 - 52 547845 3000 193367 3000 32383 12000 58073 20000 547493 3000 - 53 16675 3000 29481 500 40536 11300 33519 3900 16452 4000 - 54 256544 5000 381654 7000 54446 30400 45002 6500 261593 7000 - 55 4846 150 14074 100 32913 600 25421 600 4877 150 - 56 1442666 150000 12840 100 25760 100 374206 15000 1102279 250000 - 57 6130 500 16468 200 49750 14000 29288 4000 6050 500 - 58 6200 700 15646 200 31219 11000 18280 3200 6113 800 - 59 1671306 160000 528098 50000 29893 3000 73438 7000 1671306 160000 - 60 26983 1700 18807 2500 23765 2000 11196 1000 27409 1900 - 61 13584 1300 16550 1600 48394 5200 21459 2200 14071 1300 - 62 153915 10000 544813 50000 17104 1000 11960 1000 173729 10000 + 5 23688 1500 19240 100 143676 123000 47075 11000 24979 1500 + 6 4011 50 14486 100 19178 9000 7605 4000 4077 50 + 7 74830 200 74500 1000 32180 15000 29168 15000 74384 200 + 8 1025 150 12806 150 32266 9900 29901 5000 1072 200 + 9 432 50 12683 50 9517 150 5306 700 473 50 + 10 5140 50 13990 50 16377 1300 12462 500 5170 70 + 11 5488 80 13447 50 18439 700 12408 300 5502 80 + 12 9154 100 14263 50 20441 2400 12143 900 9283 100 + 13 8831 70 13645 100 24251 1100 23337 1700 8862 70 + 14 12967 100 14710 50 33842 2000 32100 1200 12970 150 + 15 7666 100 13497 50 83044 3000 37165 4100 7713 150 + 16 5600 400 13242 300 16868 400 15083 800 5638 400 + 17 14193187 4000000 12924 100 27112 9500 25080 3000 14193352 4000000 + 18 2455 50 14640 100 16514 7000 24701 12000 2554 100 + 19 16185 5000 17071 200 22801 9500 14232 1000 11271 5000 + 20 28087 400 23310 200 44898 11000 30209 5000 38047 400 + 21 20424 400 21328 100 27719 11000 16806 600 20704 400 + 22 15874 100 19080 100 27682 10300 15800 550 15905 100 + 23 22678 300 42680 150 44177 17000 20788 11000 22866 300 + 24 3817 600 14345 150 19907 6300 10674 900 4523 600 + 25 17464 600 13900 150 49201 6300 37054 9000 8924 600 + 26 5086 600 14193 150 16812 6300 11900 9000 5156 600 + 27 22400 600 19650 150 37913 15000 18122 8000 22300 600 + 28 4875 600 14112 100 31268 10050 22053 1800 4849 600 + 29 17056 100 32200 500 29162 12000 35018 15000 17487 300 + 30 30815 100 28300 500 46061 15000 23026 10000 0 0 + 31 14774 600 16179 300 19511 5000 11533 4000 16039 600 + 32 113353 1000 71394 500 136880 40000 51345 20000 115314 1000 + 33 73316 500 84161 500 85037 20000 34733 15000 73223 500 + 34 4878 600 14375 100 17419 5000 11709 1800 5770 600 + 35 27107 300 19227 300 30587 14000 16531 7000 27039 500 + 36 4130 40 15193 50 34790 2500 12156 1400 4161 40 + 37 7825 300 23672 100 11087 6000 7008 3100 8097 300 + 38 19420 150 21350 300 13257 14800 6444 2800 14424 150 + 39 4565 150 14448 100 27798 14800 13315 2800 4452 150 + 40 6299 200 15889 100 34556 21600 19438 7000 6596 500 + 41 9088 500 16789 400 21370 21600 10798 7000 8846 500 + 42 7437 500 15047 200 18767 21600 7971 7000 7314 500 + 43 97700 1000 29700 1000 94376 20000 39638 15000 34081 2000 + 44 3513 50 14168 100 23554 15000 9807 5000 3435 50 + 45 18751 5500 18070 100 32484 17400 22128 5000 18905 5500 + 46 25492 8200 27143 400 50520 18200 35537 5400 32937 8200 + 47 3304500 100 709947 500 62761 19000 122867 7000 3396789 1000 + 48 3954 100 14654 300 17378 7800 9629 2000 3794 200 + 49 9073 100 22150 300 27691 7800 20712 2000 9157 200 + 50 17800 200 22360 400 28599 7800 42618 2000 17600 200 + 51 12926 200 24304 300 24021 6800 12637 2000 12584 200 + 52 29664 200 19354 300 23024 6500 12821 2000 31317 200 + 53 46000 400 23482 300 38792 8500 30458 4000 46000 400 + 54 78072 1000 102991 3000 112084 30000 82890 30000 0 0 + 55 89233 500 47975 300 65532 27800 37314 12000 90600 500 + 56 36499 300 16882 200 50206 12700 35399 3700 36389 300 + 57 207704 750 86535 100 73220 38000 56792 11000 210469 800 + 58 402315 6500 154811 500 59500 34100 47446 14000 410778 6500 + 59 566207 5000 223568 750 64725 31800 57072 6500 573456 5000 + 60 3738683 35000 1282525 8000 60908 9900 133160 3500 3782941 35000 + 61 146947 1000 57300 700 54294 15000 35125 15000 0 0 + 62 1456916 9000 886840 50000 37221 13500 91830 18100 1460966 7500 + 63 38248 200 56130 250 34988 11800 119591 8000 38089 200 + 64 19556 1000 31967 1000 36859 10000 37602 8000 19900 3000 + 65 20171 1000 31868 1000 34901 10000 37812 8000 20127 3000 + 66 693800 10000 154477 5000 38830 10000 25266 6000 721420 15000 + 67 270825 10000 115500 1000 45496 11000 34685 5000 272950 10000 + 68 1239 100 13728 100 17340 10000 11680 5000 1295 100 + 69 547845 3000 193367 3000 32383 12000 58073 20000 547493 3000 + 70 16675 3000 29481 500 40536 11300 33519 3900 16452 4000 + 71 256544 5000 381654 7000 54446 30400 45002 6500 261593 7000 + 72 4846 150 14074 100 32913 600 25421 600 4877 150 + 73 1442666 150000 12840 100 25760 100 374206 15000 1102279 250000 + 74 6130 500 16468 200 49750 14000 29288 4000 6050 500 + 75 6200 700 15646 200 31219 11000 18280 3200 6113 800 + 76 1671306 160000 528098 50000 29893 3000 73438 7000 1671306 160000 + 77 26983 1700 18807 2500 23765 2000 11196 1000 27409 1900 + 78 13584 1300 16550 1600 48394 5200 21459 2200 14071 1300 + 79 153915 10000 544813 50000 17104 1000 11960 1000 173729 10000 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index 43bde55202d47..37228eb0ae865 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -3,78 +3,78 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 2 13739 50 14950 161 33621 3693 17791 7000 13739 50 3 611 50 3802 50 27412 10485 24438 14774 611 50 4 1792 50 6059 50 55000 20000 40240 20000 1593 50 - 4 49021 306 93647 842 304049 30830 140000 65000 49931 306 - 4 1768 50 10343 50 65000 20000 40977 20000 1768 50 - 4 137000 1000 172149 300 100000 40000 98889 30000 136500 1000 - 5 2338 50 4816 50 104754 39759 62489 21274 2338 50 - 6 577 50 3642 50 16539 6033 13079 6000 577 50 - 7 6585 50 10186 50 37509 9184 34969 7388 6585 50 - 8 4760 50 9867 62 44760 8732 30329 7888 4760 50 - 9 9971 50 18489 50 44087 8064 32000 10000 9971 50 - 10 20678 50 15186 50 72078 10677 45000 30000 20678 50 - 11 30431 50 20725 50 98532 11922 68020 33853 30431 50 - 12 13535 50 12671 50 179782 31960 66694 28160 13535 50 - 13 4538 50 9061 70 45280 8144 36726 10768 4538 50 - 14 109566 50 387050 100 76838 7616 62298 28760 109921 50 - 14 1781 50 6264 100 41491 15000 75006 25000 1781 50 - 15 9893 50 18592 84 63022 16300 40204 15625 9555 100 - 16 34595 67 47449 2367 110520 19707 58703 18882 34600 100 - 17 18061 50 35587 173 67725 8774 36566 15109 18061 50 - 18 13608 50 28297 184 63580 9566 44000 14000 13608 50 - 19 17470 50 42002 523 115108 33410 66220 10768 17473 50 - 20 4442 50 9627 84 40009 8482 31730 8009 4445 50 - 21 12887 190 13271 173 190869 50682 72947 38985 12887 290 - 22 5021 190 10944 173 45000 11000 37464 7000 5021 290 - 22 22020 200 37300 700 71900 30000 58600 20000 22020 200 - 23 5904 50 11373 225 91649 15966 46000 20000 5892 50 - 23 26943 100 93866 1000 85000 25000 70883 20000 27213 100 - 23 34623 100 89176 1000 130000 30000 76502 20000 0 0 - 23 9915 50 21851 400 50000 20000 35399 11000 9919 50 - 23 85700 200 196500 1500 375000 120000 138091 30000 85800 200 - 23 42606 100 112200 1500 220000 70000 78079 20000 42622 100 - 24 5830 50 10700 400 42000 10000 35922 11000 5850 100 - 24 15010 50 34603 500 84000 25000 40859 15000 15010 50 - 25 2572 50 9271 50 109238 42213 49000 17000 2572 50 - 26 16403 50 25282 50 25505 3408 23000 8000 16403 50 - 27 23949 118 26549 349 27746 3988 17000 4000 19192 112 - 28 5357 50 12555 63 80794 16687 41000 12000 5349 50 - 29 13278 50 51209 75 134264 39598 61000 22000 13242 50 - 30 10629 50 18701 92 44744 8146 27754 6478 10629 50 - 31 8643 174 13191 551 37607 7570 23743 4170 8643 174 - 31 38700 500 57500 1000 225085 40000 110000 30000 38700 500 - 31 4812 50 9590 200 51664 20000 27741 8000 4812 50 - 32 12629 52 20641 219 89532 21704 58976 13483 12600 80 - 33 33040 69 50688 694 125388 21334 98573 19359 32994 148 - 34 1111600 100 3933582 50 248290 61958 298343 100544 1124318 700 - 35 3851 100 9012 300 40000 11000 37000 9000 3851 100 - 36 11750 100 41000 300 73043 25000 90000 37000 11725 100 - 37 26771 100 82724 3000 77792 25000 72945 24000 26771 100 - 38 22000 300 34502 3000 75004 27000 37944 14000 20700 300 - 39 15105 200 36976 3000 71124 25000 38507 14000 15102 300 - 40 41420 300 51681 4000 118602 45000 150000 70000 41408 300 - 40 32300 1000 62052 300 274100 100000 400000 180000 0 0 - 41 63724 50 111423 5578 172370 37970 70682 19917 63700 100 - 42 33521 50 58079 6456 157541 18693 90000 35000 33521 100 - 43 56141 650 81279 1063 205355 35929 205000 100000 55997 650 - 44 919064 1210280 2934311 2365866 201088 127008 265539 256305 918992 1210388 - 45 80527 98072 691906 993484 175479 52154 176514 103939 80455 98224 - 46 864573 1296860 2315238 3311300 229609 89687 257242 299757 896376 1249154 - 46 105260 60000 1981768 700000 120562 45000 91597 35000 0 0 - 47 65224 47539 578977 784472 119858 75218 74000 11000 65234 47614 - 48 177243 181081 589798 763841 153361 113920 176486 26369 177099 181080 - 49 113277 50000 1099040 763841 85018 40000 79189 20000 113277 50000 - 50 106676 50000 1099035 763841 80483 40000 74371 20000 106676 50000 - 51 51076 20000 1062206 500000 73964 35000 50008 15000 51072 20000 - 52 86268 20000 1099059 500000 100000 50000 68806 17000 86268 20000 - 52 18981 10000 573339 300000 40000 20000 30328 15000 18981 10000 - 52 114858 40000 731079 200000 128048 50000 156824 50000 115254 40000 - 53 870507 1283116 2270534 3361532 205025 121102 267033 254064 870420 1283246 - 54 140105 192619 500889 732447 172431 60202 98000 48000 139685 191988 - 55 840715 1243584 633571 931657 110820 36038 275132 284238 613357 902547 - 56 838905 1246299 1400000 1100000 119197 74995 322367 213385 610313 907112 - 57 6807 1847 4705199 7032596 137265 45169 143612 72842 6807 2000 - 58 9646 6136 23066 15966 72858 20881 50535 34970 9483 5884 - 59 607722 892537 4707041 7030026 127701 92798 110000 90000 607722 892537 - 60 13099 956 95430 92600 72536 20674 31789 9547 40013 39929 - 61 6349 9524 16720 6194 160712 42623 60000 20000 12754 577 - 62 868245 1202288 705989 823030 79709 55852 245270 329030 640838 861326 + 5 49021 306 93647 842 304049 30830 140000 65000 49931 306 + 6 1768 50 10343 50 65000 20000 40977 20000 1768 50 + 7 137000 1000 172149 300 100000 40000 98889 30000 136500 1000 + 8 2338 50 4816 50 104754 39759 62489 21274 2338 50 + 9 577 50 3642 50 16539 6033 13079 6000 577 50 + 10 6585 50 10186 50 37509 9184 34969 7388 6585 50 + 11 4760 50 9867 62 44760 8732 30329 7888 4760 50 + 12 9971 50 18489 50 44087 8064 32000 10000 9971 50 + 13 20678 50 15186 50 72078 10677 45000 30000 20678 50 + 14 30431 50 20725 50 98532 11922 68020 33853 30431 50 + 15 13535 50 12671 50 179782 31960 66694 28160 13535 50 + 16 4538 50 9061 70 45280 8144 36726 10768 4538 50 + 17 109566 50 387050 100 76838 7616 62298 28760 109921 50 + 18 1781 50 6264 100 41491 15000 75006 25000 1781 50 + 19 9893 50 18592 84 63022 16300 40204 15625 9555 100 + 20 34595 67 47449 2367 110520 19707 58703 18882 34600 100 + 21 18061 50 35587 173 67725 8774 36566 15109 18061 50 + 22 13608 50 28297 184 63580 9566 44000 14000 13608 50 + 23 17470 50 42002 523 115108 33410 66220 10768 17473 50 + 24 4442 50 9627 84 40009 8482 31730 8009 4445 50 + 25 12887 190 13271 173 190869 50682 72947 38985 12887 290 + 26 5021 190 10944 173 45000 11000 37464 7000 5021 290 + 27 22020 200 37300 700 71900 30000 58600 20000 22020 200 + 28 5904 50 11373 225 91649 15966 46000 20000 5892 50 + 29 26943 100 93866 1000 85000 25000 70883 20000 27213 100 + 30 34623 100 89176 1000 130000 30000 76502 20000 0 0 + 31 9915 50 21851 400 50000 20000 35399 11000 9919 50 + 32 85700 200 196500 1500 375000 120000 138091 30000 85800 200 + 33 42606 100 112200 1500 220000 70000 78079 20000 42622 100 + 34 5830 50 10700 400 42000 10000 35922 11000 5850 100 + 35 15010 50 34603 500 84000 25000 40859 15000 15010 50 + 36 2572 50 9271 50 109238 42213 49000 17000 2572 50 + 37 16403 50 25282 50 25505 3408 23000 8000 16403 50 + 38 23949 118 26549 349 27746 3988 17000 4000 19192 112 + 39 5357 50 12555 63 80794 16687 41000 12000 5349 50 + 40 13278 50 51209 75 134264 39598 61000 22000 13242 50 + 41 10629 50 18701 92 44744 8146 27754 6478 10629 50 + 42 8643 174 13191 551 37607 7570 23743 4170 8643 174 + 43 38700 500 57500 1000 225085 40000 110000 30000 38700 500 + 44 4812 50 9590 200 51664 20000 27741 8000 4812 50 + 45 12629 52 20641 219 89532 21704 58976 13483 12600 80 + 46 33040 69 50688 694 125388 21334 98573 19359 32994 148 + 47 1111600 100 3933582 50 248290 61958 298343 100544 1124318 700 + 48 3851 100 9012 300 40000 11000 37000 9000 3851 100 + 49 11750 100 41000 300 73043 25000 90000 37000 11725 100 + 50 26771 100 82724 3000 77792 25000 72945 24000 26771 100 + 51 22000 300 34502 3000 75004 27000 37944 14000 20700 300 + 52 15105 200 36976 3000 71124 25000 38507 14000 15102 300 + 53 41420 300 51681 4000 118602 45000 150000 70000 41408 300 + 54 32300 1000 62052 300 274100 100000 400000 180000 0 0 + 55 63724 50 111423 5578 172370 37970 70682 19917 63700 100 + 56 33521 50 58079 6456 157541 18693 90000 35000 33521 100 + 57 56141 650 81279 1063 205355 35929 205000 100000 55997 650 + 58 919064 1210280 2934311 2365866 201088 127008 265539 256305 918992 1210388 + 59 80527 98072 691906 993484 175479 52154 176514 103939 80455 98224 + 60 864573 1296860 2315238 3311300 229609 89687 257242 299757 896376 1249154 + 61 105260 60000 1981768 700000 120562 45000 91597 35000 0 0 + 62 65224 47539 578977 784472 119858 75218 74000 11000 65234 47614 + 63 177243 181081 589798 763841 153361 113920 176486 26369 177099 181080 + 64 113277 50000 1099040 763841 85018 40000 79189 20000 113277 50000 + 65 106676 50000 1099035 763841 80483 40000 74371 20000 106676 50000 + 66 51076 20000 1062206 500000 73964 35000 50008 15000 51072 20000 + 67 86268 20000 1099059 500000 100000 50000 68806 17000 86268 20000 + 68 18981 10000 573339 300000 40000 20000 30328 15000 18981 10000 + 69 114858 40000 731079 200000 128048 50000 156824 50000 115254 40000 + 70 870507 1283116 2270534 3361532 205025 121102 267033 254064 870420 1283246 + 71 140105 192619 500889 732447 172431 60202 98000 48000 139685 191988 + 72 840715 1243584 633571 931657 110820 36038 275132 284238 613357 902547 + 73 838905 1246299 1400000 1100000 119197 74995 322367 213385 610313 907112 + 74 6807 1847 4705199 7032596 137265 45169 143612 72842 6807 2000 + 75 9646 6136 23066 15966 72858 20881 50535 34970 9483 5884 + 76 607722 892537 4707041 7030026 127701 92798 110000 90000 607722 892537 + 77 13099 956 95430 92600 72536 20674 31789 9547 40013 39929 + 78 6349 9524 16720 6194 160712 42623 60000 20000 12754 577 + 79 868245 1202288 705989 823030 79709 55852 245270 329030 640838 861326 diff --git a/test/svg_ref/Readme.md b/test/svg_ref/Readme.md index 7dd436d0ea243..02bb23c547c7c 100644 --- a/test/svg_ref/Readme.md +++ b/test/svg_ref/Readme.md @@ -8,10 +8,10 @@ Used for `test-stressgraphics-svg` test, to run: If test failing while code is changed and reference files need to be updated, run stressGraphics with following arguments: - ./stressGraphics -k --web=off -p=svg --svg=/home/user/git/root/test/svg_ref/ + ./stressGraphics -k --web=off --svg=/home/user/git/root/test/svg_ref/ `-k` in the arguments list allow to overwrite reference files so one can directly create PR with updated files. But before updating reference file - please check changed images. -Maybe produce graphics is wrong and one better need to fix code which produce it. \ No newline at end of file +Maybe produce graphics is wrong and one better need to fix code which produces it. \ No newline at end of file From 9ab97b0b6bbba0f9d27992450dfd4348a69c769f Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Fri, 31 Oct 2025 09:45:02 +0100 Subject: [PATCH 21/21] Adjust stressGraphics ref files after recent fixes TGraphPainter with reverse axes does not create ghost paints Histograms/profiles objects stored with proper names Also TArrow saved with proper options now --- test/stressGraphics.ref | 4 +- test/stressGraphics_builtinzlib.ref | 4 +- test/stressGraphics_web.ref | 4 +- test/svg_ref/tgraphreverse.svg | 4335 ++------------------------- 4 files changed, 239 insertions(+), 4108 deletions(-) diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref index 2866f2d91fc10..bac287cd87bf7 100644 --- a/test/stressGraphics.ref +++ b/test/stressGraphics.ref @@ -2,7 +2,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 1 529 50 12767 50 23848 3700 3937 100 569 60 2 4627 600 14506 100 13368 7900 9208 3000 4690 600 3 452 50 12694 50 11232 4200 3796 10700 492 50 - 4 1299 50 13037 100 22200 7000 9608 5000 580 50 + 4 1299 50 13037 100 22200 7000 9608 5000 1360 50 5 23617 1500 19386 200 143320 123000 45665 11000 24908 1500 6 4011 50 14486 100 19178 9000 7605 4000 4077 50 7 74830 200 77006 200 32180 15000 29168 15000 74384 200 @@ -41,7 +41,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 40 6141 200 15967 100 39594 21600 19331 7000 6596 500 41 9110 500 16584 200 21346 21600 10645 7000 8869 500 42 7419 500 15112 200 18872 21600 7928 7000 7296 500 - 43 97700 1000 29700 1000 94376 20000 39638 15000 34081 2000 + 43 36270 1000 26525 1000 94376 20000 39638 15000 34081 2000 44 3513 50 14168 100 23554 15000 9807 5000 3435 50 45 17016 5500 18198 250 32434 17400 22157 5000 20823 5500 46 30615 8200 27176 200 50520 18200 35724 5400 36690 8200 diff --git a/test/stressGraphics_builtinzlib.ref b/test/stressGraphics_builtinzlib.ref index 7cbdaa1b8e495..57918dcfcb3c5 100644 --- a/test/stressGraphics_builtinzlib.ref +++ b/test/stressGraphics_builtinzlib.ref @@ -2,7 +2,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 1 529 50 12767 50 23758 3700 3937 100 569 60 2 4627 600 14463 100 13359 7900 9227 3000 4690 600 3 452 50 12694 50 11764 4200 4338 10700 492 50 - 4 1299 50 13037 100 22200 7000 9608 5000 580 50 + 4 1299 50 13037 100 22200 7000 9608 5000 1360 50 5 23688 1500 19240 100 143676 123000 47075 11000 24979 1500 6 4011 50 14486 100 19178 9000 7605 4000 4077 50 7 74830 200 74500 1000 32180 15000 29168 15000 74384 200 @@ -41,7 +41,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 40 6299 200 15889 100 34556 21600 19438 7000 6596 500 41 9088 500 16789 400 21370 21600 10798 7000 8846 500 42 7437 500 15047 200 18767 21600 7971 7000 7314 500 - 43 97700 1000 29700 1000 94376 20000 39638 15000 34081 2000 + 43 36270 1000 26525 1000 94376 20000 39638 15000 34081 2000 44 3513 50 14168 100 23554 15000 9807 5000 3435 50 45 18751 5500 18070 100 32484 17400 22128 5000 18905 5500 46 25492 8200 27143 400 50520 18200 35537 5400 32937 8200 diff --git a/test/stressGraphics_web.ref b/test/stressGraphics_web.ref index 37228eb0ae865..be91e17812e24 100644 --- a/test/stressGraphics_web.ref +++ b/test/stressGraphics_web.ref @@ -2,7 +2,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 1 1356 58 4268 50 75219 29324 15193 10000 1356 58 2 13739 50 14950 161 33621 3693 17791 7000 13739 50 3 611 50 3802 50 27412 10485 24438 14774 611 50 - 4 1792 50 6059 50 55000 20000 40240 20000 1593 50 + 4 1792 50 6059 50 55000 20000 40240 20000 1792 50 5 49021 306 93647 842 304049 30830 140000 65000 49931 306 6 1768 50 10343 50 65000 20000 40977 20000 1768 50 7 137000 1000 172149 300 100000 40000 98889 30000 136500 1000 @@ -27,7 +27,7 @@ Test# SVG1Ref# SVG1Err# PDFRef# PDFErr# JPGRef# JPGErr# PNGRef# PN 26 5021 190 10944 173 45000 11000 37464 7000 5021 290 27 22020 200 37300 700 71900 30000 58600 20000 22020 200 28 5904 50 11373 225 91649 15966 46000 20000 5892 50 - 29 26943 100 93866 1000 85000 25000 70883 20000 27213 100 + 29 26943 100 93866 1000 85000 25000 70883 20000 26943 100 30 34623 100 89176 1000 130000 30000 76502 20000 0 0 31 9915 50 21851 400 50000 20000 35399 11000 9919 50 32 85700 200 196500 1500 375000 120000 138091 30000 85800 200 diff --git a/test/svg_ref/tgraphreverse.svg b/test/svg_ref/tgraphreverse.svg index 1529eb1397e71..440519dfcf2d4 100644 --- a/test/svg_ref/tgraphreverse.svg +++ b/test/svg_ref/tgraphreverse.svg @@ -325,1729 +325,6 @@ tgraphreverse.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 - -5 - -6 - -7 - -8 - -9 - -10 - -11 - -12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - -2 - -3 - -4 - -5 - -6 - -7 - -8 - -9 - -10 - -11 - -12 - -13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 - -5 - -6 - -7 - -8 - -9 - -10 - -11 - -12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - -2 - -3 - -4 - -5 - -6 - -7 - -8 - -9 - -10 - -11 - -12 - -13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 - - - -5 - - - -6 - - - -7 - - - -8 - - - -9 - - - - -10 - - - - -1 - - -2 - - - - - - - - - - - - - - - - - - -10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 - -5 - -6 - -7 - -8 - -9 - -10 - -11 - -12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - -2 - -3 - -4 - -5 - -6 - -7 - -8 - -9 - -10 - -11 - -12 - -13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 - -5 - -6 - -7 - -8 - -9 - -10 - -11 - -12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - -2 - -3 - -4 - -5 - -6 - -7 - -8 - -9 - -10 - -11 - -12 - -13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 - - - -5 - - - -6 - - - -7 - - - -8 - - - -9 - - - - -10 - - - - -1 - - -2 - - - - - - - - - - - - - - - - - - -10 - - - - - - - - - - - - - - - - - - - - - - @@ -2064,323 +341,49 @@ tgraphreverse.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 - -5 - -6 - -7 - -8 - -9 - -10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + @@ -2474,219 +477,35 @@ tgraphreverse.svg 9 -10 - -11 - -12 - -13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 - - - -5 - - - -6 - - - -7 +10 - - -8 +11 - - -9 +12 - - - -10 +13 + + + + + + + + + + + + + + + + + + + + + @@ -2694,10 +513,6 @@ tgraphreverse.svg - - - - @@ -2737,62 +552,34 @@ tgraphreverse.svg - + +4 + - + +5 + - + +6 + - + +7 + - + +8 + - + +9 + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +10 + @@ -2848,10 +635,6 @@ tgraphreverse.svg - - - - @@ -3040,166 +823,19 @@ tgraphreverse.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -3207,10 +843,6 @@ tgraphreverse.svg - - - - @@ -3348,161 +980,6 @@ tgraphreverse.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3539,348 +1016,46 @@ tgraphreverse.svg - - - - - - - - - - - - - - - - - - - - - - -4 - -5 - -6 - -7 - -8 - -9 - -10 - -11 - -12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + @@ -3972,221 +1147,37 @@ tgraphreverse.svg 8 -9 - -10 - -11 - -12 - -13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 - - - -5 - - - -6 - - - -7 +9 - - -8 +10 - - -9 +11 - - - -10 +12 + +13 + + + + + + + + + + + + + + + + + + + + + @@ -4194,10 +1185,6 @@ tgraphreverse.svg - - - - @@ -4237,62 +1224,34 @@ tgraphreverse.svg - + +4 + - + +5 + - + +6 + - + +7 + - + +8 + - + +9 + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +10 + @@ -4348,10 +1307,6 @@ tgraphreverse.svg - - - - @@ -4542,164 +1497,17 @@ tgraphreverse.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -4707,10 +1515,6 @@ tgraphreverse.svg - - - - @@ -4848,161 +1652,6 @@ tgraphreverse.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5037,350 +1686,48 @@ tgraphreverse.svg - - - - - - - - - - - - - - - - - - - - - - - - -4 - -5 - -6 - -7 - -8 - -9 - -10 - -11 - -12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +4 + +5 + +6 + +7 + +8 + +9 + +10 + +11 + +12 + @@ -5510,59 +1857,6 @@ tgraphreverse.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5602,63 +1896,6 @@ tgraphreverse.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4 @@ -5687,112 +1924,6 @@ tgraphreverse.svg 10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -