[chronojump] done stripchart



commit 9c1154843a831d44cacf762ea9e4d4dc6139c98e
Author: Xavier de Blas <xaviblas gmail com>
Date:   Thu Sep 3 11:19:34 2009 +0200

    done stripchart
    small graph selection fixes(correct abline on XY, colors ok on XY, ...)
    improved stats gui
    removed old nplot Marker and color code

 TODO.txt                                   |    4 +-
 chronojump_server/bin/chronojumpServer.dll |  Bin 272384 -> 272896 bytes
 glade/chronojump.glade                     | 1099 +++++++++++++++-------------
 src/constants.cs                           |    7 +-
 src/gui/stats.cs                           |   36 +-
 src/stats/graphs/djIndex.cs                |   43 --
 src/stats/graphs/djQ.cs                    |   45 --
 src/stats/graphs/fv.cs                     |   40 -
 src/stats/graphs/global.cs                 |   36 -
 src/stats/graphs/graphData.cs              |    3 -
 src/stats/graphs/graphSerie.cs             |   10 +-
 src/stats/graphs/ieIub.cs                  |   37 -
 src/stats/graphs/potency.cs                |   40 -
 src/stats/graphs/rjAVGSD.cs                |   19 -
 src/stats/graphs/rjEvolution.cs            |   30 -
 src/stats/graphs/rjIndex.cs                |   41 -
 src/stats/graphs/rjPotencyBosco.cs         |   47 --
 src/stats/graphs/sjCmjAbk.cs               |   34 -
 src/stats/graphs/sjCmjAbkPlus.cs           |   42 --
 src/stats/main.cs                          |   59 ++-
 20 files changed, 664 insertions(+), 1008 deletions(-)
---
diff --git a/TODO.txt b/TODO.txt
index 7368469..6f1d17b 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -1,8 +1,6 @@
 TODO: 
 
-do multisession graphs
-do multisession
-do stripchart
+do multisession graphs (need to not pass avg or sd columns to graph)
 continue with titles and subtitles for all graphs
 fix global, jumper, rjEvolution
 
diff --git a/chronojump_server/bin/chronojumpServer.dll b/chronojump_server/bin/chronojumpServer.dll
index a6d2e16..ef87c6d 100755
Binary files a/chronojump_server/bin/chronojumpServer.dll and b/chronojump_server/bin/chronojumpServer.dll differ
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index 14fb66c..b3aa0a5 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -5840,495 +5840,434 @@ options</property>
       </child>
 
       <child>
-	<widget class="GtkTable" id="table75">
+	<widget class="GtkHBox" id="hbox376">
 	  <property name="visible">True</property>
-	  <property name="n_rows">2</property>
-	  <property name="n_columns">2</property>
 	  <property name="homogeneous">False</property>
-	  <property name="row_spacing">4</property>
-	  <property name="column_spacing">10</property>
+	  <property name="spacing">12</property>
 
 	  <child>
-	    <widget class="GtkHBox" id="hbox375">
+	    <widget class="GtkFrame" id="frame51">
 	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">4</property>
+	      <property name="label_xalign">0</property>
+	      <property name="label_yalign">0.5</property>
+	      <property name="shadow_type">GTK_SHADOW_NONE</property>
 
 	      <child>
-		<widget class="GtkTable" id="table74">
+		<widget class="GtkAlignment" id="alignment145">
 		  <property name="visible">True</property>
-		  <property name="n_rows">2</property>
-		  <property name="n_columns">8</property>
-		  <property name="homogeneous">False</property>
-		  <property name="row_spacing">4</property>
-		  <property name="column_spacing">4</property>
-
-		  <child>
-		    <widget class="GtkCheckButton" id="checkbutton_transposed">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Transpose</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">T</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">7</property>
-		      <property name="right_attach">8</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox_combo_graph_type">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">1</property>
+		  <property name="yscale">1</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">12</property>
+		  <property name="right_padding">0</property>
 
 		  <child>
-		    <widget class="GtkHBox" id="hbox_combo_graph_palette">
+		    <widget class="GtkVBox" id="vbox196">
 		      <property name="visible">True</property>
 		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
+		      <property name="spacing">7</property>
 
 		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">3</property>
-		      <property name="right_attach">4</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
+			<widget class="GtkHBox" id="hbox375">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">4</property>
 
-		  <child>
-		    <widget class="GtkLabel" id="label764">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Type</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+			  <child>
+			    <widget class="GtkTable" id="table74">
+			      <property name="visible">True</property>
+			      <property name="n_rows">2</property>
+			      <property name="n_columns">8</property>
+			      <property name="homogeneous">False</property>
+			      <property name="row_spacing">4</property>
+			      <property name="column_spacing">4</property>
 
-		  <child>
-		    <widget class="GtkLabel" id="label765">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Palette</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">3</property>
-		      <property name="right_attach">4</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+			      <child>
+				<widget class="GtkCheckButton" id="checkbutton_transposed">
+				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">Transpose</property>
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">T</property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <property name="active">False</property>
+				  <property name="inconsistent">False</property>
+				  <property name="draw_indicator">True</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">7</property>
+				  <property name="right_attach">8</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
 
-		  <child>
-		    <widget class="GtkHBox" id="hbox_combo_graph_width">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
+			      <child>
+				<widget class="GtkHBox" id="hbox_combo_graph_type">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">0</property>
 
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">4</property>
-		      <property name="right_attach">5</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
+				  <child>
+				    <placeholder/>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="y_options">fill</property>
+				</packing>
+			      </child>
 
-		  <child>
-		    <widget class="GtkLabel" id="label766">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Width</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">4</property>
-		      <property name="right_attach">5</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+			      <child>
+				<widget class="GtkHBox" id="hbox_combo_graph_palette">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">0</property>
 
-		  <child>
-		    <widget class="GtkLabel" id="label_graph_var_x">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">var X</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+				  <child>
+				    <placeholder/>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="left_attach">3</property>
+				  <property name="right_attach">4</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="y_options">fill</property>
+				</packing>
+			      </child>
 
-		  <child>
-		    <widget class="GtkLabel" id="label_graph_var_y">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">var Y</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">2</property>
-		      <property name="right_attach">3</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+			      <child>
+				<widget class="GtkLabel" id="label764">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Type</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
 
-		  <child>
-		    <widget class="GtkHBox" id="hbox_combo_graph_var_x">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
+			      <child>
+				<widget class="GtkLabel" id="label765">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Palette</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">3</property>
+				  <property name="right_attach">4</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
 
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
+			      <child>
+				<widget class="GtkHBox" id="hbox_combo_graph_width">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">0</property>
 
-		  <child>
-		    <widget class="GtkHBox" id="hbox_combo_graph_var_y">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
+				  <child>
+				    <placeholder/>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="left_attach">4</property>
+				  <property name="right_attach">5</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="y_options">fill</property>
+				</packing>
+			      </child>
 
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">2</property>
-		      <property name="right_attach">3</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
+			      <child>
+				<widget class="GtkLabel" id="label766">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Width</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">4</property>
+				  <property name="right_attach">5</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
 
