Commit Graph

387 Commits

Author SHA1 Message Date
Magne Sjaastad
001a7340cd Make sure curve is updated when a child object of a curve is modified
Appearance settings is a child object of a curve, and requires update of the curve object.
2023-11-27 13:14:16 +01:00
Magne Sjaastad
4b0f2b362e Add support for placing legend at several positions
Show legends on top of preview plot
2023-11-27 13:14:16 +01:00
Magne Sjaastad
7d8b947a71 Make sure default left and right axis always is used if available 2023-11-27 13:14:16 +01:00
Magne Sjaastad
8bc7562e9e clang-format improvements 2023-11-27 13:14:16 +01:00
Magne Sjaastad
678a368361 Refactor LayoutOptions to improve readability
* Make it possible to use designated initializer list
- remove default constructor
- move static member to outer scope

* Add helper function to add field on same row
2023-11-10 14:48:56 +01:00
Magne Sjaastad
9af9aa7e66 Append vector name if multiple cases are present 2023-11-09 14:30:26 +01:00
Magne Sjaastad
2069ad55cf Refactor RimSummaryAddressModifier
Use std::variant to wrap curve and ensemble curve set.
Move some code into RimSummaryAddressModifier
2023-11-06 10:20:22 +01:00
Magne Sjaastad
12f24af154 Remove obsolete source stepping code
After merging the cross plot with the summary plot, the sources stepping can be simplified. Remove obsolete sources stepping code, to prepare for other source stepping issues.
2023-11-06 10:20:22 +01:00
Magne Sjaastad
4ffd11da24 Use a time based summary plot as source for time axis linking
If a summary plot is created with a cross plot curve, the time axis object might not be configured. Always use a time based summary plot as source for linking of time axis.
2023-10-30 11:20:21 +01:00
Magne Sjaastad
184ed5fb65 Call zoomAlll when x-axis type changes
This will ensure that the x-axis range is reset when switching from a cross plot to time plot
2023-10-30 11:20:21 +01:00
Magne Sjaastad
12794f80f2 Area Fill: Fix are fill issue related to stacking of curves 2023-10-20 15:43:18 +02:00
Magne Sjaastad
6357844d5e Make sure Show ensemble curves works when multiple curves are selected 2023-10-20 13:56:11 +02:00
Magne Sjaastad
b6f2dbb915 Regression curve: Make sure source curve for regression always is created
The regression curve is using the curve object as data source for regression. Make sure that the source curve is always created, and set uncheck based on curve visibility.
2023-10-20 13:56:11 +02:00
Magne Sjaastad
bb3380b216 Show warning if no cross plot statistics curves can be computed. 2023-10-19 14:49:42 +02:00
Magne Sjaastad
c10d8561a3 Regression Curve: Remove unit text
As cross plot curves is supported, it will require a bit work to make the unit text correct in all cases. To avoid confusion, remove the unit text.
2023-10-19 14:49:42 +02:00
Magne Sjaastad
9a02958640 Regression Analysis: Remove inf/nan from source data
If inf/nan is present in the input data, the regression analysis is not working.
2023-10-19 14:49:42 +02:00
Kristian Bendiksen
ac3e1ea4cf #10536 Observed data: fix handling of data with error bars when importing
Observed summary data with error bar results have two addresses: one for the
data, and one for the error data. When creating the RimSummaryAddress objects
in the "Data Sources" tree the error data address would occasionally be used
instead of the data address (due to lack of sorting and filtering).

Plots created from the error RimSummaryAddress would display the error data twice
in the "Show Plot Data" view.

Fixed by filtering out the error addresses and improving the sorting criteria.

