[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