-		  <child>
-		    <widget class="GtkLabel" id="label_graph_options">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Options</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">7</property>
-		      <property name="right_attach">8</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+			      <child>
+				<widget class="GtkLabel" id="label_graph_var_x">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">var X</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">1</property>
+				  <property name="right_attach">2</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
 
-		  <child>
-		    <widget class="GtkLabel" id="label770">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Legend</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">6</property>
-		      <property name="right_attach">7</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+			      <child>
+				<widget class="GtkLabel" id="label_graph_var_y">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">var Y</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">2</property>
+				  <property name="right_attach">3</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
 
-		  <child>
-		    <widget class="GtkHBox" id="hbox_combo_graph_legend">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
+			      <child>
+				<widget class="GtkHBox" id="hbox_combo_graph_var_x">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">0</property>
 
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">6</property>
-		      <property name="right_attach">7</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
+				  <child>
+				    <placeholder/>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="left_attach">1</property>
+				  <property name="right_attach">2</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options">fill</property>
+				</packing>
+			      </child>
 
-		  <child>
-		    <widget class="GtkLabel" id="label771">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Height</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">5</property>
-		      <property name="right_attach">6</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+			      <child>
+				<widget class="GtkHBox" id="hbox_combo_graph_var_y">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">0</property>
 
-		  <child>
-		    <widget class="GtkHBox" id="hbox_combo_graph_height">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
+				  <child>
+				    <placeholder/>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="left_attach">2</property>
+				  <property name="right_attach">3</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options">fill</property>
+				</packing>
+			      </child>
 
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">5</property>
-		      <property name="right_attach">6</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
+			      <child>
+				<widget class="GtkLabel" id="label_graph_options">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Options</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">7</property>
+				  <property name="right_attach">8</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
 
-	  <child>
-	    <widget class="GtkHButtonBox" id="hbuttonbox48">
-	      <property name="visible">True</property>
-	      <property name="layout_style">GTK_BUTTONBOX_END</property>
-	      <property name="spacing">0</property>
+			      <child>
+				<widget class="GtkLabel" id="label_graph_legend">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Legend</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">6</property>
+				  <property name="right_attach">7</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
 
-	      <child>
-		<widget class="GtkButton" id="button_graph">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">Graph this statistic</property>
-		  <property name="can_focus">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <signal name="clicked" handler="on_button_graph_clicked" last_modification_time="Sat, 19 Feb 2005 17:36:34 GMT"/>
+			      <child>
+				<widget class="GtkHBox" id="hbox_combo_graph_legend">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">0</property>
 
-		  <child>
-		    <widget class="GtkAlignment" id="alignment24">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">0</property>
-		      <property name="yscale">0</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
+				  <child>
+				    <placeholder/>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="left_attach">6</property>
+				  <property name="right_attach">7</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options">fill</property>
+				</packing>
+			      </child>
 
-		      <child>
-			<widget class="GtkHBox" id="hbox57">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">2</property>
+			      <child>
+				<widget class="GtkLabel" id="label771">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Height</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">5</property>
+				  <property name="right_attach">6</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
 
-			  <child>
-			    <widget class="GtkImage" id="image_stats_win_graph">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
+			      <child>
+				<widget class="GtkHBox" id="hbox_combo_graph_height">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">0</property>
 
-			  <child>
-			    <widget class="GtkLabel" id="label79">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Graph</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
+				  <child>
+				    <placeholder/>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="left_attach">5</property>
+				  <property name="right_attach">6</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options">fill</property>
+				</packing>
+			      </child>
 			    </widget>
 			    <packing>
 			      <property name="padding">0</property>
@@ -6337,98 +6276,210 @@ options</property>
 			    </packing>
 			  </child>
 			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
 		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="button_add_to_report">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">Add this statistic and its graph to report window</property>
-		  <property name="can_focus">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <signal name="clicked" handler="on_button_add_to_report_clicked" last_modification_time="Tue, 06 Sep 2005 09:06:54 GMT"/>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment44">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">0</property>
-		      <property name="yscale">0</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
 
 		      <child>
-			<widget class="GtkHBox" id="hbox108">
+			<widget class="GtkHButtonBox" id="hbuttonbox48">
 			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">2</property>
+			  <property name="layout_style">GTK_BUTTONBOX_START</property>
+			  <property name="spacing">10</property>
 
 			  <child>
-			    <widget class="GtkImage" id="image_stats_win_report">
+			    <widget class="GtkButton" id="button_graph">
 			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
+			      <property name="tooltip" translatable="yes">Graph this statistic</property>
+			      <property name="can_focus">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <signal name="clicked" handler="on_button_graph_clicked" last_modification_time="Sat, 19 Feb 2005 17:36:34 GMT"/>
+
+			      <child>
+				<widget class="GtkAlignment" id="alignment24">
+				  <property name="visible">True</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xscale">0</property>
+				  <property name="yscale">0</property>
+				  <property name="top_padding">0</property>
+				  <property name="bottom_padding">0</property>
+				  <property name="left_padding">0</property>
+				  <property name="right_padding">0</property>
+
+				  <child>
+				    <widget class="GtkHBox" id="hbox57">
+				      <property name="visible">True</property>
+				      <property name="homogeneous">False</property>
+				      <property name="spacing">2</property>
+
+				      <child>
+					<widget class="GtkImage" id="image_stats_win_graph">
+					  <property name="visible">True</property>
+					  <property name="xalign">0.5</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label79">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">Graph</property>
+					  <property name="use_underline">True</property>
+					  <property name="use_markup">False</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0.5</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+					  <property name="width_chars">-1</property>
+					  <property name="single_line_mode">False</property>
+					  <property name="angle">0</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+				    </widget>
+				  </child>
+				</widget>
+			      </child>
 			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkLabel" id="label169">
+			    <widget class="GtkButton" id="button_add_to_report">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Add to report</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
+			      <property name="tooltip" translatable="yes">Add this statistic and its graph to report window</property>
+			      <property name="can_focus">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <signal name="clicked" handler="on_button_add_to_report_clicked" last_modification_time="Tue, 06 Sep 2005 09:06:54 GMT"/>
+
+			      <child>
+				<widget class="GtkAlignment" id="alignment44">
+				  <property name="visible">True</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xscale">0</property>
+				  <property name="yscale">0</property>
+				  <property name="top_padding">0</property>
+				  <property name="bottom_padding">0</property>
+				  <property name="left_padding">0</property>
+				  <property name="right_padding">0</property>
+
+				  <child>
+				    <widget class="GtkHBox" id="hbox108">
+				      <property name="visible">True</property>
+				      <property name="homogeneous">False</property>
+				      <property name="spacing">2</property>
+
+				      <child>
+					<widget class="GtkImage" id="image_stats_win_report">
+					  <property name="visible">True</property>
+					  <property name="xalign">0.5</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label169">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">Add to report</property>
+					  <property name="use_underline">True</property>
+					  <property name="use_markup">False</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0.5</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+					  <property name="width_chars">-1</property>
+					  <property name="single_line_mode">False</property>
+					  <property name="angle">0</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+				    </widget>
+				  </child>
+				</widget>
+			      </child>
 			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
 			  </child>
 			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">True</property>
+			</packing>
 		      </child>
 		    </widget>
 		  </child>
 		</widget>
 	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label772">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">&lt;b&gt;Graph&lt;/b&gt;</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="type">label_item</property>
