[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [labplot/histogram_chart] src: histogram value tab
From:       Anu Mittal <anu22mittal () gmail ! com>
Date:       2016-08-11 20:21:22
Message-ID: E1bXwTi-0004WF-My () code ! kde ! org
[Download RAW message or body]

Git commit 6e867eae58f0a37af6d8969bde41549930adf9a2 by Anu Mittal.
Committed on 11/08/2016 at 20:21.
Pushed by anumittal into branch 'histogram_chart'.

histogram value tab

M  +16   -31   src/backend/worksheet/plots/cartesian/Histogram.cpp
M  +1    -1    src/backend/worksheet/plots/cartesian/Histogram.h
M  +0    -3    src/kdefrontend/dockwidgets/HistogramDock.cpp

http://commits.kde.org/labplot/6e867eae58f0a37af6d8969bde41549930adf9a2

diff --git a/src/backend/worksheet/plots/cartesian/Histogram.cpp \
b/src/backend/worksheet/plots/cartesian/Histogram.cpp index a8339ae..c0ad066 100644
--- a/src/backend/worksheet/plots/cartesian/Histogram.cpp
+++ b/src/backend/worksheet/plots/cartesian/Histogram.cpp
@@ -763,35 +763,13 @@ void HistogramPrivate::updateValues() {
 	//determine the value string for all points that are currently visible in the plot
 	switch (valuesType){
 	  case Histogram::NoValues:
-	  case Histogram::ValuesX:{
-		for(int i=0; i<bins; ++i){
-			if (!visiblePoints[i]) continue;
-			valuesStrings << valuesPrefix + QString::number(gsl_histogram_get(histogram,i)) + \
                valuesSuffix+ "  ";
-		}
-	  break;
-	  }
 	  case Histogram::ValuesY:{
-		for(int i=0; i<symbolPointsLogical.size(); ++i){
-			if (!visiblePoints[i]) continue;
- 			valuesStrings << valuesPrefix + QString::number(symbolPointsLogical.at(i).y()) + \
                valuesSuffix;
-		}
-		break;
-	  }
-	  case Histogram::ValuesXY:{
-		for(int i=0; i<symbolPointsLogical.size(); ++i){
+		for(size_t i=0; i<bins; ++i){
 			if (!visiblePoints[i]) continue;
-			valuesStrings << valuesPrefix + QString::number(symbolPointsLogical.at(i).x()) + \
                ','
-							+ QString::number(symbolPointsLogical.at(i).y()) + valuesSuffix;
+			valuesStrings << valuesPrefix + QString::number(gsl_histogram_get(histogram,i)) + \
valuesSuffix; +			qDebug() << valuesStrings;
 		}
-		break;
-	  }
-	  case Histogram::ValuesXYBracketed:{
-		for(int i=0; i<symbolPointsLogical.size(); ++i){
-			if (!visiblePoints[i]) continue;
-			valuesStrings <<  valuesPrefix + '(' + \
                QString::number(symbolPointsLogical.at(i).x()) + ','
-							+ QString::number(symbolPointsLogical.at(i).y()) +')' + valuesSuffix;
-		}
-		break;
+	  break;
 	  }
 	  case Histogram::ValuesCustomColumn:{
 		if (!valuesColumn){
@@ -815,6 +793,7 @@ void HistogramPrivate::updateValues() {
 			switch (xColMode){
 				case AbstractColumn::Numeric:
 					valuesStrings << valuesPrefix + QString::number(valuesColumn->valueAt(i)) + \
valuesSuffix; +					qDebug() << valuesStrings;
 					break;
 				case AbstractColumn::Text:
 					valuesStrings << valuesPrefix + valuesColumn->textAt(i) + valuesSuffix;
@@ -834,41 +813,47 @@ void HistogramPrivate::updateValues() {
 	QFontMetrics fm(valuesFont);
 	qreal w;
 	qreal h=fm.ascent();
-
+	double xAxisMin=xColumn->minimum();
+	double xAxisMax=xColumn->maximum();
+	double width = (xAxisMax-xAxisMin)/bins;
 	switch(valuesPosition){
 	  case Histogram::ValuesAbove:{
 		for (int i=0; i<valuesStrings.size(); i++){
 		  w=fm.width(valuesStrings.at(i));
-		  tempPoint.setX( symbolPointsScene.at(i).x() - w/2);
+		  tempPoint.setX( symbolPointsScene.at(i).x() -w/2 +xAxisMin);
 		  tempPoint.setY( symbolPointsScene.at(i).y() - valuesDistance );
 		  valuesPoints.append(tempPoint);
+		  xAxisMin+= 9*width;
 		  }
 		  break;
 		}
 	  case Histogram::ValuesUnder:{
 		for (int i=0; i<valuesStrings.size(); i++){
 		  w=fm.width(valuesStrings.at(i));
-		  tempPoint.setX( symbolPointsScene.at(i).x() -w/2 );
+		  tempPoint.setX( symbolPointsScene.at(i).x() -w/2+xAxisMin );
 		  tempPoint.setY( symbolPointsScene.at(i).y() + valuesDistance + h/2);
 		  valuesPoints.append(tempPoint);
+		  xAxisMin+= 9*width;
 		}
 		break;
 	  }
 	  case Histogram::ValuesLeft:{
 		for (int i=0; i<valuesStrings.size(); i++){
 		  w=fm.width(valuesStrings.at(i));
-		  tempPoint.setX( symbolPointsScene.at(i).x() - valuesDistance - w - 1 );
+		  tempPoint.setX( symbolPointsScene.at(i).x() - valuesDistance - w - 1 +xAxisMin);
 		  tempPoint.setY( symbolPointsScene.at(i).y());
 		  valuesPoints.append(tempPoint);
+		  xAxisMin+= 9*width;
 		}
 		break;
 	  }
 	  case Histogram::ValuesRight:{
 		for (int i=0; i<valuesStrings.size(); i++){
 		  w=fm.width(valuesStrings.at(i));
-		  tempPoint.setX( symbolPointsScene.at(i).x() + valuesDistance - 1 );
+		  tempPoint.setX( symbolPointsScene.at(i).x() + valuesDistance - 1 +xAxisMin);
 		  tempPoint.setY( symbolPointsScene.at(i).y() );
 		  valuesPoints.append(tempPoint);
+		  xAxisMin+= 9*width;
 		}
 		break;
 	  }
diff --git a/src/backend/worksheet/plots/cartesian/Histogram.h \
b/src/backend/worksheet/plots/cartesian/Histogram.h index 6a839fc..27902cf 100644
--- a/src/backend/worksheet/plots/cartesian/Histogram.h
+++ b/src/backend/worksheet/plots/cartesian/Histogram.h
@@ -43,7 +43,7 @@ class Histogram: public WorksheetElement {
 
 	public:
 		enum BinsOption {Number,Width,SquareRoot,RiceRule,SturgisRule};
-		enum ValuesType {NoValues, ValuesX, ValuesY, ValuesXY, ValuesXYBracketed, \
ValuesCustomColumn}; +		enum ValuesType {NoValues, ValuesY, ValuesYBracketed, \
ValuesCustomColumn};  enum ValuesPosition {ValuesAbove, ValuesUnder, ValuesLeft, \
ValuesRight};  enum FillingPosition {NoFilling, FillingAbove, FillingBelow, \
FillingZeroBaseline, FillingLeft, FillingRight};  enum HistogramType \
                {Ordinary,Cummulative, AvgShift};
diff --git a/src/kdefrontend/dockwidgets/HistogramDock.cpp \
b/src/kdefrontend/dockwidgets/HistogramDock.cpp index 9d48d64..268883a 100644
--- a/src/kdefrontend/dockwidgets/HistogramDock.cpp
+++ b/src/kdefrontend/dockwidgets/HistogramDock.cpp
@@ -302,10 +302,7 @@ void HistogramDock::init(){
 
 	//Values
 	ui.cbValuesType->addItem(i18n("no values"));
-	ui.cbValuesType->addItem("x");
 	ui.cbValuesType->addItem("y");
-	ui.cbValuesType->addItem("x, y");
-	ui.cbValuesType->addItem("(x, y)");
 	ui.cbValuesType->addItem(i18n("custom column"));
 
 	ui.cbValuesPosition->addItem(i18n("above"));


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic