From 45b3b4de886d830115d5b9c68ed18fc529d20d8c Mon Sep 17 00:00:00 2001 From: jiayulong <22806282@qq.com> Date: Wed, 5 Nov 2025 18:15:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=95=B0=E6=9B=B2=E7=BA=BF=E5=A1=AB?= =?UTF-8?q?=E5=85=85=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CallManage/CallManage.h | 2 +- logPlus/PropertyWidget.cpp | 11 +++- logPlus/PropertyWidget.h | 3 +- logPlus/formdraw.cpp | 12 +++- logPlus/forminfo.cpp | 6 +- logPlus/forminfo.h | 2 +- logPlus/mycustomplot.cpp | 2 +- logPlus/preqtablewidget.cpp | 8 ++- logPlus/preqtablewidget.h | 2 +- logPlus/qmycustomplot.cpp | 113 ++++++++++++++++++++---------------- logPlus/qmycustomplot.h | 5 +- 11 files changed, 99 insertions(+), 67 deletions(-) diff --git a/CallManage/CallManage.h b/CallManage/CallManage.h index 7514d96..6e31821 100644 --- a/CallManage/CallManage.h +++ b/CallManage/CallManage.h @@ -63,7 +63,7 @@ signals: //岩性填充-填充 void sig_ChangeFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString newFillType, QString newTargetLine, QColor newColor, QString newLithosImage, QString newHeadFill, - float vMin, float vMax, QColor frontColor, QColor backColor, QString newFillMode); + float vMin, float vMax, QString strOtherScaleType, QColor frontColor, QColor backColor, QString newFillMode); //置顶层 void sig_Raise(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName); diff --git a/logPlus/PropertyWidget.cpp b/logPlus/PropertyWidget.cpp index f7c6cc5..625908a 100644 --- a/logPlus/PropertyWidget.cpp +++ b/logPlus/PropertyWidget.cpp @@ -129,6 +129,8 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant { QString newScaleType = pProperty->valueText(); emit CallManage::getInstance()->sig_ChangeScaleType(m_strUuid, m_strSlfName, m_strWellName, m_strTrackName, m_strLineName, newScaleType); + //更新填充 + ChangFillProperty(); } } else if("颜色" == m_propertyData[pProperty]) @@ -274,6 +276,7 @@ void PropertyWidget::ChangFillProperty() QString newHeadFill = "不绘制"; float vMax = 0.0; float vMin = 0.0; + QString strOtherScaleType = "线性"; QColor frontColor;//岩性前景色 QColor backColor;//岩性背景色 @@ -318,6 +321,7 @@ void PropertyWidget::ChangFillProperty() { vMax = m_listMax[i]; vMin = m_listMin[i]; + strOtherScaleType = m_strListOtherScaleType[i]; } } } @@ -379,7 +383,7 @@ void PropertyWidget::ChangFillProperty() { emit CallManage::getInstance()->sig_ChangeFillMode(m_strUuid, m_strSlfName, m_strWellName, m_strTrackName, m_strLineName, newFillType, newTargetLine, newColor, newLithosImage, newHeadFill, - vMin, vMax, frontColor, backColor, newFillMode); + vMin, vMax, strOtherScaleType, frontColor, backColor, newFillMode); } } @@ -476,7 +480,7 @@ void PropertyWidget::initWidgetProperty() _CreateVariantPropertyItem("水平格线", "中格线间隔(m)", 2.0, QVariant::Double); } -void PropertyWidget::initCurveProperty(FormInfo *formInfo, QStringList strListOtherLine, QList listMin, QList listMax) +void PropertyWidget::initCurveProperty(FormInfo *formInfo, QStringList strListOtherLine, QList listMin, QList listMax, QStringList strListOtherScaleType) //void PropertyWidget::initCurveProperty(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QColor lineColor, double dWidth, QStringList strListOtherLine) { //初始化,清空 @@ -491,6 +495,7 @@ void PropertyWidget::initCurveProperty(FormInfo *formInfo, QStringList strListOt double dWidth = formInfo->m_dWidth; float vmax = formInfo->m_vmax; float vmin = formInfo->m_vmin; + QString strScaleType = formInfo->m_strScaleType; QColor frontColor = formInfo->m_frontColor; QColor backColor = formInfo->m_backColor; @@ -504,10 +509,12 @@ void PropertyWidget::initCurveProperty(FormInfo *formInfo, QStringList strListOt m_strListOtherLine.clear(); m_listMin.clear(); m_listMax.clear(); + m_strListOtherScaleType.clear(); // m_strListOtherLine.append(strListOtherLine); m_listMin.append(listMin); m_listMax.append(listMax); + m_strListOtherScaleType.append(strListOtherScaleType); //当前属性类型 m_strCurrentProperty = Curve_Property; diff --git a/logPlus/PropertyWidget.h b/logPlus/PropertyWidget.h index cd7b883..e1e4894 100644 --- a/logPlus/PropertyWidget.h +++ b/logPlus/PropertyWidget.h @@ -55,6 +55,7 @@ public: QStringList m_strListOtherLine; QList m_listMin; QList m_listMax; + QStringList m_strListOtherScaleType; public: QWidget* GetPropertyWidget(); @@ -66,7 +67,7 @@ public: void InitCurrentViewInfo(); //初始化属性,清空 void initWidgetProperty(); //可视解释整体属性 //void initCurveProperty(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QColor lineColor, double dWidth, QStringList strListOtherLine); //曲线属性 - void initCurveProperty(FormInfo *formInfo, QStringList strListOtherLine, QList listMin, QList listMax); + void initCurveProperty(FormInfo *formInfo, QStringList strListOtherLine, QList listMin, QList listMax, QStringList strListOtherScaleType); void ChangFillProperty();//填充属性改变 diff --git a/logPlus/formdraw.cpp b/logPlus/formdraw.cpp index 4b34dc7..4196f98 100644 --- a/logPlus/formdraw.cpp +++ b/logPlus/formdraw.cpp @@ -127,7 +127,6 @@ void FormDraw::s_addLine(QString strUuid, QString strSlfName, QString strWellNam curv->show(); initForm(curv, strSlfName, strLineName); - connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*))); // @@ -489,6 +488,8 @@ void FormDraw::initForm(QMyCustomPlot *widget, QString strSlfName, QString strLi //最大值,最小值 vmax=vmin=val[0]; + //vmax=vmin=log(val[0]); + // for(int i=1;ilog(val[i]))vmin=log(val[i]); + } + // + x.append(-(sdep+ rlev*i)); + y.append(log(val[i]));*/ } if(newLeftScale!=-9999) diff --git a/logPlus/forminfo.cpp b/logPlus/forminfo.cpp index 9cba3cf..53f8710 100644 --- a/logPlus/forminfo.cpp +++ b/logPlus/forminfo.cpp @@ -51,8 +51,8 @@ FormInfo::FormInfo(QWidget *parent, QString strSlfName, QString strWellName, QSt //岩性填充-不填充 connect(CallManage::getInstance(), SIGNAL(sig_ClearFillMode(QString, QString, QString, QString, QString)), this, SLOT(s_ClearFillMode(QString, QString, QString, QString, QString))); //岩性填充-填充 - connect(CallManage::getInstance(), SIGNAL(sig_ChangeFillMode(QString, QString, QString, QString, QString, QString, QString, QColor, QString, QString, float, float, QColor, QColor, QString)), - this, SLOT(s_ChangeFillMode(QString, QString, QString, QString, QString, QString, QString, QColor, QString, QString, float, float, QColor, QColor, QString))); + connect(CallManage::getInstance(), SIGNAL(sig_ChangeFillMode(QString, QString, QString, QString, QString, QString, QString, QColor, QString, QString, float, float, QString, QColor, QColor, QString)), + this, SLOT(s_ChangeFillMode(QString, QString, QString, QString, QString, QString, QString, QColor, QString, QString, float, float, QString, QColor, QColor, QString))); } @@ -397,7 +397,7 @@ void FormInfo::s_ClearFillMode(QString strUuid, QString strSlfName, QString strW //岩性填充-填充 void FormInfo::s_ChangeFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString newFillType, QString newTargetLine, QColor newColor, QString newLithosImage, QString newHeadFill, - float vMin, float vMax, QColor frontColor, QColor backColor, QString newFillMode) + float vMin, float vMax, QString strOtherScaleType, QColor frontColor, QColor backColor, QString newFillMode) { if(m_strUuid == strUuid && m_strSlfName == strSlfName && diff --git a/logPlus/forminfo.h b/logPlus/forminfo.h index 9d63d0d..ddbec4e 100644 --- a/logPlus/forminfo.h +++ b/logPlus/forminfo.h @@ -52,7 +52,7 @@ public slots: //岩性填充-填充 void s_ChangeFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString newFillType, QString newTargetLine, QColor newColor, QString newLithosImage, QString newHeadFill, - float vMin, float vMax, QColor frontColor, QColor backColor, QString newFillMode); + float vMin, float vMax, QString strOtherScaleType, QColor frontColor, QColor backColor, QString newFillMode); public: QString m_strUuid; diff --git a/logPlus/mycustomplot.cpp b/logPlus/mycustomplot.cpp index 816a93d..fcceb31 100644 --- a/logPlus/mycustomplot.cpp +++ b/logPlus/mycustomplot.cpp @@ -40,7 +40,7 @@ void MyCustomPlot::init(QString strName, QVector xx, QVector yy0 void MyCustomPlot::mousePressEvent(QMouseEvent *event) { - qDebug() << "mousePress"; + //qDebug() << "mousePress"; QCustomPlot::mousePressEvent(event); } diff --git a/logPlus/preqtablewidget.cpp b/logPlus/preqtablewidget.cpp index 65f92af..9405c4f 100644 --- a/logPlus/preqtablewidget.cpp +++ b/logPlus/preqtablewidget.cpp @@ -253,10 +253,11 @@ void PreQTableWidget::mouseReleaseEvent(QMouseEvent *event) // QList listMin; QList listMax; - QStringList strListOtherLine = getListLineName(formInfo->m_strLineName, listMin, listMax); + QStringList strListOtherScaleType; + QStringList strListOtherLine = getListLineName(formInfo->m_strLineName, listMin, listMax, strListOtherScaleType); //PropertyService()->initCurveProperty(formInfo->m_strSlfName, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName, formInfo->m_lineColor, formInfo->m_dWidth, strListOtherLine); - PropertyService()->initCurveProperty(formInfo, strListOtherLine, listMin, listMax); + PropertyService()->initCurveProperty(formInfo, strListOtherLine, listMin, listMax, strListOtherScaleType); //曲线置顶显示,激活可选 emit CallManage::getInstance()->sig_Raise(m_strUuid, formInfo->m_strSlfName, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName); @@ -264,7 +265,7 @@ void PreQTableWidget::mouseReleaseEvent(QMouseEvent *event) } } -QStringList PreQTableWidget::getListLineName(QString strLineName, QList &listMin, QList &listMax) +QStringList PreQTableWidget::getListLineName(QString strLineName, QList &listMin, QList &listMax, QStringList &strListOtherScaleType) { QStringList strListOtherLine; for(int i=0; i & strListOtherLine.push_back(strTmp); listMin.push_back(formInfo->m_vmin); listMax.push_back(formInfo->m_vmax); + strListOtherScaleType.push_back(formInfo->m_strScaleType); } } } diff --git a/logPlus/preqtablewidget.h b/logPlus/preqtablewidget.h index 5ffdfe8..86994de 100644 --- a/logPlus/preqtablewidget.h +++ b/logPlus/preqtablewidget.h @@ -38,7 +38,7 @@ public: //QStringList m_listLineName;//会漏掉第1条曲线,因为在track添加的 public: - QStringList getListLineName(QString strLineName, QList &listMin, QList &listMax); + QStringList getListLineName(QString strLineName, QList &listMin, QList &listMax, QStringList &strListOtherScaleType); }; diff --git a/logPlus/qmycustomplot.cpp b/logPlus/qmycustomplot.cpp index 689c596..85dbc76 100644 --- a/logPlus/qmycustomplot.cpp +++ b/logPlus/qmycustomplot.cpp @@ -44,8 +44,8 @@ QMyCustomPlot::QMyCustomPlot(QWidget *parent, QString strSlfName, QString strWel //岩性填充-不填充 connect(CallManage::getInstance(), SIGNAL(sig_ClearFillMode(QString, QString, QString, QString, QString)), this, SLOT(s_ClearFillMode(QString, QString, QString, QString, QString))); //岩性填充-填充 - connect(CallManage::getInstance(), SIGNAL(sig_ChangeFillMode(QString, QString, QString, QString, QString, QString, QString, QColor, QString, QString, float, float, QColor, QColor, QString)), - this, SLOT(s_ChangeFillMode(QString, QString, QString, QString, QString, QString, QString, QColor, QString, QString, float, float, QColor, QColor, QString))); + connect(CallManage::getInstance(), SIGNAL(sig_ChangeFillMode(QString, QString, QString, QString, QString, QString, QString, QColor, QString, QString, float, float, QString , QColor, QColor, QString)), + this, SLOT(s_ChangeFillMode(QString, QString, QString, QString, QString, QString, QString, QColor, QString, QString, float, float, QString, QColor, QColor, QString))); } @@ -56,7 +56,7 @@ void QMyCustomPlot::init(QString strName, QVector xx, QVector yy void QMyCustomPlot::mousePressEvent(QMouseEvent *event) { - qDebug() << "mousePress"; + //qDebug() << "mousePress"; QCustomPlot::mousePressEvent(event); } @@ -198,7 +198,7 @@ void QMyCustomPlot::s_ChangeLeftScale(QString strUuid, QString strSlfName, QStri //其他曲线 s_ChangeFillMode(m_strUuid, m_strSlfName, m_strWellName, m_strTrackName, m_strLineName, m_newFillType, m_newTargetLine, m_newColor, m_newLithosImage, m_newHeadFill, - newLeftScale, m_vMax, m_frontColor, m_backColor, m_newFillMode); + newLeftScale, m_vMax, m_strOtherScaleType, m_frontColor, m_backColor, m_newFillMode); } } @@ -225,7 +225,7 @@ void QMyCustomPlot::s_ChangeRightScale(QString strUuid, QString strSlfName, QStr //其他曲线 s_ChangeFillMode(m_strUuid, m_strSlfName, m_strWellName, m_strTrackName, m_strLineName, m_newFillType, m_newTargetLine, m_newColor, m_newLithosImage, m_newHeadFill, - m_vMin, newRightScale, m_frontColor, m_backColor, m_newFillMode); + m_vMin, newRightScale, m_strOtherScaleType, m_frontColor, m_backColor, m_newFillMode); } } @@ -259,9 +259,9 @@ void QMyCustomPlot::s_ChangeScaleType(QString strUuid, QString strSlfName, QStri m_newTargetLine == strLineName) { //其他曲线 - //s_ChangeFillMode(m_strSlfName, m_strWellName, m_strTrackName, m_strLineName, - // m_newFillType, m_newTargetLine, m_newColor, m_newLithosImage, m_newHeadFill, - // m_vMin, newRightScale, m_frontColor, m_backColor, m_newFillMode); + s_ChangeFillMode(m_strUuid, m_strSlfName, m_strWellName, m_strTrackName, m_strLineName, + m_newFillType, m_newTargetLine, m_newColor, m_newLithosImage, m_newHeadFill, + m_vMin, m_vMax, strScaleType, m_frontColor, m_backColor, m_newFillMode); } } @@ -339,7 +339,7 @@ void QMyCustomPlot::s_ClearFillMode(QString strUuid, QString strSlfName, QString //岩性填充-填充 void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString newFillType, QString newTargetLine, QColor newColor, QString newLithosImage, QString newHeadFill, - float vMin, float vMax, QColor frontColor, QColor backColor, QString newFillMode) + float vMin, float vMax, QString strOtherScaleType, QColor frontColor, QColor backColor, QString newFillMode) { if(m_strUuid == strUuid && @@ -356,6 +356,7 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin m_newHeadFill = newHeadFill; m_vMin = vMin; m_vMax = vMax; + m_strOtherScaleType = strOtherScaleType; m_frontColor = frontColor; m_backColor = backColor; m_newFillMode = newFillMode; @@ -428,15 +429,13 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin { if(newFillMode=="左填充") { -// if(m_strScaleType=="对数") -// { -// float iX1_Tmp=log(m_iX1); -// m_iX1 = iX1_Tmp; -// // - -// float iX2_Tmp=log(m_iX2); -// m_iX2 = iX2_Tmp; -// } + float iX1_Tmp=m_iX1; + float iX2_Tmp=m_iX2; + if(m_strScaleType=="对数") + { + iX1_Tmp=log(m_iX1); + iX2_Tmp=log(m_iX2); + } //其他曲线(左填充) CLogIO *logio=new CLogIO(); @@ -480,40 +479,39 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin { float x0=-(sdep+ rlev*i); float y0_old=val[i]; - float y0 = (m_iX2-m_iX1)*(val[i]-vMin)/(vMax-vMin) + m_iX1; + float y0 = (iX2_Tmp-iX1_Tmp)*(val[i]-vMin)/(vMax-vMin) + iX1_Tmp; //读取基线 float BaseY0=0; float BaseY0_Tmp=0; logio->ReadCurve(indexBaseCurv, 0-x0, 1, &BaseY0); -// if(m_strScaleType=="对数") -// { -// BaseY0_Tmp=log(BaseY0); -// BaseY0 = BaseY0_Tmp; -// } + if(m_strScaleType=="对数") + { + BaseY0_Tmp=log(BaseY0); + BaseY0 = BaseY0_Tmp; + } // if(i+1ReadCurve(indexBaseCurv, 0-x1, 1, &BaseY1); - -// if(m_strScaleType=="对数") -// { -// BaseY1_Tmp=log(BaseY1); -// BaseY1 = BaseY1_Tmp; -// } + if(m_strScaleType=="对数") + { + BaseY1_Tmp=log(BaseY1); + BaseY1 = BaseY1_Tmp; + } if(BaseY0<=y0 && BaseY1<=y1) { //基线在左,采用基线值 //y0=BaseY0; - y0_old = (BaseY0-m_iX1)/(m_iX2-m_iX1)*(vMax-vMin) + vMin; + y0_old = (BaseY0-iX1_Tmp)/(iX2_Tmp-iX1_Tmp)*(vMax-vMin) + vMin; // x.append(x0); y.append(y0_old); @@ -528,7 +526,7 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin { //基线起点在左,采用基线值 //y0=BaseY0; - y0_old = (BaseY0-m_iX1)/(m_iX2-m_iX1)*(vMax-vMin) + vMin; + y0_old = (BaseY0-iX1_Tmp)/(iX2_Tmp-iX1_Tmp)*(vMax-vMin) + vMin; // x.append(x0); y.append(y0_old); @@ -536,7 +534,7 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin //插值 float xNew=x0-rlev*(y0-BaseY0)/((BaseY1-y1)+(y0-BaseY0));//(BaseY1-y1); float yNew=(y0-y1)/(x0-x1)*(xNew-x1) + y1; - float yNew_Old=(yNew-m_iX1)/(m_iX2-m_iX1)*(vMax-vMin) + vMin; + float yNew_Old=(yNew-iX1_Tmp)/(iX2_Tmp-iX1_Tmp)*(vMax-vMin) + vMin; // x.append(xNew); y.append(yNew_Old); @@ -550,7 +548,7 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin //插值 float xNew=x0-rlev*(y0-BaseY0)/((BaseY1-y1)+(y0-BaseY0));//(BaseY1-y1); float yNew=(BaseY0-BaseY1)/(x0-x1)*(xNew-x1) + BaseY1; - float yNew_Old=(yNew-m_iX1)/(m_iX2-m_iX1)*(vMax-vMin) + vMin; + float yNew_Old=(yNew-iX1_Tmp)/(iX2_Tmp-iX1_Tmp)*(vMax-vMin) + vMin; // x.append(xNew); y.append(yNew_Old); @@ -563,15 +561,11 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin { //基线在左,采用基线值 //y0=BaseY0; - y0_old = (BaseY0-m_iX1)/(m_iX2-m_iX1)*(vMax-vMin) + vMin; + y0_old = (BaseY0-iX1_Tmp)/(iX2_Tmp-iX1_Tmp)*(vMax-vMin) + vMin; } x.append(x0); y.append(y0_old); } - - //newVal = (m_iX2-m_iX1)*(val[i]-vMin)/(vMax-vMin) + m_iX1; - //newVal = val[i]; - //y.append(newVal); } logio->CloseCurve(indexBaseCurv); delete logio; @@ -584,6 +578,14 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin } else if(newFillMode=="右填充") { + float iX1_Tmp=m_iX1; + float iX2_Tmp=m_iX2; + if(m_strScaleType=="对数") + { + iX1_Tmp=log(m_iX1); + iX2_Tmp=log(m_iX2); + } + //其他曲线(右填充) CLogIO *logio=new CLogIO(); logio->Open(strSlfName.toStdString().c_str(),CSlfIO::modeRead); @@ -626,20 +628,33 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin { float x0=-(sdep+ rlev*i); float y0_old=val[i]; - float y0 = (m_iX2-m_iX1)*(val[i]-vMin)/(vMax-vMin) + m_iX1; + float y0 = (iX2_Tmp-iX1_Tmp)*(val[i]-vMin)/(vMax-vMin) + iX1_Tmp; //读取基线 float BaseY0=0; + float BaseY0_Tmp=0; logio->ReadCurve(indexBaseCurv, 0-x0, 1, &BaseY0); + if(m_strScaleType=="对数") + { + BaseY0_Tmp=log(BaseY0); + BaseY0 = BaseY0_Tmp; + } + // if(i+1ReadCurve(indexBaseCurv, 0-x1, 1, &BaseY1); + if(m_strScaleType=="对数") + { + BaseY1_Tmp=log(BaseY1); + BaseY1 = BaseY1_Tmp; + } if(BaseY0<=y0 && BaseY1<=y1) { @@ -651,7 +666,7 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin { //基线在右,采用基线值 //y0=BaseY0; - y0_old = (BaseY0-m_iX1)/(m_iX2-m_iX1)*(vMax-vMin) + vMin; + y0_old = (BaseY0-iX1_Tmp)/(iX2_Tmp-iX1_Tmp)*(vMax-vMin) + vMin; // x.append(x0); y.append(y0_old); @@ -665,7 +680,7 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin //插值 float xNew=x0-rlev*(y0-BaseY0)/((BaseY1-y1)+(y0-BaseY0));//(BaseY1-y1); float yNew=(y0-y1)/(x0-x1)*(xNew-x1) + y1; - float yNew_Old=(yNew-m_iX1)/(m_iX2-m_iX1)*(vMax-vMin) + vMin; + float yNew_Old=(yNew-iX1_Tmp)/(iX2_Tmp-iX1_Tmp)*(vMax-vMin) + vMin; // x.append(xNew); y.append(yNew_Old); @@ -674,7 +689,7 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin { //基线在右,采用基线值 //y0=BaseY0; - y0_old = (BaseY0-m_iX1)/(m_iX2-m_iX1)*(vMax-vMin) + vMin; + y0_old = (BaseY0-iX1_Tmp)/(iX2_Tmp-iX1_Tmp)*(vMax-vMin) + vMin; // x.append(x0); y.append(y0_old); @@ -682,7 +697,7 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin //插值 float xNew=x0-rlev*(y0-BaseY0)/((BaseY1-y1)+(y0-BaseY0));//(BaseY1-y1); float yNew=(BaseY0-BaseY1)/(x0-x1)*(xNew-x1) + BaseY1; - float yNew_Old=(yNew-m_iX1)/(m_iX2-m_iX1)*(vMax-vMin) + vMin; + float yNew_Old=(yNew-iX1_Tmp)/(iX2_Tmp-iX1_Tmp)*(vMax-vMin) + vMin; // x.append(xNew); y.append(yNew_Old); @@ -695,15 +710,11 @@ void QMyCustomPlot::s_ChangeFillMode(QString strUuid, QString strSlfName, QStrin { //基线在右,采用基线值 //y0=BaseY0; - y0_old = (BaseY0-m_iX1)/(m_iX2-m_iX1)*(vMax-vMin) + vMin; + y0_old = (BaseY0-iX1_Tmp)/(iX2_Tmp-iX1_Tmp)*(vMax-vMin) + vMin; } x.append(x0); y.append(y0_old); } - - //newVal = (m_iX2-m_iX1)*(val[i]-vMin)/(vMax-vMin) + m_iX1; - //newVal = val[i]; - //y.append(newVal); } logio->CloseCurve(indexBaseCurv); delete logio; diff --git a/logPlus/qmycustomplot.h b/logPlus/qmycustomplot.h index 7396c48..696280d 100644 --- a/logPlus/qmycustomplot.h +++ b/logPlus/qmycustomplot.h @@ -37,7 +37,8 @@ public: QString m_newLithosImage; QString m_newHeadFill; float m_vMin; - float m_vMax; + float m_vMax; + QString m_strOtherScaleType; QString m_strScaleType="线性";//刻度类型(线性,对数) QColor m_frontColor;//岩性前景色 @@ -78,7 +79,7 @@ public slots: //岩性填充-填充 void s_ChangeFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString newFillType, QString newTargetLine, QColor newColor, QString newLithosImage, QString newHeadFill, - float vMin, float vMax, QColor frontColor, QColor backColor, QString newFillMode); + float vMin, float vMax, QString strOtherScaleType, QColor frontColor, QColor backColor, QString newFillMode); void onAddRect();