+		</packing>
+	      </child>
 	    </widget>
 	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="y_options"></property>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
 	    </packing>
 	  </child>
 
 	  <child>
-	    <widget class="GtkHButtonBox" id="hbuttonbox49">
+	    <widget class="GtkVBox" id="vbox197">
 	      <property name="visible">True</property>
-	      <property name="layout_style">GTK_BUTTONBOX_END</property>
+	      <property name="homogeneous">False</property>
 	      <property name="spacing">0</property>
 
 	      <child>
@@ -6442,15 +6493,19 @@ options</property>
 		  <property name="focus_on_click">True</property>
 		  <signal name="clicked" handler="on_button_close_clicked" last_modification_time="Tue, 01 Sep 2009 16:10:56 GMT"/>
 		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		  <property name="pack_type">GTK_PACK_END</property>
+		</packing>
 	      </child>
 	    </widget>
 	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options">fill</property>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	      <property name="pack_type">GTK_PACK_END</property>
 	    </packing>
 	  </child>
 	</widget>
diff --git a/src/constants.cs b/src/constants.cs
index 2c75103..a18676f 100644
--- a/src/constants.cs
+++ b/src/constants.cs
@@ -241,8 +241,11 @@ public class Constants
 	public static string GraphTypeLines = "Lines";
 	public static string GraphTypeXY = "XY";
 	public static string GraphTypeDotchart = "Dotchart";
-	public static string [] GraphTypes = { GraphTypeBoxplot, GraphTypeBarplot, GraphTypeLines, GraphTypeXY, GraphTypeDotchart };
-	public static string [] GraphPalettes = { "rainbow", "heat.colors", "gray.colors", "topo.colors" };
+	public static string GraphTypeStripchart = "Stripchart";
+	public static string [] GraphTypes = { GraphTypeBoxplot, GraphTypeBarplot, GraphTypeLines, 
+		GraphTypeXY, GraphTypeDotchart, GraphTypeStripchart };
+	public static string GraphPaletteGray = "gray.colors";
+	public static string [] GraphPalettes = { GraphPaletteGray, "rainbow", "topo.colors", "heat.colors" };
 
 
 	public static string FileNameZoomFitIcon = "gtk-zoom-fit.png";