Fixes #10536.
2023-10-19 08:00:51 +02:00
Magne Sjaastad
09d6df74bf Hide x-axis group for decline curves 2023-10-19 07:50:02 +02:00
Magne Sjaastad
a027febc57 Remove confusing UI elements
- hide selection of data source, set either summary or ensemble based on curve used as source
- only show available statistics curves
2023-10-19 07:50:02 +02:00
Magne Sjaastad
2fe290bbce Regression Curve: Clear and hide regression curve if no source data is available 2023-10-19 07:50:02 +02:00
Magne Sjaastad
6858cfe3cf Performance: Update toolbar when required 2023-10-19 07:50:02 +02:00
Magne Sjaastad
76d1827742 Performance: Use curve with most addresses to define source stepping addresses
If we have many single curves in one plot, using addresses for all curves destroys performance. Make sure we only use addresses for the curve with most available addresses.
2023-10-13 08:08:35 +02:00
Magne Sjaastad
c34d123dee Call zoomAll when curve stacking is changed 2023-10-13 08:08:35 +02:00
Magne Sjaastad
a446f874cb Propagate updated object to onChildrenUpdated() 2023-10-13 08:08:35 +02:00
Magne Sjaastad
3b372109ec Only show cross plot group for cross plots 2023-10-13 08:08:35 +02:00
Magne Sjaastad
9537d8afc1 Use time steps from source summary curve 2023-10-12 11:00:42 +02:00
Magne Sjaastad
4a3cdc4e94 Avoid use of time_t when using sliders in GUI
* Avoid use of time_t when using sliders in GUI
Sliders use int as internal representation of values, and time_t can cause overflow
2023-10-12 10:02:58 +02:00
Magne Sjaastad
51fe80b897 Create cross plot menu from list of addresses in preferences 2023-10-09 13:28:36 +02:00
Magne Sjaastad
ececc3ae47 Add a proxy field Show Ensemble Curves
Create a proxy field to invert the logic in m_hideEnsembleCurves, and avoid adding obsolete field and conversion code in initAfterRead()
2023-10-09 13:28:36 +02:00
Magne Sjaastad
6e41ef8af9 Use vector instead of set to make to avoid sorting of quantities
The plot title for cross plots should use insertion order to make sure the title is displayed correctly
2023-10-09 13:28:36 +02:00
Magne Sjaastad
445672cbb2 Remove use of obsolete cross plot code
Remove obsolete summary cross plot classes and features
2023-10-05 07:47:47 +02:00
Magne Sjaastad
f1514f2f3a Fix regression introduced in https://github.com/OPM/ResInsight/pull/10680 2023-10-05 07:47:47 +02:00
Magne Sjaastad
b43e6e2e8a Guard null pointer use 2023-10-03 09:08:16 +02:00
Kristian Bendiksen
d177491843 #10648 Refactor summary reader: return std::vector<double> instead of taking ptr. 2023-10-02 09:16:52 +02:00
Magne Sjaastad
263e39b97b Add regression curves to ensemble statistics curves
* Add statistics enum
* Support ensemble statistics curve as data source for regression curves
* Allow creation of regression curves from statistics curves
* Make sure regression curves are updated after source curves
* Add state to use full or user defined range for regression source data
* Add isRegressionCurve
* Make sure source stepping works when regression curves are present
2023-09-30 11:07:23 +02:00
Magne Sjaastad
40803581dd Add line style and symbol type to ensemble curves 2023-09-28 14:33:05 +02:00
Magne Sjaastad
d34bb8a64c Improve ensemble cross plot statistics
* Support cross plot in plot templates
* Fix source stepping for cross plots
* Show cross plot data in "Show Plot Data"
* Use bin size and realization count when computing cross plot statistics
2023-09-28 14:32:32 +02:00
Magne Sjaastad
1b1984e216 Adjustments related to cross plot curves
* Verify vector size only for cross plot regression curves
* Add filtering on axis orientation
Makes it possible to show only horizontal or vertical axes when selecting an axis to attach a curve to.

* Send curvesChanged signal to trigger multi plot updates
This signal will trigger update of axes and set correct scaling factor

* Use object name for axis object
* Use address for both x and y axis to create ensemble curve name
* Fix bug for drag/drop of ensemble object into plot
* Add RiaSummaryCurveAddress to RiaSummaryCurveDefinition
* Remove SummaryDataSource
* Use childFieldChangedByUi to trigger update of curves and titles
2023-09-27 10:18:52 +02:00
Kristian Bendiksen
959c9d48fa #10649 ApplicationLibCode: Use collection.empty() instead of comparing with size 2023-09-27 10:16:37 +02:00
Magne Sjaastad
fb288f602d Support ensemble cross plot curves
* Remove use of RifEnsembleStatisticsReader
* Add RimSummaryAddressSelector and RimEnsembleCrossPlotStatisticsCase
* Remove RifEnsembleStatisticsReader
* Add support for cross plot x-axis selection
* Support source stepping on ensemble cross plot curves
* Add isXAxisSummaryVector
2023-09-25 12:45:47 +02:00
Magne Sjaastad
55687c4e3e Fix conversion into new cross plot structure
* Fix conversion into new cross plot structure
* Guard null pointer
* Create one multi plot per cross plot
2023-09-25 12:23:39 +02:00
Magne Sjaastad
4dd4ddc604 Add value range filtering to cross plot regression curves 2023-09-22 15:35:33 +02:00
Magne Sjaastad
146412c600 Add support for summary cross plot curves in summary plots 2023-09-20 13:58:22 +02:00
Magne Sjaastad
f07a5db559 Use post fix Y in RiaSummaryCurveDefinition 2023-09-20 09:58:48 +02:00
magnesj
0cd6cdd67e Fixes by clang-format 2023-09-20 09:58:48 +02:00
Magne Sjaastad
806f367566 Rename to SummaryCategory 2023-09-20 09:58:48 +02:00
Magne Sjaastad
e8aada80c5 Rename to plotAxis() 2023-09-20 09:58:48 +02:00
Kristian Bendiksen
1899184a41 Janitor: Remove deprecated method. 2023-09-11 17:39:38 +02:00
Magne Sjaastad
7a782cec66 RFT ensemble refactoring
* Compute average MD for intersections with a cell
* Create extractor for simulation well
* Remove rftReader from RifDataSourceForRftPlt
* Add function compute measured depth for RFT cells based on well path geometry
* Move statistics reader to well ensemble curve set
* Make sure both TVD and MD are cached if possible
* Add selection of grid case to use for estimation of measured depth (MD)
Add "Grid Model For MD" where the user can select a grid model. This grid model is propagated to a hidden field in EnsembleCurveSet. The grid model is then applied to RifReaderEnsembleStatisticsRft owned by EnsembleCurveSet
2023-09-04 10:08:30 +02:00
Magne Sjaastad
fe17b211b8 #10572 Summary Table: Crash when creating summary table if no case is present 2023-09-03 18:05:16 +02:00