.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_reliability_sensitivity/sensitivity_analysis/plot_sensitivity_par_coo.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_reliability_sensitivity_sensitivity_analysis_plot_sensitivity_par_coo.py: Parallel coordinates graph as sensitivity tool ============================================== .. GENERATED FROM PYTHON SOURCE LINES 6-28 The parallel coordinates graph enables to visualize all the combinations of the input variables which lead to a specific range of the output variable. Let us consider a model :math:`f: \mathbb{R}^n \longrightarrow \mathbb{R}`, where :math:`f(\underline{X}) = Y`. The graph requires to have an input sample :math:`X_s` and an output sample :math:`Y_s`. The first figure draws such a graph: each column represents one component :math:`X_i` of the input vector :math:`\underline{X}`. The last column represents the scalar output variable :math:`Y`. For each point :math:`\underline{X}^j`, each component :math:`X_i^j` is noted on its respective axe and the last mark is the one which corresponds to the associated :math:`Y^j`. A line joins all the marks. Thus, each point of the sample corresponds to a particular line on the graph. The scale of the axes are quantile based: each axe runs between 0 and 1 and each value is represented by its quantile with respect to its marginal empirical distribution. It is interesting to select, among those lines, the ones which correspond to a specific range of the output variable. These particular lines are colored differently. This specific range is defined in the quantile based scale of :math:`Y` or in its specific scale. In that second case, the range is automatically converted into a quantile based scale range. .. GENERATED FROM PYTHON SOURCE LINES 30-36 .. code-block:: Python import openturns as ot import openturns.viewer as viewer from matplotlib import pylab as plt ot.Log.Show(ot.Log.NONE) .. GENERATED FROM PYTHON SOURCE LINES 37-38 Create data to visualize .. GENERATED FROM PYTHON SOURCE LINES 38-63 .. code-block:: Python # Create the model Y = x1^2 + x2 model = ot.SymbolicFunction(["x1", "x2"], ["x1^2+x2"]) # Create the input distribution and random vector X myCorMat = ot.CorrelationMatrix(2) myCorMat[0, 1] = -0.6 inputDist = ot.Normal([0.0, 0.0], myCorMat) inputDist.setDescription(["X1", "X2"]) inputVector = ot.RandomVector(inputDist) # Create the output random vector Y=model(X) output = ot.CompositeRandomVector(model, inputVector) # Generate the input sample N = 500 X = inputVector.getSample(N) # Evaluate the associated output sample Y = model(X) Y.setDescription("Y") print(Y.getMin(), Y.getMax(), Y.computeQuantilePerComponent(0.9)) .. rst-class:: sphx-glr-script-out .. code-block:: none [-2.24595] [11.4925] [2.95502] .. GENERATED FROM PYTHON SOURCE LINES 64-65 Example 1: value based scale to describe the Y range .. GENERATED FROM PYTHON SOURCE LINES 65-74 .. code-block:: Python minValue = 3.35 maxValue = 20.0 quantileScale = False graphCobweb = ot.VisualTest.DrawParallelCoordinates( X, Y, minValue, maxValue, "red", quantileScale ) graphCobweb.setLegendPosition("lower right") view = viewer.View(graphCobweb) .. image-sg:: /auto_reliability_sensitivity/sensitivity_analysis/images/sphx_glr_plot_sensitivity_par_coo_001.png :alt: Parallel coordinates - [Y] vs [X1,X2] :srcset: /auto_reliability_sensitivity/sensitivity_analysis/images/sphx_glr_plot_sensitivity_par_coo_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 75-76 Example 2: rank based scale to describe the Y range .. GENERATED FROM PYTHON SOURCE LINES 76-85 .. code-block:: Python minValue = 0.9 maxValue = 1.0 quantileScale = True graphCobweb = ot.VisualTest.DrawParallelCoordinates( X, Y, minValue, maxValue, "red", quantileScale ) graphCobweb.setLegendPosition("lower right") view = viewer.View(graphCobweb) plt.show() .. image-sg:: /auto_reliability_sensitivity/sensitivity_analysis/images/sphx_glr_plot_sensitivity_par_coo_002.png :alt: Parallel coordinates - [Y] vs [X1,X2] :srcset: /auto_reliability_sensitivity/sensitivity_analysis/images/sphx_glr_plot_sensitivity_par_coo_002.png :class: sphx-glr-single-img .. _sphx_glr_download_auto_reliability_sensitivity_sensitivity_analysis_plot_sensitivity_par_coo.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_sensitivity_par_coo.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_sensitivity_par_coo.py `