diff --git a/src/gui/stats.cs b/src/gui/stats.cs
index 7e96ff5..c7e6652 100644
--- a/src/gui/stats.cs
+++ b/src/gui/stats.cs
@@ -89,6 +89,7 @@ public class StatsWindow {
 	[Widget] Gtk.Box hbox_combo_graph_height;
 	[Widget] Gtk.ComboBox combo_graph_width;
 	[Widget] Gtk.ComboBox combo_graph_height;
+	[Widget] Gtk.Label label_graph_legend;
 	[Widget] Gtk.Box hbox_combo_graph_legend;
 	[Widget] Gtk.ComboBox combo_graph_legend;
 
@@ -245,8 +246,8 @@ public class StatsWindow {
 		spinbutton_mark_consecutives.Sensitive = false;
 		hbox_mark_consecutives.Hide();
 		
-		//first graph type is boxplot, and it doesn't show transpose
-		showTransposed(false);
+		//first graph type is boxplot, and it doesn't show transpose also colors are grey...
+		on_combo_graph_type_changed(new object(), new EventArgs());
 	}
 	
 
@@ -423,19 +424,38 @@ public class StatsWindow {
 		label_graph_var_y.Visible = show;
 		hbox_combo_graph_var_x.Visible = show;
 		hbox_combo_graph_var_y.Visible = show;
-		showTransposed(!show);
 	}
 
 	private void on_combo_graph_type_changed(object o, EventArgs args) {
+		if(UtilGtk.ComboGetActive(combo_graph_type) == Constants.GraphTypeXY)
+			showGraphXYStuff(true);
+		else 
+			showGraphXYStuff(false);
+
 		if(
 				UtilGtk.ComboGetActive(combo_graph_type) == Constants.GraphTypeDotchart ||
-				UtilGtk.ComboGetActive(combo_graph_type) == Constants.GraphTypeBoxplot)
+				UtilGtk.ComboGetActive(combo_graph_type) == Constants.GraphTypeBoxplot ||
+				UtilGtk.ComboGetActive(combo_graph_type) == Constants.GraphTypeStripchart ||
+				UtilGtk.ComboGetActive(combo_graph_type) == Constants.GraphTypeXY)
 			showTransposed(false);
-		else if(UtilGtk.ComboGetActive(combo_graph_type) == Constants.GraphTypeXY)
-			showGraphXYStuff(true);
 		else
-			showGraphXYStuff(false);
-		
+			showTransposed(true);
+
+		//boxplot and stripchart are black&white and have no legend
+		if(
+				UtilGtk.ComboGetActive(combo_graph_type) == Constants.GraphTypeBoxplot ||
+				UtilGtk.ComboGetActive(combo_graph_type) == Constants.GraphTypeStripchart ||
+				UtilGtk.ComboGetActive(combo_graph_type) == Constants.GraphTypeDotchart) {
+			combo_graph_palette.Active = UtilGtk.ComboMakeActive(Constants.GraphPalettes, Constants.GraphPaletteGray);
+			combo_graph_palette.Sensitive = false;
+			label_graph_legend.Visible = false;
+			combo_graph_legend.Visible = false;
+		}
+		else {
+			combo_graph_palette.Sensitive = true;
+			label_graph_legend.Visible = true;
+			combo_graph_legend.Visible = true;
+		}
 	}
 
 	private void on_combo_select_checkboxes_changed(object o, EventArgs args) {
diff --git a/src/stats/graphs/djIndex.cs b/src/stats/graphs/djIndex.cs
index aac81da..b2361da 100644
--- a/src/stats/graphs/djIndex.cs
+++ b/src/stats/graphs/djIndex.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -32,8 +29,6 @@ using Mono.Unix;
 public class GraphDjIndex : StatDjIndex
 {
 	protected string operation;
-	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
 
 	//for simplesession
 	GraphSerie serieIndex;
@@ -83,26 +78,6 @@ public class GraphDjIndex : StatDjIndex
 			serieTv.IsLeftAxis = true;
 			serieFall.IsLeftAxis = false;
 
-			/*
-			serieIndex.SerieMarker = new Marker (Marker.MarkerType.Square, 
-					6, new Pen (Color.FromName("Red"), 2.0F));
-			serieHeight.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Gray"), 2.0F));
-			serieTc.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Green"), 2.0F));
-			serieTv.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Blue"), 2.0F));
-			serieFall.SerieMarker = new Marker (Marker.MarkerType.Cross2, 
-					6, new Pen (Color.FromName("Chocolate"), 2.0F));
-					*/
-		
-			//for the line between markers
-			serieIndex.SerieColor = Color.FromName("Red");
-			serieHeight.SerieColor = Color.FromName("Gray");
-			serieTc.SerieColor = Color.FromName("Green");
-			serieTv.SerieColor = Color.FromName("Blue");
-			serieFall.SerieColor = Color.FromName("Chocolate");
-		
 			CurrentGraphData.LabelLeft = 
 				Catalog.GetString("TC") + "(s), " +
 				Catalog.GetString("TF") + "(s)";
@@ -183,24 +158,6 @@ public class GraphDjIndex : StatDjIndex
 			GraphSerie mySerie = new GraphSerie();
 			mySerie.IsLeftAxis = true;
 		
-			//color code
-			Color myColor = new Color();
-			if(countSeriesGraphColors > Constants.Colors.Length) {
-				int myR = myRand.Next(255 - 40); //not 255 for not being so light colors
-				int myG = myRand.Next(255 - 40);
-				int myB = myRand.Next(255 - 40);
-				myColor = Color.FromArgb(myR, myG, myB);
-			} else {
-				myColor = Color.FromName(Constants.Colors[countSeriesGraphColors]);
-				countSeriesGraphColors ++;
-			}
-		
-//			mySerie.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-//					6, new Pen (myColor, 2.0F));
-			
-			mySerie.SerieColor = myColor;
-		
-			
 			int i=0;
 			foreach (string myValue in statValues) {
 				if( myValue == Catalog.GetString("SD") ) 
diff --git a/src/stats/graphs/djQ.cs b/src/stats/graphs/djQ.cs
index 507c6f7..0f08bda 100644
--- a/src/stats/graphs/djQ.cs
+++ b/src/stats/graphs/djQ.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -32,8 +29,6 @@ using Mono.Unix;
 public class GraphDjQ : StatDjQ
 {
 	protected string operation;
-	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
 
 	//for simplesession
 	GraphSerie serieIndex;
@@ -83,28 +78,6 @@ public class GraphDjQ : StatDjQ
 			serieTv.IsLeftAxis = true;
 			serieFall.IsLeftAxis = false;
 
-			/*
-			serieIndex.SerieMarker = new Marker (Marker.MarkerType.Square, 
-					6, new Pen (Color.FromName("Red"), 2.0F));
-			serieHeight.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Gray"), 2.0F));
-			//serieTc.SerieMarker = new Marker (Marker.MarkerType.TriangleDown, 
-			serieTc.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Green"), 2.0F));
-			//serieTv.SerieMarker = new Marker (Marker.MarkerType.TriangleUp, 
-			serieTv.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Blue"), 2.0F));
-			serieFall.SerieMarker = new Marker (Marker.MarkerType.Cross2, 
-					6, new Pen (Color.FromName("Chocolate"), 2.0F));
-					*/
-		
-			//for the line between markers
-			serieIndex.SerieColor = Color.FromName("Red");
-			serieHeight.SerieColor = Color.FromName("Gray");
-			serieTc.SerieColor = Color.FromName("Green");
-			serieTv.SerieColor = Color.FromName("Blue");
-			serieFall.SerieColor = Color.FromName("Chocolate");
-		
 			CurrentGraphData.LabelLeft = 
 				Catalog.GetString("TC") + "(s), " +
 				Catalog.GetString("TF") + "(s)";
@@ -186,24 +159,6 @@ public class GraphDjQ : StatDjQ
 			GraphSerie mySerie = new GraphSerie();
 			mySerie.IsLeftAxis = true;
 		
-			//color code
-			Color myColor = new Color();
-			if(countSeriesGraphColors > Constants.Colors.Length) {
-				int myR = myRand.Next(255 - 40); //not 255 for not being so light colors
-				int myG = myRand.Next(255 - 40);
-				int myB = myRand.Next(255 - 40);
-				myColor = Color.FromArgb(myR, myG, myB);
-			} else {
-				myColor = Color.FromName(Constants.Colors[countSeriesGraphColors]);
-				countSeriesGraphColors ++;
-			}
-			
-//			mySerie.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-//					6, new Pen (myColor, 2.0F));
-			
-			mySerie.SerieColor = myColor;
-			
-			
 			int i=0;
 			foreach (string myValue in statValues) {
 				if( myValue == Catalog.GetString("SD") ) 
diff --git a/src/stats/graphs/fv.cs b/src/stats/graphs/fv.cs
index e3ddbfb..d20c78e 100644
--- a/src/stats/graphs/fv.cs
+++ b/src/stats/graphs/fv.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -33,8 +30,6 @@ using Mono.Unix;
 public class GraphFv : StatFv
 {
 	protected string operation;
-	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
 
 	//for simplesession
 	GraphSerie serieIndex;
@@ -83,22 +78,6 @@ public class GraphFv : StatFv
 			serieJump1.IsLeftAxis = true;
 			serieJump2.IsLeftAxis = true;
 
-			/*
-			serieIndex.SerieMarker = new Marker (Marker.MarkerType.Square, 
-					6, new Pen (Color.FromName("Red"), 2.0F));
-			//serieJump1.SerieMarker = new Marker (Marker.MarkerType.TriangleUp, 
-			serieJump1.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Green"), 2.0F));
-			//serieJump2.SerieMarker = new Marker (Marker.MarkerType.TriangleUp, 
-			serieJump2.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Blue"), 2.0F));
-					*/
-		
-			//for the line between markers
-			serieIndex.SerieColor = Color.FromName("Red");
-			serieJump1.SerieColor = Color.FromName("Green");
-			serieJump2.SerieColor = Color.FromName("Blue");
-		
 			//this index is measured in height of CdG (not in tv)
 			CurrentGraphData.LabelLeft = 
 				jump1 + " " + Catalog.GetString("Height") + "(cm), " + 
@@ -165,25 +144,6 @@ public class GraphFv : StatFv
 			GraphSerie mySerie = new GraphSerie();
 			mySerie.IsLeftAxis = true;
 		
-			
-			//color code
-			Color myColor = new Color();
-			if(countSeriesGraphColors > Constants.Colors.Length) {
-				int myR = myRand.Next(255 - 40); //not 255 for not being so light colors
-				int myG = myRand.Next(255 - 40);
-				int myB = myRand.Next(255 - 40);
-				myColor = Color.FromArgb(myR, myG, myB);
-			} else {
-				myColor = Color.FromName(Constants.Colors[countSeriesGraphColors]);
-				countSeriesGraphColors ++;
-			}
-		
-//			mySerie.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-//					6, new Pen (myColor, 2.0F));
-			
-			mySerie.SerieColor = myColor;
-			
-			
 			int i=0;
 			foreach (string myValue in statValues) {
 				if( myValue == Catalog.GetString("AVG") || myValue == Catalog.GetString("SD") ) {
diff --git a/src/stats/graphs/global.cs b/src/stats/graphs/global.cs
index 31f6449..6deea22 100644
--- a/src/stats/graphs/global.cs
+++ b/src/stats/graphs/global.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -32,9 +29,6 @@ using Mono.Unix;
 
 public class GraphGlobal : StatGlobal
 {
-	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
-
 	//for simplesession
 	GraphSerie serieIndex;
 	GraphSerie serieTv;
@@ -79,18 +73,6 @@ public class GraphGlobal : StatGlobal
 			serieIndex.IsLeftAxis = false;
 			serieTv.IsLeftAxis = true;
 
-			/*
-			serieIndex.SerieMarker = new Marker (Marker.MarkerType.Square, 
-					6, new Pen (Color.FromName("Red"), 2.0F));
-			//serieTv.SerieMarker = new Marker (Marker.MarkerType.TriangleUp, 
-			serieTv.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Blue"), 2.0F));
-					*/
-		
-			//for the line between markers
-			serieIndex.SerieColor = Color.FromName("Red");
-			serieTv.SerieColor = Color.FromName("Blue");
-		
 			if(heightPreferred) {
 				CurrentGraphData.LabelLeft = Catalog.GetString("Height") + "(cm)";
 			} else {
@@ -177,20 +159,6 @@ public class GraphGlobal : StatGlobal
 		} else {
 			GraphSerie mySerie = new GraphSerie();
 
-			//color code
-			Color myColor = new Color();
-			if(countSeriesGraphColors > Constants.Colors.Length) {
-				int myR = myRand.Next(255 - 40); //not 255 for not being so light colors
-				int myG = myRand.Next(255 - 40);
-				int myB = myRand.Next(255 - 40);
-				myColor = Color.FromArgb(myR, myG, myB);
-			} else {
-				myColor = Color.FromName(Constants.Colors[countSeriesGraphColors]);
-				countSeriesGraphColors ++;
-			}
-
-			mySerie.SerieColor = myColor;
-
 			int i=0;
 			string myValueBefore = "";
 			foreach (string myValue in statValues) {
@@ -206,12 +174,8 @@ public class GraphGlobal : StatGlobal
 							valueNoSex.StartsWith("RjIndex") || valueNoSex.StartsWith(Constants.RJPotencyBoscoName) || 
 							valueNoSex == "IE" || valueNoSex == "IUB" || valueNoSex == "FV" ) {
 						mySerie.IsLeftAxis = false;
-//						mySerie.SerieMarker = new Marker (Marker.MarkerType.Square, 
-//								6, new Pen (myColor, 2.0F));
 					} else {
 						mySerie.IsLeftAxis = true;
-//						mySerie.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-//								6, new Pen (myColor, 2.0F));
 					}
 					myValueBefore = valueNoSex; //for changing later indexQ for indexQ*10
 					mySerie.Title = myValue;
diff --git a/src/stats/graphs/graphData.cs b/src/stats/graphs/graphData.cs
index e094ee0..ce6ae16 100644
--- a/src/stats/graphs/graphData.cs
+++ b/src/stats/graphs/graphData.cs
@@ -27,9 +27,6 @@ public class GraphData
 	public string WindowTitle;
 	public string GraphTitle;
 	public string GraphSubTitle;
-	//public string GraphType;
-	//public string GraphPalette;
-	//public bool GraphTransposed;
 	public ArrayList XAxisNames;
 	public string LabelLeft;
 	public string LabelRight;
diff --git a/src/stats/graphs/graphSerie.cs b/src/stats/graphs/graphSerie.cs
index 735659c..cb7326d 100644
--- a/src/stats/graphs/graphSerie.cs
+++ b/src/stats/graphs/graphSerie.cs
@@ -21,9 +21,6 @@
 using System;
 using System.Data;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 
@@ -31,8 +28,6 @@ public class GraphSerie
 {
 	public string Title;
 	public bool IsLeftAxis;
-	//public Marker SerieMarker;
-	public Color SerieColor;
 	public ArrayList SerieData;
 	public double Avg; //height of avg line
 
@@ -41,13 +36,10 @@ public class GraphSerie
 		Avg = 0;
 	}
 
-	//public GraphSerie(string Title, bool IsLeftAxis, Marker SerieMarker, Color SerieColor, ArrayList SerieData) 
-	public GraphSerie(string Title, bool IsLeftAxis, Color SerieColor, ArrayList SerieData) 
+	public GraphSerie(string Title, bool IsLeftAxis, ArrayList SerieData) 
 	{
 		this.Title = 		Title;
 		this.IsLeftAxis = 	IsLeftAxis;
-		this.SerieColor =	SerieColor;
-		//this.SerieMarker =	SerieMarker;
 		this.SerieData =	SerieData;
 		Avg = 0;
 	}
diff --git a/src/stats/graphs/ieIub.cs b/src/stats/graphs/ieIub.cs
index 37c2bd1..98b80aa 100644
--- a/src/stats/graphs/ieIub.cs
+++ b/src/stats/graphs/ieIub.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -34,7 +31,6 @@ public class GraphIeIub : StatIeIub
 {
 	protected string operation;
 	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
 
 	//for simplesession
 	GraphSerie serieIndex;
@@ -94,22 +90,6 @@ public class GraphIeIub : StatIeIub
 			serieJump1.IsLeftAxis = true;
 			serieJump2.IsLeftAxis = true;
 
-			/*
-			serieIndex.SerieMarker = new Marker (Marker.MarkerType.Square, 
-					6, new Pen (Color.FromName("Red"), 2.0F));
-			//serieJump1.SerieMarker = new Marker (Marker.MarkerType.TriangleUp, 
-			serieJump1.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Green"), 2.0F));
-			//serieJump2.SerieMarker = new Marker (Marker.MarkerType.TriangleUp, 
-			serieJump2.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Blue"), 2.0F));
-					*/
-		
-			//for the line between markers
-			serieIndex.SerieColor = Color.FromName("Red");
-			serieJump1.SerieColor = Color.FromName("Green");
-			serieJump2.SerieColor = Color.FromName("Blue");
-		
 			CurrentGraphData.LabelLeft = 
 				jump1 + " " + Catalog.GetString("TF") + "(s), " + 
 				jump2 + " " + Catalog.GetString("TF") + "(s)";
@@ -174,23 +154,6 @@ public class GraphIeIub : StatIeIub
 			GraphSerie mySerie = new GraphSerie();
 			mySerie.IsLeftAxis = true;
 		
-			//color code
-			Color myColor = new Color();
-			if(countSeriesGraphColors > Constants.Colors.Length) {
-				int myR = myRand.Next(255 - 40); //not 255 for not being so light colors
-				int myG = myRand.Next(255 - 40);
-				int myB = myRand.Next(255 - 40);
-				myColor = Color.FromArgb(myR, myG, myB);
-			} else {
-				myColor = Color.FromName(Constants.Colors[countSeriesGraphColors]);
-				countSeriesGraphColors ++;
-			}
-		
-//			mySerie.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-//					6, new Pen (myColor, 2.0F));
-			
-			mySerie.SerieColor = myColor;
-			
 			int i=0;
 			foreach (string myValue in statValues) {
 				if( myValue == Catalog.GetString("SD") ) 
diff --git a/src/stats/graphs/potency.cs b/src/stats/graphs/potency.cs
index 5d04bdc..fb714a4 100644
--- a/src/stats/graphs/potency.cs
+++ b/src/stats/graphs/potency.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -32,8 +29,6 @@ using Mono.Unix;
 public class GraphPotency : StatPotency
 {
 	protected string operation;
-	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
 
 	//for simplesession
 	GraphSerie serieIndex;
@@ -83,23 +78,6 @@ public class GraphPotency : StatPotency
 			serieExtraWeight.IsLeftAxis = false;
 			serieHeight.IsLeftAxis = false;
 
-			/*
-			serieIndex.SerieMarker = new Marker (Marker.MarkerType.Square, 
-					6, new Pen (Color.FromName("Red"), 2.0F));
-			seriePersonWeight.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Green"), 2.0F));
-			serieExtraWeight.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Blue"), 2.0F));
-			serieHeight.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Black"), 2.0F));
-					*/
-		
-			//for the line between markers
-			serieIndex.SerieColor = Color.FromName("Red");
-			seriePersonWeight.SerieColor = Color.FromName("Green");
-			serieExtraWeight.SerieColor = Color.FromName("Blue");
-			serieHeight.SerieColor = Color.FromName("Black");
-		
 			CurrentGraphData.LabelLeft = Catalog.GetString("Peak Power") + 
 				"(" + Catalog.GetString("watts") + ")";
 			CurrentGraphData.LabelRight = 
@@ -173,24 +151,6 @@ public class GraphPotency : StatPotency
 			GraphSerie mySerie = new GraphSerie();
 			mySerie.IsLeftAxis = true;
 		
-			//color code
-			Color myColor = new Color();
-			if(countSeriesGraphColors > Constants.Colors.Length) {
-				int myR = myRand.Next(255 - 40); //not 255 for not being so light colors
-				int myG = myRand.Next(255 - 40);
-				int myB = myRand.Next(255 - 40);
-				myColor = Color.FromArgb(myR, myG, myB);
-			} else {
-				myColor = Color.FromName(Constants.Colors[countSeriesGraphColors]);
-				countSeriesGraphColors ++;
-			}
-			
-//			mySerie.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-//					6, new Pen (myColor, 2.0F));
-			
-			mySerie.SerieColor = myColor;
-			
-			
 			int i=0;
 			foreach (string myValue in statValues) {
 				if( myValue == Catalog.GetString("SD") ) 
diff --git a/src/stats/graphs/rjAVGSD.cs b/src/stats/graphs/rjAVGSD.cs
index 7ec4db0..6f4b4b1 100644
--- a/src/stats/graphs/rjAVGSD.cs
+++ b/src/stats/graphs/rjAVGSD.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -32,8 +29,6 @@ using Mono.Unix;
 public class GraphRjAVGSD : StatRjAVGSD
 {
 	protected string operation;
-	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
 
 	//for simplesession
 	GraphSerie serieAVG;
@@ -79,20 +74,6 @@ public class GraphRjAVGSD : StatRjAVGSD
 		serieSD.IsLeftAxis = true;
 		serieJumps.IsLeftAxis = false;
 
-		/*
-		serieAVG.SerieMarker = new Marker (Marker.MarkerType.Square, 
-				6, new Pen (Color.FromName("Red"), 2.0F));
-		serieSD.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-				6, new Pen (Color.FromName("Black"), 2.0F));
-		serieJumps.SerieMarker = new Marker (Marker.MarkerType.Cross2, 
-				8, new Pen (Color.FromName("Blue"), 2.0F));
-				*/
-
-		//for the line between markers
-		serieAVG.SerieColor = Color.FromName("Red");
-		serieSD.SerieColor = Color.FromName("Black");
-		//serieJumps.SerieColor = Color.FromName("Blue");
-
 		CurrentGraphData.LabelLeft = 
 			Catalog.GetString("Average") + ", " +
 			Catalog.GetString("SD");
diff --git a/src/stats/graphs/rjEvolution.cs b/src/stats/graphs/rjEvolution.cs
index 0f46306..cc66bcd 100644
--- a/src/stats/graphs/rjEvolution.cs
+++ b/src/stats/graphs/rjEvolution.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -33,8 +30,6 @@ using Mono.Unix;
 public class GraphRjEvolution : StatRjEvolution
 {
 	protected string operation;
-	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
 
 
 	//numContinuous passed only for writing correct Enunciate	
@@ -102,31 +97,6 @@ public class GraphRjEvolution : StatRjEvolution
 		serieTc.IsLeftAxis = true;
 		serieTv.IsLeftAxis = true;
 
-		//color code
-		Color myColor = new Color();
-		if(countSeriesGraphColors > Constants.Colors.Length) {
-			int myR = myRand.Next(255 - 40); //not 255 for not being so light colors
-			int myG = myRand.Next(255 - 40);
-			int myB = myRand.Next(255 - 40);
-			myColor = Color.FromArgb(myR, myG, myB);
-		} else {
-			myColor = Color.FromName(Constants.Colors[countSeriesGraphColors]);
-			countSeriesGraphColors ++;
-		}
-	
-		/*	
-		//serieTc.SerieMarker = new Marker (Marker.MarkerType.TriangleDown, 
-		serieTc.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-				6, new Pen (myColor, 2.0F));
-		//serieTv.SerieMarker = new Marker (Marker.MarkerType.TriangleUp, 
-		serieTv.SerieMarker = new Marker (Marker.MarkerType.Cross2, 
-				6, new Pen (myColor, 2.0F));
-				*/
-		
-		//for the line between markers
-		serieTc.SerieColor = myColor;
-		serieTv.SerieColor = myColor;
-		
 		int i = 0;
 		foreach (string myValue in statValues) 
 		{
diff --git a/src/stats/graphs/rjIndex.cs b/src/stats/graphs/rjIndex.cs
index 68fa6ca..29d59cb 100644
--- a/src/stats/graphs/rjIndex.cs
+++ b/src/stats/graphs/rjIndex.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -33,8 +30,6 @@ using Mono.Unix;
 public class GraphRjIndex : StatRjIndex
 {
 	protected string operation;
-	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
 
 	//for simplesession
 	GraphSerie serieIndex;
@@ -82,25 +77,6 @@ public class GraphRjIndex : StatRjIndex
 			serieTv.IsLeftAxis = true;
 			serieFall.IsLeftAxis = false;
 
-			/*
-			serieIndex.SerieMarker = new Marker (Marker.MarkerType.Square, 
-					6, new Pen (Color.FromName("Red"), 2.0F));
-			//serieTc.SerieMarker = new Marker (Marker.MarkerType.TriangleDown, 
-			serieTc.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Green"), 2.0F));
-			//serieTv.SerieMarker = new Marker (Marker.MarkerType.TriangleUp, 
-			serieTv.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Blue"), 2.0F));
-			serieFall.SerieMarker = new Marker (Marker.MarkerType.Cross2, 
-					6, new Pen (Color.FromName("Chocolate"), 2.0F));
-					*/
-		
-			//for the line between markers
-			serieIndex.SerieColor = Color.FromName("Red");
-			serieTc.SerieColor = Color.FromName("Green");
-			serieTv.SerieColor = Color.FromName("Blue");
-			serieFall.SerieColor = Color.FromName("Chocolate");
-		
 			CurrentGraphData.LabelLeft = 
 				Catalog.GetString("TC") + "(s), " +
 				Catalog.GetString("TF") + "(s)";
@@ -175,23 +151,6 @@ public class GraphRjIndex : StatRjIndex
 			GraphSerie mySerie = new GraphSerie();
 			mySerie.IsLeftAxis = true;
 		
-			//color code
-			Color myColor = new Color();
-			if(countSeriesGraphColors > Constants.Colors.Length) {
-				int myR = myRand.Next(255 - 40); //not 255 for not being so light colors
-				int myG = myRand.Next(255 - 40);
-				int myB = myRand.Next(255 - 40);
-				myColor = Color.FromArgb(myR, myG, myB);
-			} else {
-				myColor = Color.FromName(Constants.Colors[countSeriesGraphColors]);
-				countSeriesGraphColors ++;
-			}
-			
-//			mySerie.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-//					6, new Pen (myColor, 2.0F));
-			
-			mySerie.SerieColor = myColor;
-			
 			int i=0;
 			foreach (string myValue in statValues) {
 				if( myValue == Catalog.GetString("SD") ) 
diff --git a/src/stats/graphs/rjPotencyBosco.cs b/src/stats/graphs/rjPotencyBosco.cs
index f0d8735..95a803f 100644
--- a/src/stats/graphs/rjPotencyBosco.cs
+++ b/src/stats/graphs/rjPotencyBosco.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -33,8 +30,6 @@ using Mono.Unix;
 public class GraphRjPotencyBosco : StatRjPotencyBosco
 {
 	protected string operation;
-	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
 
 	//for simplesession
 	GraphSerie serieIndex;
@@ -93,31 +88,6 @@ public class GraphRjPotencyBosco : StatRjPotencyBosco
 			serieTime.IsLeftAxis = false;
 			serieFall.IsLeftAxis = false;
 
-			/*
-			serieIndex.SerieMarker = new Marker (Marker.MarkerType.Square, 
-					6, new Pen (Color.FromName("Red"), 2.0F));
-			//serieTc.SerieMarker = new Marker (Marker.MarkerType.TriangleDown, 
-			serieTc.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Green"), 2.0F));
-			//serieTv.SerieMarker = new Marker (Marker.MarkerType.TriangleUp, 
-			serieTv.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Blue"), 2.0F));
-			serieJumps.SerieMarker = new Marker (Marker.MarkerType.Cross2, 
-					6, new Pen (Color.FromName("Orange"), 2.0F));
-			serieTime.SerieMarker = new Marker (Marker.MarkerType.Cross2, 
-					6, new Pen (Color.FromName("Black"), 2.0F));
-			serieFall.SerieMarker = new Marker (Marker.MarkerType.Cross2, 
-					6, new Pen (Color.FromName("Chocolate"), 2.0F));
-					*/
-		
-			//for the line between markers
-			serieIndex.SerieColor = Color.FromName("Red");
-			serieTc.SerieColor = Color.FromName("Green");
-			serieTv.SerieColor = Color.FromName("Blue");
-			serieJumps.SerieColor = Color.FromName("Orange");
-			serieTime.SerieColor = Color.FromName("Black");
-			serieFall.SerieColor = Color.FromName("Chocolate");
-		
 			CurrentGraphData.LabelLeft = 
 				Catalog.GetString("TC") + "(s), " +
 				Catalog.GetString("TF") + "(s)";
@@ -211,23 +181,6 @@ public class GraphRjPotencyBosco : StatRjPotencyBosco
 			GraphSerie mySerie = new GraphSerie();
 			mySerie.IsLeftAxis = true;
 		
-			//color code
-			Color myColor = new Color();
-			if(countSeriesGraphColors > Constants.Colors.Length) {
-				int myR = myRand.Next(255 - 40); //not 255 for not being so light colors
-				int myG = myRand.Next(255 - 40);
-				int myB = myRand.Next(255 - 40);
-				myColor = Color.FromArgb(myR, myG, myB);
-			} else {
-				myColor = Color.FromName(Constants.Colors[countSeriesGraphColors]);
-				countSeriesGraphColors ++;
-			}
-			
-//			mySerie.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-//					6, new Pen (myColor, 2.0F));
-			
-			mySerie.SerieColor = myColor;
-			
 			int i=0;
 			foreach (string myValue in statValues) {
 				if( myValue == Catalog.GetString("SD") ) 
diff --git a/src/stats/graphs/sjCmjAbk.cs b/src/stats/graphs/sjCmjAbk.cs
index b8b8452..3e7897a 100644
--- a/src/stats/graphs/sjCmjAbk.cs
+++ b/src/stats/graphs/sjCmjAbk.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -33,8 +30,6 @@ using Mono.Unix;
 public class GraphSjCmjAbk : StatSjCmjAbk
 {
 	protected string operation;
-	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
 
 	//for simplesession
 	GraphSerie serieHeight;
@@ -72,18 +67,6 @@ public class GraphSjCmjAbk : StatSjCmjAbk
 			serieTv.IsLeftAxis = true;
 			serieHeight.IsLeftAxis = false;
 
-			/*
-			//serieTv.SerieMarker = new Marker (Marker.MarkerType.TriangleUp, 
-			serieTv.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Blue"), 2.0F));
-			serieHeight.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Red"), 2.0F));
-					*/
-		
-			//for the line between markers
-			serieTv.SerieColor = Color.FromName("Blue");
-			serieHeight.SerieColor = Color.FromName("Red");
-		
 			CurrentGraphData.LabelLeft = Catalog.GetString("TF") + "(s)";
 			CurrentGraphData.LabelRight = Catalog.GetString("Height") + "(cm)";
 		} else {
@@ -148,23 +131,6 @@ public class GraphSjCmjAbk : StatSjCmjAbk
 			GraphSerie mySerie = new GraphSerie();
 			mySerie.IsLeftAxis = true;
 
-			//color code
-			Color myColor = new Color();
-			if(countSeriesGraphColors > Constants.Colors.Length) {
-				int myR = myRand.Next(255 - 40); //not 255 for not being so light colors
-				int myG = myRand.Next(255 - 40);
-				int myB = myRand.Next(255 - 40);
-				myColor = Color.FromArgb(myR, myG, myB);
-			} else {
-				myColor = Color.FromName(Constants.Colors[countSeriesGraphColors]);
-				countSeriesGraphColors ++;
-			}
-		
-//			mySerie.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-//					6, new Pen (myColor, 2.0F));
-
-			mySerie.SerieColor = myColor;
-
 			int i=0;
 			foreach (string myValue in statValues) {
 				if( myValue == Catalog.GetString("SD") ) 
diff --git a/src/stats/graphs/sjCmjAbkPlus.cs b/src/stats/graphs/sjCmjAbkPlus.cs
index 57a966d..a78413d 100644
--- a/src/stats/graphs/sjCmjAbkPlus.cs
+++ b/src/stats/graphs/sjCmjAbkPlus.cs
@@ -22,9 +22,6 @@ using System;
 using System.Data;
 using Gtk;
 using System.Collections; //ArrayList
-
-//using NPlot.Gtk;
-//using NPlot;
 using System.Drawing;
 using System.Drawing.Imaging;
 using Mono.Unix;
@@ -33,8 +30,6 @@ using Mono.Unix;
 public class GraphSjCmjAbkPlus : StatSjCmjAbkPlus
 {
 	protected string operation;
-	private Random myRand = new Random();
-	private int countSeriesGraphColors = 0;
 
 	//for simplesession
 	GraphSerie serieHeight;
@@ -82,21 +77,6 @@ public class GraphSjCmjAbkPlus : StatSjCmjAbkPlus
 			serieHeight.IsLeftAxis = false;
 			serieWeight.IsLeftAxis = false;
 
-			/*
-			//serieTv.SerieMarker = new Marker (Marker.MarkerType.TriangleUp, 
-			serieTv.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Blue"), 2.0F));
-			serieHeight.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-					6, new Pen (Color.FromName("Green"), 2.0F));
-			serieWeight.SerieMarker = new Marker (Marker.MarkerType.Cross2, 
-					6, new Pen (Color.FromName("Chocolate"), 2.0F));
-					*/
-		
-			//for the line between markers
-			serieTv.SerieColor = Color.FromName("Blue");
-			serieHeight.SerieColor = Color.FromName("Green");
-			serieWeight.SerieColor = Color.FromName("Chocolate");
-		
 			CurrentGraphData.LabelLeft = Catalog.GetString("TF") + "(s)";
 			CurrentGraphData.LabelRight = 
 				Catalog.GetString("Height") + "(cm), " +
@@ -113,10 +93,6 @@ public class GraphSjCmjAbkPlus : StatSjCmjAbkPlus
 			}
 			CurrentGraphData.LabelRight = "";
 		}
-		
-		//CurrentGraphData.GraphType = myStatTypeStruct.GraphType;
-		//CurrentGraphData.GraphPalette = myStatTypeStruct.GraphPalette;
-		//CurrentGraphData.GraphTransposed = myStatTypeStruct.GraphTransposed;
 	}
 
 	protected override void printData (string [] statValues) 
@@ -169,28 +145,10 @@ public class GraphSjCmjAbkPlus : StatSjCmjAbkPlus
 			GraphSerie mySerie = new GraphSerie();
 			mySerie.IsLeftAxis = true;
 
-			//color code
-			Color myColor = new Color();
-			if(countSeriesGraphColors > Constants.Colors.Length) {
-				int myR = myRand.Next(255 - 40); //not 255 for not being so light colors
-				int myG = myRand.Next(255 - 40);
-				int myB = myRand.Next(255 - 40);
-				myColor = Color.FromArgb(myR, myG, myB);
-			} else {
-				myColor = Color.FromName(Constants.Colors[countSeriesGraphColors]);
-				countSeriesGraphColors ++;
-			}
-		
-//			mySerie.SerieMarker = new Marker (Marker.MarkerType.Cross1, 
-//					6, new Pen (myColor, 2.0F));
-
-			mySerie.SerieColor = myColor;
-
 			int i=0;
 			foreach (string myValue in statValues) {
 				if( myValue == Catalog.GetString("SD") ) 
 					return;
-
 				
 				if(i == 0) 
 					mySerie.Title = myValue;
diff --git a/src/stats/main.cs b/src/stats/main.cs
index 894c6fd..69c30ba 100644
--- a/src/stats/main.cs
+++ b/src/stats/main.cs
@@ -1004,7 +1004,8 @@ public class Stat
 		if(gro.Transposed && 
 				gro.Type != Constants.GraphTypeXY && 
 				gro.Type != Constants.GraphTypeDotchart &&
-				gro.Type != Constants.GraphTypeBoxplot
+				gro.Type != Constants.GraphTypeBoxplot &&
+				gro.Type != Constants.GraphTypeStripchart
 				)
 			allData += "data <- t(data)\n";
 	
@@ -1122,14 +1123,46 @@ public class Stat
 		return allData + rG;
 	}
 	
+	private string getRStripchartString(GraphROptions gro, string fileName, Sides side) {
+		string allData = convertDataToR(gro, side);
+		
+		string xlabStr = "";
+		if(side == Sides.RIGHT) {
+			if(CurrentGraphData.LabelRight != "")
+				xlabStr = ", xlab='" + CurrentGraphData.LabelRight + "'";
+		}
+		else { //ALL or LEFT
+			if(CurrentGraphData.LabelLeft != "")
+				xlabStr = ", xlab='" + CurrentGraphData.LabelLeft + "'";
+		}
+
+		string rG = //rGraphString
+			"stripchart(as.data.frame(data), las=2" + xlabStr + ", ylab='', method='jitter', pch=3, jitter=.2)\n" +
+			"axis(2, 1:length(colnames(data)), colnames(data), las=2)\n"; //axis separated from boxplot because if data hsa one col, names are not displayed
+		
+		//have an unique title for both graphs
+		string titStr = getTitle("Stripchart");
+		if(hasTwoAxis()) {
+		       if(side==Sides.RIGHT)
+				rG += "par(mfrow=c(1,1), new=TRUE)\n" +
+					"plot(-1, axes=FALSE, type='n', xlab='', ylab='')\n" +
+					titStr + 
+					"par(mfrow=c(1,1), new=FALSE)\n";
+		} else
+			rG += titStr;
+
+		return allData + rG;
+	}
+
 	private string getRXYString(GraphROptions gro, string fileName) {
 		string allData = convertDataToR(gro, Sides.ALL);
 		string titStr = getTitle("XY");
 		string rG = //rGraphString
+		   	"colors=" + gro.Palette +"(length(rownames(data)))\n" +
 			"rang <- c(1:length(rownames(data)))\n" +
-			"plot(serie0, serie1, pch=rang, col=rang, xlab='" + gro.VarX + "', ylab='" + gro.VarY + "')\n" +
-			"abline(lm(serie0 ~ serie1),col='grey30')\n" +
-			"legend('" + gro.Legend +"' ,legend=rownames(data), pch=rang, col=rang, cex=.7)\n" +
+			"plot(serie0, serie1, pch=rang, col=colors, xlab='" + gro.VarX + "', ylab='" + gro.VarY + "')\n" +
+			"abline(lm(serie1 ~ serie0),col='grey30')\n" +
+			"legend('" + gro.Legend +"' ,legend=rownames(data), pch=rang, col=colors, cex=.7)\n" +
 			titStr;
 
 		return allData + rG;
@@ -1141,9 +1174,9 @@ public class Stat
 		string rG = //rGraphString
 			"dotchart(serie0, labels=rownames(data), cex=1)\n" +
 			"abline(v=mean(serie0), lty=1, col='grey20')\n" +
-			"abline(v=median(serie0), lty=2, col='grey50')\n" +
-			"mtext('avg', at=mean(serie0), side=1, cex=.7, col='grey20')\n" +
-			"mtext('median', at=median(serie0), side=1, cex=.7, col='grey50')\n" +
+			"abline(v=median(serie0), lty=2, col='grey40')\n" +
+			"mtext('avg', at=mean(serie0), side=3, cex=.7, col='grey20')\n" +
+			"mtext('median', at=median(serie0), side=1, cex=.7, col='grey40')\n" +
 			titStr;
 
 		return allData + rG;
@@ -1209,6 +1242,18 @@ public class Stat
 				rString += getRLinesString(
 						gRO, fileName, Sides.ALL);
 		}
+		else if(gRO.Type == Constants.GraphTypeStripchart) {
+			if(hasTwoAxis()) {
+				rString += "par(mfrow=c(2,1))\n";
+				rString += getRStripchartString(
+						gRO, fileName, Sides.LEFT);
+				rString += getRStripchartString(
+						gRO, fileName, Sides.RIGHT);
+			}
+			else
+				rString += getRStripchartString(
+						gRO, fileName, Sides.ALL);
+		}
 		else if(gRO.Type == Constants.GraphTypeXY)
 			rString += getRXYString(gRO, fileName);
 		else //if(CurrentGraphData.GraphType == Constants.GraphTypeDotchart))



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]