diff --git a/include/roboptim/core/visualization/matplotlib-commands.hh b/include/roboptim/core/visualization/matplotlib-commands.hh index d79456b7c..361df17a8 100644 --- a/include/roboptim/core/visualization/matplotlib-commands.hh +++ b/include/roboptim/core/visualization/matplotlib-commands.hh @@ -79,16 +79,20 @@ namespace roboptim { public: /// \brief Make a command from a string. - explicit Command (const std::string& cmd); + explicit Command (const std::string& cmd, bool isPlot = false); ~Command (); /// \brief Retrieve the command as a string. const std::string& command () const; + const bool& isPlot() const; + protected: /// \brief Store matplotlib command. std::string command_; + /// \brief Whether the command is a plot or not + bool isPlot_; }; /// \brief Make a matplotlib comment. @@ -127,6 +131,7 @@ namespace roboptim ROBOPTIM_DLLAPI Command show (); ROBOPTIM_DLLAPI Command figure (); + ROBOPTIM_DLLAPI Command title (const char* argument); /// @} diff --git a/include/roboptim/core/visualization/matplotlib-function.hh b/include/roboptim/core/visualization/matplotlib-function.hh index d54ebde9d..1fb0b8b11 100644 --- a/include/roboptim/core/visualization/matplotlib-function.hh +++ b/include/roboptim/core/visualization/matplotlib-function.hh @@ -105,7 +105,7 @@ namespace roboptim % i).str () << std::endl; } - return Command (ss.str ()); + return Command (ss.str (), true); } /// @} diff --git a/include/roboptim/core/visualization/matplotlib.hh b/include/roboptim/core/visualization/matplotlib.hh index b922cfa20..cf0737ffa 100644 --- a/include/roboptim/core/visualization/matplotlib.hh +++ b/include/roboptim/core/visualization/matplotlib.hh @@ -21,6 +21,7 @@ # include # include +# include # include # define EIGEN_YES_I_KNOW_SPARE_MODULE_IS_NOT_STABLE_YET @@ -54,9 +55,9 @@ namespace roboptim /// \brief Instanciate a matplotlib without setting a term. /// \param with_header whether to print the header or not /// \return matplotlib instance - static Matplotlib make_matplotlib (bool with_header = true) + static Matplotlib make_matplotlib (std::pair multiplot = std::make_pair(1, 1), bool with_header = true) { - return Matplotlib (with_header); + return Matplotlib (multiplot, with_header); } /// \brief Add a new matplotlib command to the script. @@ -86,12 +87,18 @@ namespace roboptim /// \brief Whether to print the header (imports). bool withHeader () const; + /// \brief Plots layout. {1,1} if unspecified. + /// \return Reference to multiplot_ + std::pair& multiplot (); + + /// \brief Plots layout. {1,1} if unspecified. + std::pair multiplot () const; protected: /// \brief Default constructor can not be called directly. /// /// Use of the named constructor (see static methods) to /// instantiate this class. - explicit Matplotlib (bool with_header = true); + explicit Matplotlib (std::pair multiplot = std::make_pair(1, 1), bool with_header = true); /// \brief Reset imports to initial values. void resetImports (); @@ -105,6 +112,9 @@ namespace roboptim /// \brief Whether to export the header (imports etc.). bool withHeader_; + + /// \brief Whether to expect multiple plots or not. + std::pair multiplot_; }; /// Example shows simple matplotlib visualization. diff --git a/src/visualization/matplotlib-commands.cc b/src/visualization/matplotlib-commands.cc index ed0cc2831..a024b5b36 100644 --- a/src/visualization/matplotlib-commands.cc +++ b/src/visualization/matplotlib-commands.cc @@ -53,13 +53,20 @@ namespace roboptim return Import (from, packages); } - Command::Command (const std::string& cmd) - : command_ (cmd) + Command::Command (const std::string& cmd, bool isPlot) + : command_ (cmd), + isPlot_ (isPlot) {} Command::~Command () {} + const bool& + Command::isPlot () const + { + return isPlot_; + } + const std::string& Command::command () const { @@ -81,6 +88,14 @@ namespace roboptim return Command (BOOST_PP_STRINGIZE(VAR) " = plt." BOOST_PP_STRINGIZE(NAME) " ()"); \ } +# define MATPLOTLIB_UNARY_COMMAND_ARG(NAME, ARG) \ + Command \ + NAME (const char* ARG) \ + { \ + return Command ((boost::format("plt." BOOST_PP_STRINGIZE(NAME) "(\"%1%\")") \ + % ARG).str()); \ + } + Command comment (const char* content) { @@ -119,6 +134,7 @@ namespace roboptim MATPLOTLIB_UNARY_COMMAND (show) MATPLOTLIB_UNARY_COMMAND_VAR (fig, figure) + MATPLOTLIB_UNARY_COMMAND_ARG (title, argument) # undef MATPLOTLIB_UNARY_COMMAND diff --git a/src/visualization/matplotlib.cc b/src/visualization/matplotlib.cc index cff0d0932..64ae8c92b 100644 --- a/src/visualization/matplotlib.cc +++ b/src/visualization/matplotlib.cc @@ -28,8 +28,9 @@ namespace roboptim { namespace visualization { - Matplotlib::Matplotlib (bool with_header) - : withHeader_ (with_header) + Matplotlib::Matplotlib (std::pair multiplot, bool with_header) + : withHeader_ (with_header), + multiplot_ (multiplot) { resetImports (); } @@ -48,6 +49,16 @@ namespace roboptim return withHeader_; } + std::pair& Matplotlib::multiplot () + { + return multiplot_; + } + + std::pair Matplotlib::multiplot () const + { + return multiplot_; + } + void Matplotlib::resetImports () { @@ -73,6 +84,7 @@ namespace roboptim { typedef std::vector::const_iterator citer_imp_t; typedef std::vector::const_iterator citer_cmd_t; + int n = 1; // number of the plot if (withHeader_) { @@ -84,21 +96,39 @@ namespace roboptim o << std::endl; o << "fig = plt.figure ()" << std::endl; - o << "ax = plt.subplot(111)" << std::endl; + if (multiplot().first == 1 && multiplot().second == 1) + o << "ax = plt.subplot(111)" << std::endl; o << std::endl; } for (citer_cmd_t it = commands_.begin (); it != commands_.end (); ++it) - o << it->command () << std::endl; + { + if (!it->isPlot() || (multiplot().first == 1 && multiplot().second == 1)) + o << it->command () << std::endl; + else + { + assert (multiplot().first > 0 && multiplot().second > 0); + o << "ax" << n << " = plt.subplot(" << multiplot().first + << ", " << multiplot().second << ", " << n << ")" << std::endl; + o << it->command () << std::endl; + o << "box = ax" << n << ".get_position()" << std::endl; + o << "ax" << n << ".set_position([box.x0, box.y0, box.width * 0.8, box.height])" << std::endl; + o << "ax" << n << ".legend(loc='center left', bbox_to_anchor=(1, 0.5))" << std::endl; + ++n; + } + } o << std::endl; - if (withHeader_) + if (withHeader()) { - // Display legend on the right of the image - o << "box = ax.get_position()" << std::endl; - o << "ax.set_position([box.x0, box.y0, box.width * 0.8, box.height])" << std::endl; - o << "ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))" << std::endl; + if (multiplot().first == 1 && multiplot().second == 1) + { + // Display legend on the right of the image + o << "box = ax.get_position()" << std::endl; + o << "ax.set_position([box.x0, box.y0, box.width * 0.8, box.height])" << std::endl; + o << "ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))" << std::endl; + } // Show image o << "plt.show ()" << std::endl; diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index bf89ce24c..aa6a01a51 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -150,3 +150,4 @@ ROBOPTIM_CORE_TEST(visualization-gnuplot-function) ROBOPTIM_CORE_TEST(visualization-gnuplot-differentiable-function) ROBOPTIM_CORE_TEST(visualization-matplotlib-simple) ROBOPTIM_CORE_TEST(visualization-matplotlib-function) +ROBOPTIM_CORE_TEST(visualization-matplotlib-multiplot) diff --git a/tests/visualization-matplotlib-multiplot.cc b/tests/visualization-matplotlib-multiplot.cc new file mode 100644 index 000000000..8862fb4d6 --- /dev/null +++ b/tests/visualization-matplotlib-multiplot.cc @@ -0,0 +1,117 @@ +// Copyright (C) 2015 by Félix Darricau, AIST, CNRS, EPITA +// +// This file is part of the roboptim. +// +// roboptim is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// roboptim is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with roboptim. If not, see . + +#include "shared-tests/fixture.hh" + +#include + +#include + +#include +#include +#include + +using namespace roboptim; +using namespace roboptim::visualization; + + +// Define f(x) = x * x +struct Square : public Function +{ + explicit Square () + : Function (1, 1, "x * x") + { + } + + void impl_compute (result_ref result, + const_argument_ref argument) const + { + result[0] = argument[0] * argument[0]; + } +}; + +// Define a function that displays a circle. +struct Circle : public Function +{ + explicit Circle (double r = 1.) + : Function (1, 2, "{sin (x) * r; cos (x) * r}"), + r_ (r) + { + } + + void impl_compute (result_ref result, + const_argument_ref argument) const + { + result[0] = sin (argument[0]) * r_; + result[1] = cos (argument[0]) * r_; + } + + double r_; +}; + +// Define a function that displays a cubic and a quartic monomial. +struct Poly : public Function +{ + explicit Poly () + : Function (1, 2, "{x^3; x^4}") + { + } + + void impl_compute (result_ref result, + const_argument_ref argument) const + { + result[0] = argument[0] * argument[0] * argument[0]; + result[1] = result[0] * argument[0]; + } +}; + +BOOST_FIXTURE_TEST_SUITE (core, TestSuiteConfiguration) + +BOOST_AUTO_TEST_CASE (visualization_matplotlib_multiplot) +{ + boost::shared_ptr + output = retrievePattern ("visualization-matplotlib-multiplot"); + + using namespace roboptim::visualization::matplotlib; + Matplotlib matplotlib = Matplotlib::make_matplotlib (std::make_pair(2, 2)); + + Square square; + discreteInterval_t intervalS (-10., 10., 0.01); + + Circle circle; + discreteInterval_t intervalC (0., 2 * M_PI, 0.01); + + Poly poly; + discreteInterval_t intervalP (-1., 1., 0.01); + + (*output) + << (matplotlib + << plot (square, intervalS) + << title ("Such a beautiful square") // Beware, you should always call the + // title of your plot after the actual + // plot. That's how matplotlib works. + << plot (circle, intervalC) + << title ("Such a beautiful circle") + << plot (poly, intervalP) + << title ("Such beautiful monomials") + ); + + std::cout << output->str () << std::endl; + BOOST_CHECK (output->match_pattern ()); +} + +BOOST_AUTO_TEST_SUITE_END () diff --git a/tests/visualization-matplotlib-multiplot.stdout b/tests/visualization-matplotlib-multiplot.stdout new file mode 100644 index 000000000..4c04af1f1 --- /dev/null +++ b/tests/visualization-matplotlib-multiplot.stdout @@ -0,0 +1,35 @@ +#!/usr/bin/env python +# Generated by roboptim-core +import matplotlib.pyplot as plt +import numpy as np + +fig = plt.figure () + +ax1 = plt.subplot(2, 2, 1) +data = np.array ([(-10.00000000, 100.00000000), (-9.99000000, 99.80010000), (-9.98000000, 99.60040000), (-9.97000000, 99.40090000), (-9.96000000, 99.20160000), (-9.95000000, 99.00250000), (-9.94000000, 98.80360000), (-9.93000000, 98.60490000), (-9.92000000, 98.40640000), (-9.91000000, 98.20810000), (-9.90000000, 98.01000000), (-9.89000000, 97.81210000), (-9.88000000, 97.61440000), (-9.87000000, 97.41690000), (-9.86000000, 97.21960000), (-9.85000000, 97.02250000), (-9.84000000, 96.82560000), (-9.83000000, 96.62890000), (-9.82000000, 96.43240000), (-9.81000000, 96.23610000), (-9.80000000, 96.04000000), (-9.79000000, 95.84410000), (-9.78000000, 95.64840000), (-9.77000000, 95.45290000), (-9.76000000, 95.25760000), (-9.75000000, 95.06250000), (-9.74000000, 94.86760000), (-9.73000000, 94.67290000), (-9.72000000, 94.47840000), (-9.71000000, 94.28410000), (-9.70000000, 94.09000000), (-9.69000000, 93.89610000), (-9.68000000, 93.70240000), (-9.67000000, 93.50890000), (-9.66000000, 93.31560000), (-9.65000000, 93.12250000), (-9.64000000, 92.92960000), (-9.63000000, 92.73690000), (-9.62000000, 92.54440000), (-9.61000000, 92.35210000), (-9.60000000, 92.16000000), (-9.59000000, 91.96810000), (-9.58000000, 91.77640000), (-9.57000000, 91.58490000), (-9.56000000, 91.39360000), (-9.55000000, 91.20250000), (-9.54000000, 91.01160000), (-9.53000000, 90.82090000), (-9.52000000, 90.63040000), (-9.51000000, 90.44010000), (-9.50000000, 90.25000000), (-9.49000000, 90.06010000), (-9.48000000, 89.87040000), (-9.47000000, 89.68090000), (-9.46000000, 89.49160000), (-9.45000000, 89.30250000), (-9.44000000, 89.11360000), (-9.43000000, 88.92490000), (-9.42000000, 88.73640000), (-9.41000000, 88.54810000), (-9.40000000, 88.36000000), (-9.39000000, 88.17210000), (-9.38000000, 87.98440000), (-9.37000000, 87.79690000), (-9.36000000, 87.60960000), (-9.35000000, 87.42250000), (-9.34000000, 87.23560000), (-9.33000000, 87.04890000), (-9.32000000, 86.86240000), (-9.31000000, 86.67610000), (-9.30000000, 86.49000000), (-9.29000000, 86.30410000), (-9.28000000, 86.11840000), (-9.27000000, 85.93290000), (-9.26000000, 85.74760000), (-9.25000000, 85.56250000), (-9.24000000, 85.37760000), (-9.23000000, 85.19290000), (-9.22000000, 85.00840000), (-9.21000000, 84.82410000), (-9.20000000, 84.64000000), (-9.19000000, 84.45610000), (-9.18000000, 84.27240000), (-9.17000000, 84.08890000), (-9.16000000, 83.90560000), (-9.15000000, 83.72250000), (-9.14000000, 83.53960000), (-9.13000000, 83.35690000), (-9.12000000, 83.17440000), (-9.11000000, 82.99210000), (-9.10000000, 82.81000000), (-9.09000000, 82.62810000), (-9.08000000, 82.44640000), (-9.07000000, 82.26490000), (-9.06000000, 82.08360000), (-9.05000000, 81.90250000), (-9.04000000, 81.72160000), (-9.03000000, 81.54090000), (-9.02000000, 81.36040000), (-9.01000000, 81.18010000), (-9.00000000, 81.00000000), (-8.99000000, 80.82010000), (-8.98000000, 80.64040000), (-8.97000000, 80.46090000), (-8.96000000, 80.28160000), (-8.95000000, 80.10250000), (-8.94000000, 79.92360000), (-8.93000000, 79.74490000), (-8.92000000, 79.56640000), (-8.91000000, 79.38810000), (-8.90000000, 79.21000000), (-8.89000000, 79.03210000), (-8.88000000, 78.85440000), (-8.87000000, 78.67690000), (-8.86000000, 78.49960000), (-8.85000000, 78.32250000), (-8.84000000, 78.14560000), (-8.83000000, 77.96890000), (-8.82000000, 77.79240000), (-8.81000000, 77.61610000), (-8.80000000, 77.44000000), (-8.79000000, 77.26410000), (-8.78000000, 77.08840000), (-8.77000000, 76.91290000), (-8.76000000, 76.73760000), (-8.75000000, 76.56250000), (-8.74000000, 76.38760000), (-8.73000000, 76.21290000), (-8.72000000, 76.03840000), (-8.71000000, 75.86410000), (-8.70000000, 75.69000000), (-8.69000000, 75.51610000), (-8.68000000, 75.34240000), (-8.67000000, 75.16890000), (-8.66000000, 74.99560000), (-8.65000000, 74.82250000), (-8.64000000, 74.64960000), (-8.63000000, 74.47690000), (-8.62000000, 74.30440000), (-8.61000000, 74.13210000), (-8.60000000, 73.96000000), (-8.59000000, 73.78810000), (-8.58000000, 73.61640000), (-8.57000000, 73.44490000), (-8.56000000, 73.27360000), (-8.55000000, 73.10250000), (-8.54000000, 72.93160000), (-8.53000000, 72.76090000), (-8.52000000, 72.59040000), (-8.51000000, 72.42010000), (-8.50000000, 72.25000000), (-8.49000000, 72.08010000), (-8.48000000, 71.91040000), (-8.47000000, 71.74090000), (-8.46000000, 71.57160000), (-8.45000000, 71.40250000), (-8.44000000, 71.23360000), (-8.43000000, 71.06490000), (-8.42000000, 70.89640000), (-8.41000000, 70.72810000), (-8.40000000, 70.56000000), (-8.39000000, 70.39210000), (-8.38000000, 70.22440000), (-8.37000000, 70.05690000), (-8.36000000, 69.88960000), (-8.35000000, 69.72250000), (-8.34000000, 69.55560000), (-8.33000000, 69.38890000), (-8.32000000, 69.22240000), (-8.31000000, 69.05610000), (-8.30000000, 68.89000000), (-8.29000000, 68.72410000), (-8.28000000, 68.55840000), (-8.27000000, 68.39290000), (-8.26000000, 68.22760000), (-8.25000000, 68.06250000), (-8.24000000, 67.89760000), (-8.23000000, 67.73290000), (-8.22000000, 67.56840000), (-8.21000000, 67.40410000), (-8.20000000, 67.24000000), (-8.19000000, 67.07610000), (-8.18000000, 66.91240000), (-8.17000000, 66.74890000), (-8.16000000, 66.58560000), (-8.15000000, 66.42250000), (-8.14000000, 66.25960000), (-8.13000000, 66.09690000), (-8.12000000, 65.93440000), (-8.11000000, 65.77210000), (-8.10000000, 65.61000000), (-8.09000000, 65.44810000), (-8.08000000, 65.28640000), (-8.07000000, 65.12490000), (-8.06000000, 64.96360000), (-8.05000000, 64.80250000), (-8.04000000, 64.64160000), (-8.03000000, 64.48090000), (-8.02000000, 64.32040000), (-8.01000000, 64.16010000), (-8.00000000, 64.00000000), (-7.99000000, 63.84010000), (-7.98000000, 63.68040000), (-7.97000000, 63.52090000), (-7.96000000, 63.36160000), (-7.95000000, 63.20250000), (-7.94000000, 63.04360000), (-7.93000000, 62.88490000), (-7.92000000, 62.72640000), (-7.91000000, 62.56810000), (-7.90000000, 62.41000000), (-7.89000000, 62.25210000), (-7.88000000, 62.09440000), (-7.87000000, 61.93690000), (-7.86000000, 61.77960000), (-7.85000000, 61.62250000), (-7.84000000, 61.46560000), (-7.83000000, 61.30890000), (-7.82000000, 61.15240000), (-7.81000000, 60.99610000), (-7.80000000, 60.84000000), (-7.79000000, 60.68410000), (-7.78000000, 60.52840000), (-7.77000000, 60.37290000), (-7.76000000, 60.21760000), (-7.75000000, 60.06250000), (-7.74000000, 59.90760000), (-7.73000000, 59.75290000), (-7.72000000, 59.59840000), (-7.71000000, 59.44410000), (-7.70000000, 59.29000000), (-7.69000000, 59.13610000), (-7.68000000, 58.98240000), (-7.67000000, 58.82890000), (-7.66000000, 58.67560000), (-7.65000000, 58.52250000), (-7.64000000, 58.36960000), (-7.63000000, 58.21690000), (-7.62000000, 58.06440000), (-7.61000000, 57.91210000), (-7.60000000, 57.76000000), (-7.59000000, 57.60810000), (-7.58000000, 57.45640000), (-7.57000000, 57.30490000), (-7.56000000, 57.15360000), (-7.55000000, 57.00250000), (-7.54000000, 56.85160000), (-7.53000000, 56.70090000), (-7.52000000, 56.55040000), (-7.51000000, 56.40010000), (-7.50000000, 56.25000000), (-7.49000000, 56.10010000), (-7.48000000, 55.95040000), (-7.47000000, 55.80090000), (-7.46000000, 55.65160000), (-7.45000000, 55.50250000), (-7.44000000, 55.35360000), (-7.43000000, 55.20490000), (-7.42000000, 55.05640000), (-7.41000000, 54.90810000), (-7.40000000, 54.76000000), (-7.39000000, 54.61210000), (-7.38000000, 54.46440000), (-7.37000000, 54.31690000), (-7.36000000, 54.16960000), (-7.35000000, 54.02250000), (-7.34000000, 53.87560000), (-7.33000000, 53.72890000), (-7.32000000, 53.58240000), (-7.31000000, 53.43610000), (-7.30000000, 53.29000000), (-7.29000000, 53.14410000), (-7.28000000, 52.99840000), (-7.27000000, 52.85290000), (-7.26000000, 52.70760000), (-7.25000000, 52.56250000), (-7.24000000, 52.41760000), (-7.23000000, 52.27290000), (-7.22000000, 52.12840000), (-7.21000000, 51.98410000), (-7.20000000, 51.84000000), (-7.19000000, 51.69610000), (-7.18000000, 51.55240000), (-7.17000000, 51.40890000), (-7.16000000, 51.26560000), (-7.15000000, 51.12250000), (-7.14000000, 50.97960000), (-7.13000000, 50.83690000), (-7.12000000, 50.69440000), (-7.11000000, 50.55210000), (-7.10000000, 50.41000000), (-7.09000000, 50.26810000), (-7.08000000, 50.12640000), (-7.07000000, 49.98490000), (-7.06000000, 49.84360000), (-7.05000000, 49.70250000), (-7.04000000, 49.56160000), (-7.03000000, 49.42090000), (-7.02000000, 49.28040000), (-7.01000000, 49.14010000), (-7.00000000, 49.00000000), (-6.99000000, 48.86010000), (-6.98000000, 48.72040000), (-6.97000000, 48.58090000), (-6.96000000, 48.44160000), (-6.95000000, 48.30250000), (-6.94000000, 48.16360000), (-6.93000000, 48.02490000), (-6.92000000, 47.88640000), (-6.91000000, 47.74810000), (-6.90000000, 47.61000000), (-6.89000000, 47.47210000), (-6.88000000, 47.33440000), (-6.87000000, 47.19690000), (-6.86000000, 47.05960000), (-6.85000000, 46.92250000), (-6.84000000, 46.78560000), (-6.83000000, 46.64890000), (-6.82000000, 46.51240000), (-6.81000000, 46.37610000), (-6.80000000, 46.24000000), (-6.79000000, 46.10410000), (-6.78000000, 45.96840000), (-6.77000000, 45.83290000), (-6.76000000, 45.69760000), (-6.75000000, 45.56250000), (-6.74000000, 45.42760000), (-6.73000000, 45.29290000), (-6.72000000, 45.15840000), (-6.71000000, 45.02410000), (-6.70000000, 44.89000000), (-6.69000000, 44.75610000), (-6.68000000, 44.62240000), (-6.67000000, 44.48890000), (-6.66000000, 44.35560000), (-6.65000000, 44.22250000), (-6.64000000, 44.08960000), (-6.63000000, 43.95690000), (-6.62000000, 43.82440000), (-6.61000000, 43.69210000), (-6.60000000, 43.56000000), (-6.59000000, 43.42810000), (-6.58000000, 43.29640000), (-6.57000000, 43.16490000), (-6.56000000, 43.03360000), (-6.55000000, 42.90250000), (-6.54000000, 42.77160000), (-6.53000000, 42.64090000), (-6.52000000, 42.51040000), (-6.51000000, 42.38010000), (-6.50000000, 42.25000000), (-6.49000000, 42.12010000), (-6.48000000, 41.99040000), (-6.47000000, 41.86090000), (-6.46000000, 41.73160000), (-6.45000000, 41.60250000), (-6.44000000, 41.47360000), (-6.43000000, 41.34490000), (-6.42000000, 41.21640000), (-6.41000000, 41.08810000), (-6.40000000, 40.96000000), (-6.39000000, 40.83210000), (-6.38000000, 40.70440000), (-6.37000000, 40.57690000), (-6.36000000, 40.44960000), (-6.35000000, 40.32250000), (-6.34000000, 40.19560000), (-6.33000000, 40.06890000), (-6.32000000, 39.94240000), (-6.31000000, 39.81610000), (-6.30000000, 39.69000000), (-6.29000000, 39.56410000), (-6.28000000, 39.43840000), (-6.27000000, 39.31290000), (-6.26000000, 39.18760000), (-6.25000000, 39.06250000), (-6.24000000, 38.93760000), (-6.23000000, 38.81290000), (-6.22000000, 38.68840000), (-6.21000000, 38.56410000), (-6.20000000, 38.44000000), (-6.19000000, 38.31610000), (-6.18000000, 38.19240000), (-6.17000000, 38.06890000), (-6.16000000, 37.94560000), (-6.15000000, 37.82250000), (-6.14000000, 37.69960000), (-6.13000000, 37.57690000), (-6.12000000, 37.45440000), (-6.11000000, 37.33210000), (-6.10000000, 37.21000000), (-6.09000000, 37.08810000), (-6.08000000, 36.96640000), (-6.07000000, 36.84490000), (-6.06000000, 36.72360000), (-6.05000000, 36.60250000), (-6.04000000, 36.48160000), (-6.03000000, 36.36090000), (-6.02000000, 36.24040000), (-6.01000000, 36.12010000), (-6.00000000, 36.00000000), (-5.99000000, 35.88010000), (-5.98000000, 35.76040000), (-5.97000000, 35.64090000), (-5.96000000, 35.52160000), (-5.95000000, 35.40250000), (-5.94000000, 35.28360000), (-5.93000000, 35.16490000), (-5.92000000, 35.04640000), (-5.91000000, 34.92810000), (-5.90000000, 34.81000000), (-5.89000000, 34.69210000), (-5.88000000, 34.57440000), (-5.87000000, 34.45690000), (-5.86000000, 34.33960000), (-5.85000000, 34.22250000), (-5.84000000, 34.10560000), (-5.83000000, 33.98890000), (-5.82000000, 33.87240000), (-5.81000000, 33.75610000), (-5.80000000, 33.64000000), (-5.79000000, 33.52410000), (-5.78000000, 33.40840000), (-5.77000000, 33.29290000), (-5.76000000, 33.17760000), (-5.75000000, 33.06250000), (-5.74000000, 32.94760000), (-5.73000000, 32.83290000), (-5.72000000, 32.71840000), (-5.71000000, 32.60410000), (-5.70000000, 32.49000000), (-5.69000000, 32.37610000), (-5.68000000, 32.26240000), (-5.67000000, 32.14890000), (-5.66000000, 32.03560000), (-5.65000000, 31.92250000), (-5.64000000, 31.80960000), (-5.63000000, 31.69690000), (-5.62000000, 31.58440000), (-5.61000000, 31.47210000), (-5.60000000, 31.36000000), (-5.59000000, 31.24810000), (-5.58000000, 31.13640000), (-5.57000000, 31.02490000), (-5.56000000, 30.91360000), (-5.55000000, 30.80250000), (-5.54000000, 30.69160000), (-5.53000000, 30.58090000), (-5.52000000, 30.47040000), (-5.51000000, 30.36010000), (-5.50000000, 30.25000000), (-5.49000000, 30.14010000), (-5.48000000, 30.03040000), (-5.47000000, 29.92090000), (-5.46000000, 29.81160000), (-5.45000000, 29.70250000), (-5.44000000, 29.59360000), (-5.43000000, 29.48490000), (-5.42000000, 29.37640000), (-5.41000000, 29.26810000), (-5.40000000, 29.16000000), (-5.39000000, 29.05210000), (-5.38000000, 28.94440000), (-5.37000000, 28.83690000), (-5.36000000, 28.72960000), (-5.35000000, 28.62250000), (-5.34000000, 28.51560000), (-5.33000000, 28.40890000), (-5.32000000, 28.30240000), (-5.31000000, 28.19610000), (-5.30000000, 28.09000000), (-5.29000000, 27.98410000), (-5.28000000, 27.87840000), (-5.27000000, 27.77290000), (-5.26000000, 27.66760000), (-5.25000000, 27.56250000), (-5.24000000, 27.45760000), (-5.23000000, 27.35290000), (-5.22000000, 27.24840000), (-5.21000000, 27.14410000), (-5.20000000, 27.04000000), (-5.19000000, 26.93610000), (-5.18000000, 26.83240000), (-5.17000000, 26.72890000), (-5.16000000, 26.62560000), (-5.15000000, 26.52250000), (-5.14000000, 26.41960000), (-5.13000000, 26.31690000), (-5.12000000, 26.21440000), (-5.11000000, 26.11210000), (-5.10000000, 26.01000000), (-5.09000000, 25.90810000), (-5.08000000, 25.80640000), (-5.07000000, 25.70490000), (-5.06000000, 25.60360000), (-5.05000000, 25.50250000), (-5.04000000, 25.40160000), (-5.03000000, 25.30090000), (-5.02000000, 25.20040000), (-5.01000000, 25.10010000), (-5.00000000, 25.00000000), (-4.99000000, 24.90010000), (-4.98000000, 24.80040000), (-4.97000000, 24.70090000), (-4.96000000, 24.60160000), (-4.95000000, 24.50250000), (-4.94000000, 24.40360000), (-4.93000000, 24.30490000), (-4.92000000, 24.20640000), (-4.91000000, 24.10810000), (-4.90000000, 24.01000000), (-4.89000000, 23.91210000), (-4.88000000, 23.81440000), (-4.87000000, 23.71690000), (-4.86000000, 23.61960000), (-4.85000000, 23.52250000), (-4.84000000, 23.42560000), (-4.83000000, 23.32890000), (-4.82000000, 23.23240000), (-4.81000000, 23.13610000), (-4.80000000, 23.04000000), (-4.79000000, 22.94410000), (-4.78000000, 22.84840000), (-4.77000000, 22.75290000), (-4.76000000, 22.65760000), (-4.75000000, 22.56250000), (-4.74000000, 22.46760000), (-4.73000000, 22.37290000), (-4.72000000, 22.27840000), (-4.71000000, 22.18410000), (-4.70000000, 22.09000000), (-4.69000000, 21.99610000), (-4.68000000, 21.90240000), (-4.67000000, 21.80890000), (-4.66000000, 21.71560000), (-4.65000000, 21.62250000), (-4.64000000, 21.52960000), (-4.63000000, 21.43690000), (-4.62000000, 21.34440000), (-4.61000000, 21.25210000), (-4.60000000, 21.16000000), (-4.59000000, 21.06810000), (-4.58000000, 20.97640000), (-4.57000000, 20.88490000), (-4.56000000, 20.79360000), (-4.55000000, 20.70250000), (-4.54000000, 20.61160000), (-4.53000000, 20.52090000), (-4.52000000, 20.43040000), (-4.51000000, 20.34010000), (-4.50000000, 20.25000000), (-4.49000000, 20.16010000), (-4.48000000, 20.07040000), (-4.47000000, 19.98090000), (-4.46000000, 19.89160000), (-4.45000000, 19.80250000), (-4.44000000, 19.71360000), (-4.43000000, 19.62490000), (-4.42000000, 19.53640000), (-4.41000000, 19.44810000), (-4.40000000, 19.36000000), (-4.39000000, 19.27210000), (-4.38000000, 19.18440000), (-4.37000000, 19.09690000), (-4.36000000, 19.00960000), (-4.35000000, 18.92250000), (-4.34000000, 18.83560000), (-4.33000000, 18.74890000), (-4.32000000, 18.66240000), (-4.31000000, 18.57610000), (-4.30000000, 18.49000000), (-4.29000000, 18.40410000), (-4.28000000, 18.31840000), (-4.27000000, 18.23290000), (-4.26000000, 18.14760000), (-4.25000000, 18.06250000), (-4.24000000, 17.97760000), (-4.23000000, 17.89290000), (-4.22000000, 17.80840000), (-4.21000000, 17.72410000), (-4.20000000, 17.64000000), (-4.19000000, 17.55610000), (-4.18000000, 17.47240000), (-4.17000000, 17.38890000), (-4.16000000, 17.30560000), (-4.15000000, 17.22250000), (-4.14000000, 17.13960000), (-4.13000000, 17.05690000), (-4.12000000, 16.97440000), (-4.11000000, 16.89210000), (-4.10000000, 16.81000000), (-4.09000000, 16.72810000), (-4.08000000, 16.64640000), (-4.07000000, 16.56490000), (-4.06000000, 16.48360000), (-4.05000000, 16.40250000), (-4.04000000, 16.32160000), (-4.03000000, 16.24090000), (-4.02000000, 16.16040000), (-4.01000000, 16.08010000), (-4.00000000, 16.00000000), (-3.99000000, 15.92010000), (-3.98000000, 15.84040000), (-3.97000000, 15.76090000), (-3.96000000, 15.68160000), (-3.95000000, 15.60250000), (-3.94000000, 15.52360000), (-3.93000000, 15.44490000), (-3.92000000, 15.36640000), (-3.91000000, 15.28810000), (-3.90000000, 15.21000000), (-3.89000000, 15.13210000), (-3.88000000, 15.05440000), (-3.87000000, 14.97690000), (-3.86000000, 14.89960000), (-3.85000000, 14.82250000), (-3.84000000, 14.74560000), (-3.83000000, 14.66890000), (-3.82000000, 14.59240000), (-3.81000000, 14.51610000), (-3.80000000, 14.44000000), (-3.79000000, 14.36410000), (-3.78000000, 14.28840000), (-3.77000000, 14.21290000), (-3.76000000, 14.13760000), (-3.75000000, 14.06250000), (-3.74000000, 13.98760000), (-3.73000000, 13.91290000), (-3.72000000, 13.83840000), (-3.71000000, 13.76410000), (-3.70000000, 13.69000000), (-3.69000000, 13.61610000), (-3.68000000, 13.54240000), (-3.67000000, 13.46890000), (-3.66000000, 13.39560000), (-3.65000000, 13.32250000), (-3.64000000, 13.24960000), (-3.63000000, 13.17690000), (-3.62000000, 13.10440000), (-3.61000000, 13.03210000), (-3.60000000, 12.96000000), (-3.59000000, 12.88810000), (-3.58000000, 12.81640000), (-3.57000000, 12.74490000), (-3.56000000, 12.67360000), (-3.55000000, 12.60250000), (-3.54000000, 12.53160000), (-3.53000000, 12.46090000), (-3.52000000, 12.39040000), (-3.51000000, 12.32010000), (-3.50000000, 12.25000000), (-3.49000000, 12.18010000), (-3.48000000, 12.11040000), (-3.47000000, 12.04090000), (-3.46000000, 11.97160000), (-3.45000000, 11.90250000), (-3.44000000, 11.83360000), (-3.43000000, 11.76490000), (-3.42000000, 11.69640000), (-3.41000000, 11.62810000), (-3.40000000, 11.56000000), (-3.39000000, 11.49210000), (-3.38000000, 11.42440000), (-3.37000000, 11.35690000), (-3.36000000, 11.28960000), (-3.35000000, 11.22250000), (-3.34000000, 11.15560000), (-3.33000000, 11.08890000), (-3.32000000, 11.02240000), (-3.31000000, 10.95610000), (-3.30000000, 10.89000000), (-3.29000000, 10.82410000), (-3.28000000, 10.75840000), (-3.27000000, 10.69290000), (-3.26000000, 10.62760000), (-3.25000000, 10.56250000), (-3.24000000, 10.49760000), (-3.23000000, 10.43290000), (-3.22000000, 10.36840000), (-3.21000000, 10.30410000), (-3.20000000, 10.24000000), (-3.19000000, 10.17610000), (-3.18000000, 10.11240000), (-3.17000000, 10.04890000), (-3.16000000, 9.98560000), (-3.15000000, 9.92250000), (-3.14000000, 9.85960000), (-3.13000000, 9.79690000), (-3.12000000, 9.73440000), (-3.11000000, 9.67210000), (-3.10000000, 9.61000000), (-3.09000000, 9.54810000), (-3.08000000, 9.48640000), (-3.07000000, 9.42490000), (-3.06000000, 9.36360000), (-3.05000000, 9.30250000), (-3.04000000, 9.24160000), (-3.03000000, 9.18090000), (-3.02000000, 9.12040000), (-3.01000000, 9.06010000), (-3.00000000, 9.00000000), (-2.99000000, 8.94010000), (-2.98000000, 8.88040000), (-2.97000000, 8.82090000), (-2.96000000, 8.76160000), (-2.95000000, 8.70250000), (-2.94000000, 8.64360000), (-2.93000000, 8.58490000), (-2.92000000, 8.52640000), (-2.91000000, 8.46810000), (-2.90000000, 8.41000000), (-2.89000000, 8.35210000), (-2.88000000, 8.29440000), (-2.87000000, 8.23690000), (-2.86000000, 8.17960000), (-2.85000000, 8.12250000), (-2.84000000, 8.06560000), (-2.83000000, 8.00890000), (-2.82000000, 7.95240000), (-2.81000000, 7.89610000), (-2.80000000, 7.84000000), (-2.79000000, 7.78410000), (-2.78000000, 7.72840000), (-2.77000000, 7.67290000), (-2.76000000, 7.61760000), (-2.75000000, 7.56250000), (-2.74000000, 7.50760000), (-2.73000000, 7.45290000), (-2.72000000, 7.39840000), (-2.71000000, 7.34410000), (-2.70000000, 7.29000000), (-2.69000000, 7.23610000), (-2.68000000, 7.18240000), (-2.67000000, 7.12890000), (-2.66000000, 7.07560000), (-2.65000000, 7.02250000), (-2.64000000, 6.96960000), (-2.63000000, 6.91690000), (-2.62000000, 6.86440000), (-2.61000000, 6.81210000), (-2.60000000, 6.76000000), (-2.59000000, 6.70810000), (-2.58000000, 6.65640000), (-2.57000000, 6.60490000), (-2.56000000, 6.55360000), (-2.55000000, 6.50250000), (-2.54000000, 6.45160000), (-2.53000000, 6.40090000), (-2.52000000, 6.35040000), (-2.51000000, 6.30010000), (-2.50000000, 6.25000000), (-2.49000000, 6.20010000), (-2.48000000, 6.15040000), (-2.47000000, 6.10090000), (-2.46000000, 6.05160000), (-2.45000000, 6.00250000), (-2.44000000, 5.95360000), (-2.43000000, 5.90490000), (-2.42000000, 5.85640000), (-2.41000000, 5.80810000), (-2.40000000, 5.76000000), (-2.39000000, 5.71210000), (-2.38000000, 5.66440000), (-2.37000000, 5.61690000), (-2.36000000, 5.56960000), (-2.35000000, 5.52250000), (-2.34000000, 5.47560000), (-2.33000000, 5.42890000), (-2.32000000, 5.38240000), (-2.31000000, 5.33610000), (-2.30000000, 5.29000000), (-2.29000000, 5.24410000), (-2.28000000, 5.19840000), (-2.27000000, 5.15290000), (-2.26000000, 5.10760000), (-2.25000000, 5.06250000), (-2.24000000, 5.01760000), (-2.23000000, 4.97290000), (-2.22000000, 4.92840000), (-2.21000000, 4.88410000), (-2.20000000, 4.84000000), (-2.19000000, 4.79610000), (-2.18000000, 4.75240000), (-2.17000000, 4.70890000), (-2.16000000, 4.66560000), (-2.15000000, 4.62250000), (-2.14000000, 4.57960000), (-2.13000000, 4.53690000), (-2.12000000, 4.49440000), (-2.11000000, 4.45210000), (-2.10000000, 4.41000000), (-2.09000000, 4.36810000), (-2.08000000, 4.32640000), (-2.07000000, 4.28490000), (-2.06000000, 4.24360000), (-2.05000000, 4.20250000), (-2.04000000, 4.16160000), (-2.03000000, 4.12090000), (-2.02000000, 4.08040000), (-2.01000000, 4.04010000), (-2.00000000, 4.00000000), (-1.99000000, 3.96010000), (-1.98000000, 3.92040000), (-1.97000000, 3.88090000), (-1.96000000, 3.84160000), (-1.95000000, 3.80250000), (-1.94000000, 3.76360000), (-1.93000000, 3.72490000), (-1.92000000, 3.68640000), (-1.91000000, 3.64810000), (-1.90000000, 3.61000000), (-1.89000000, 3.57210000), (-1.88000000, 3.53440000), (-1.87000000, 3.49690000), (-1.86000000, 3.45960000), (-1.85000000, 3.42250000), (-1.84000000, 3.38560000), (-1.83000000, 3.34890000), (-1.82000000, 3.31240000), (-1.81000000, 3.27610000), (-1.80000000, 3.24000000), (-1.79000000, 3.20410000), (-1.78000000, 3.16840000), (-1.77000000, 3.13290000), (-1.76000000, 3.09760000), (-1.75000000, 3.06250000), (-1.74000000, 3.02760000), (-1.73000000, 2.99290000), (-1.72000000, 2.95840000), (-1.71000000, 2.92410000), (-1.70000000, 2.89000000), (-1.69000000, 2.85610000), (-1.68000000, 2.82240000), (-1.67000000, 2.78890000), (-1.66000000, 2.75560000), (-1.65000000, 2.72250000), (-1.64000000, 2.68960000), (-1.63000000, 2.65690000), (-1.62000000, 2.62440000), (-1.61000000, 2.59210000), (-1.60000000, 2.56000000), (-1.59000000, 2.52810000), (-1.58000000, 2.49640000), (-1.57000000, 2.46490000), (-1.56000000, 2.43360000), (-1.55000000, 2.40250000), (-1.54000000, 2.37160000), (-1.53000000, 2.34090000), (-1.52000000, 2.31040000), (-1.51000000, 2.28010000), (-1.50000000, 2.25000000), (-1.49000000, 2.22010000), (-1.48000000, 2.19040000), (-1.47000000, 2.16090000), (-1.46000000, 2.13160000), (-1.45000000, 2.10250000), (-1.44000000, 2.07360000), (-1.43000000, 2.04490000), (-1.42000000, 2.01640000), (-1.41000000, 1.98810000), (-1.40000000, 1.96000000), (-1.39000000, 1.93210000), (-1.38000000, 1.90440000), (-1.37000000, 1.87690000), (-1.36000000, 1.84960000), (-1.35000000, 1.82250000), (-1.34000000, 1.79560000), (-1.33000000, 1.76890000), (-1.32000000, 1.74240000), (-1.31000000, 1.71610000), (-1.30000000, 1.69000000), (-1.29000000, 1.66410000), (-1.28000000, 1.63840000), (-1.27000000, 1.61290000), (-1.26000000, 1.58760000), (-1.25000000, 1.56250000), (-1.24000000, 1.53760000), (-1.23000000, 1.51290000), (-1.22000000, 1.48840000), (-1.21000000, 1.46410000), (-1.20000000, 1.44000000), (-1.19000000, 1.41610000), (-1.18000000, 1.39240000), (-1.17000000, 1.36890000), (-1.16000000, 1.34560000), (-1.15000000, 1.32250000), (-1.14000000, 1.29960000), (-1.13000000, 1.27690000), (-1.12000000, 1.25440000), (-1.11000000, 1.23210000), (-1.10000000, 1.21000000), (-1.09000000, 1.18810000), (-1.08000000, 1.16640000), (-1.07000000, 1.14490000), (-1.06000000, 1.12360000), (-1.05000000, 1.10250000), (-1.04000000, 1.08160000), (-1.03000000, 1.06090000), (-1.02000000, 1.04040000), (-1.01000000, 1.02010000), (-1.00000000, 1.00000000), (-0.99000000, 0.98010000), (-0.98000000, 0.96040000), (-0.97000000, 0.94090000), (-0.96000000, 0.92160000), (-0.95000000, 0.90250000), (-0.94000000, 0.88360000), (-0.93000000, 0.86490000), (-0.92000000, 0.84640000), (-0.91000000, 0.82810000), (-0.90000000, 0.81000000), (-0.89000000, 0.79210000), (-0.88000000, 0.77440000), (-0.87000000, 0.75690000), (-0.86000000, 0.73960000), (-0.85000000, 0.72250000), (-0.84000000, 0.70560000), (-0.83000000, 0.68890000), (-0.82000000, 0.67240000), (-0.81000000, 0.65610000), (-0.80000000, 0.64000000), (-0.79000000, 0.62410000), (-0.78000000, 0.60840000), (-0.77000000, 0.59290000), (-0.76000000, 0.57760000), (-0.75000000, 0.56250000), (-0.74000000, 0.54760000), (-0.73000000, 0.53290000), (-0.72000000, 0.51840000), (-0.71000000, 0.50410000), (-0.70000000, 0.49000000), (-0.69000000, 0.47610000), (-0.68000000, 0.46240000), (-0.67000000, 0.44890000), (-0.66000000, 0.43560000), (-0.65000000, 0.42250000), (-0.64000000, 0.40960000), (-0.63000000, 0.39690000), (-0.62000000, 0.38440000), (-0.61000000, 0.37210000), (-0.60000000, 0.36000000), (-0.59000000, 0.34810000), (-0.58000000, 0.33640000), (-0.57000000, 0.32490000), (-0.56000000, 0.31360000), (-0.55000000, 0.30250000), (-0.54000000, 0.29160000), (-0.53000000, 0.28090000), (-0.52000000, 0.27040000), (-0.51000000, 0.26010000), (-0.50000000, 0.25000000), (-0.49000000, 0.24010000), (-0.48000000, 0.23040000), (-0.47000000, 0.22090000), (-0.46000000, 0.21160000), (-0.45000000, 0.20250000), (-0.44000000, 0.19360000), (-0.43000000, 0.18490000), (-0.42000000, 0.17640000), (-0.41000000, 0.16810000), (-0.40000000, 0.16000000), (-0.39000000, 0.15210000), (-0.38000000, 0.14440000), (-0.37000000, 0.13690000), (-0.36000000, 0.12960000), (-0.35000000, 0.12250000), (-0.34000000, 0.11560000), (-0.33000000, 0.10890000), (-0.32000000, 0.10240000), (-0.31000000, 0.09610000), (-0.30000000, 0.09000000), (-0.29000000, 0.08410000), (-0.28000000, 0.07840000), (-0.27000000, 0.07290000), (-0.26000000, 0.06760000), (-0.25000000, 0.06250000), (-0.24000000, 0.05760000), (-0.23000000, 0.05290000), (-0.22000000, 0.04840000), (-0.21000000, 0.04410000), (-0.20000000, 0.04000000), (-0.19000000, 0.03610000), (-0.18000000, 0.03240000), (-0.17000000, 0.02890000), (-0.16000000, 0.02560000), (-0.15000000, 0.02250000), (-0.14000000, 0.01960000), (-0.13000000, 0.01690000), (-0.12000000, 0.01440000), (-0.11000000, 0.01210000), (-0.10000000, 0.01000000), (-0.09000000, 0.00810000), (-0.08000000, 0.00640000), (-0.07000000, 0.00490000), (-0.06000000, 0.00360000), (-0.05000000, 0.00250000), (-0.04000000, 0.00160000), (-0.03000000, 0.00090000), (-0.02000000, 0.00040000), (-0.01000000, 0.00010000), (0.00000000, 0.00000000), (0.01000000, 0.00010000), (0.02000000, 0.00040000), (0.03000000, 0.00090000), (0.04000000, 0.00160000), (0.05000000, 0.00250000), (0.06000000, 0.00360000), (0.07000000, 0.00490000), (0.08000000, 0.00640000), (0.09000000, 0.00810000), (0.10000000, 0.01000000), (0.11000000, 0.01210000), (0.12000000, 0.01440000), (0.13000000, 0.01690000), (0.14000000, 0.01960000), (0.15000000, 0.02250000), (0.16000000, 0.02560000), (0.17000000, 0.02890000), (0.18000000, 0.03240000), (0.19000000, 0.03610000), (0.20000000, 0.04000000), (0.21000000, 0.04410000), (0.22000000, 0.04840000), (0.23000000, 0.05290000), (0.24000000, 0.05760000), (0.25000000, 0.06250000), (0.26000000, 0.06760000), (0.27000000, 0.07290000), (0.28000000, 0.07840000), (0.29000000, 0.08410000), (0.30000000, 0.09000000), (0.31000000, 0.09610000), (0.32000000, 0.10240000), (0.33000000, 0.10890000), (0.34000000, 0.11560000), (0.35000000, 0.12250000), (0.36000000, 0.12960000), (0.37000000, 0.13690000), (0.38000000, 0.14440000), (0.39000000, 0.15210000), (0.40000000, 0.16000000), (0.41000000, 0.16810000), (0.42000000, 0.17640000), (0.43000000, 0.18490000), (0.44000000, 0.19360000), (0.45000000, 0.20250000), (0.46000000, 0.21160000), (0.47000000, 0.22090000), (0.48000000, 0.23040000), (0.49000000, 0.24010000), (0.50000000, 0.25000000), (0.51000000, 0.26010000), (0.52000000, 0.27040000), (0.53000000, 0.28090000), (0.54000000, 0.29160000), (0.55000000, 0.30250000), (0.56000000, 0.31360000), (0.57000000, 0.32490000), (0.58000000, 0.33640000), (0.59000000, 0.34810000), (0.60000000, 0.36000000), (0.61000000, 0.37210000), (0.62000000, 0.38440000), (0.63000000, 0.39690000), (0.64000000, 0.40960000), (0.65000000, 0.42250000), (0.66000000, 0.43560000), (0.67000000, 0.44890000), (0.68000000, 0.46240000), (0.69000000, 0.47610000), (0.70000000, 0.49000000), (0.71000000, 0.50410000), (0.72000000, 0.51840000), (0.73000000, 0.53290000), (0.74000000, 0.54760000), (0.75000000, 0.56250000), (0.76000000, 0.57760000), (0.77000000, 0.59290000), (0.78000000, 0.60840000), (0.79000000, 0.62410000), (0.80000000, 0.64000000), (0.81000000, 0.65610000), (0.82000000, 0.67240000), (0.83000000, 0.68890000), (0.84000000, 0.70560000), (0.85000000, 0.72250000), (0.86000000, 0.73960000), (0.87000000, 0.75690000), (0.88000000, 0.77440000), (0.89000000, 0.79210000), (0.90000000, 0.81000000), (0.91000000, 0.82810000), (0.92000000, 0.84640000), (0.93000000, 0.86490000), (0.94000000, 0.88360000), (0.95000000, 0.90250000), (0.96000000, 0.92160000), (0.97000000, 0.94090000), (0.98000000, 0.96040000), (0.99000000, 0.98010000), (1.00000000, 1.00000000), (1.01000000, 1.02010000), (1.02000000, 1.04040000), (1.03000000, 1.06090000), (1.04000000, 1.08160000), (1.05000000, 1.10250000), (1.06000000, 1.12360000), (1.07000000, 1.14490000), (1.08000000, 1.16640000), (1.09000000, 1.18810000), (1.10000000, 1.21000000), (1.11000000, 1.23210000), (1.12000000, 1.25440000), (1.13000000, 1.27690000), (1.14000000, 1.29960000), (1.15000000, 1.32250000), (1.16000000, 1.34560000), (1.17000000, 1.36890000), (1.18000000, 1.39240000), (1.19000000, 1.41610000), (1.20000000, 1.44000000), (1.21000000, 1.46410000), (1.22000000, 1.48840000), (1.23000000, 1.51290000), (1.24000000, 1.53760000), (1.25000000, 1.56250000), (1.26000000, 1.58760000), (1.27000000, 1.61290000), (1.28000000, 1.63840000), (1.29000000, 1.66410000), (1.30000000, 1.69000000), (1.31000000, 1.71610000), (1.32000000, 1.74240000), (1.33000000, 1.76890000), (1.34000000, 1.79560000), (1.35000000, 1.82250000), (1.36000000, 1.84960000), (1.37000000, 1.87690000), (1.38000000, 1.90440000), (1.39000000, 1.93210000), (1.40000000, 1.96000000), (1.41000000, 1.98810000), (1.42000000, 2.01640000), (1.43000000, 2.04490000), (1.44000000, 2.07360000), (1.45000000, 2.10250000), (1.46000000, 2.13160000), (1.47000000, 2.16090000), (1.48000000, 2.19040000), (1.49000000, 2.22010000), (1.50000000, 2.25000000), (1.51000000, 2.28010000), (1.52000000, 2.31040000), (1.53000000, 2.34090000), (1.54000000, 2.37160000), (1.55000000, 2.40250000), (1.56000000, 2.43360000), (1.57000000, 2.46490000), (1.58000000, 2.49640000), (1.59000000, 2.52810000), (1.60000000, 2.56000000), (1.61000000, 2.59210000), (1.62000000, 2.62440000), (1.63000000, 2.65690000), (1.64000000, 2.68960000), (1.65000000, 2.72250000), (1.66000000, 2.75560000), (1.67000000, 2.78890000), (1.68000000, 2.82240000), (1.69000000, 2.85610000), (1.70000000, 2.89000000), (1.71000000, 2.92410000), (1.72000000, 2.95840000), (1.73000000, 2.99290000), (1.74000000, 3.02760000), (1.75000000, 3.06250000), (1.76000000, 3.09760000), (1.77000000, 3.13290000), (1.78000000, 3.16840000), (1.79000000, 3.20410000), (1.80000000, 3.24000000), (1.81000000, 3.27610000), (1.82000000, 3.31240000), (1.83000000, 3.34890000), (1.84000000, 3.38560000), (1.85000000, 3.42250000), (1.86000000, 3.45960000), (1.87000000, 3.49690000), (1.88000000, 3.53440000), (1.89000000, 3.57210000), (1.90000000, 3.61000000), (1.91000000, 3.64810000), (1.92000000, 3.68640000), (1.93000000, 3.72490000), (1.94000000, 3.76360000), (1.95000000, 3.80250000), (1.96000000, 3.84160000), (1.97000000, 3.88090000), (1.98000000, 3.92040000), (1.99000000, 3.96010000), (2.00000000, 4.00000000), (2.01000000, 4.04010000), (2.02000000, 4.08040000), (2.03000000, 4.12090000), (2.04000000, 4.16160000), (2.05000000, 4.20250000), (2.06000000, 4.24360000), (2.07000000, 4.28490000), (2.08000000, 4.32640000), (2.09000000, 4.36810000), (2.10000000, 4.41000000), (2.11000000, 4.45210000), (2.12000000, 4.49440000), (2.13000000, 4.53690000), (2.14000000, 4.57960000), (2.15000000, 4.62250000), (2.16000000, 4.66560000), (2.17000000, 4.70890000), (2.18000000, 4.75240000), (2.19000000, 4.79610000), (2.20000000, 4.84000000), (2.21000000, 4.88410000), (2.22000000, 4.92840000), (2.23000000, 4.97290000), (2.24000000, 5.01760000), (2.25000000, 5.06250000), (2.26000000, 5.10760000), (2.27000000, 5.15290000), (2.28000000, 5.19840000), (2.29000000, 5.24410000), (2.30000000, 5.29000000), (2.31000000, 5.33610000), (2.32000000, 5.38240000), (2.33000000, 5.42890000), (2.34000000, 5.47560000), (2.35000000, 5.52250000), (2.36000000, 5.56960000), (2.37000000, 5.61690000), (2.38000000, 5.66440000), (2.39000000, 5.71210000), (2.40000000, 5.76000000), (2.41000000, 5.80810000), (2.42000000, 5.85640000), (2.43000000, 5.90490000), (2.44000000, 5.95360000), (2.45000000, 6.00250000), (2.46000000, 6.05160000), (2.47000000, 6.10090000), (2.48000000, 6.15040000), (2.49000000, 6.20010000), (2.50000000, 6.25000000), (2.51000000, 6.30010000), (2.52000000, 6.35040000), (2.53000000, 6.40090000), (2.54000000, 6.45160000), (2.55000000, 6.50250000), (2.56000000, 6.55360000), (2.57000000, 6.60490000), (2.58000000, 6.65640000), (2.59000000, 6.70810000), (2.60000000, 6.76000000), (2.61000000, 6.81210000), (2.62000000, 6.86440000), (2.63000000, 6.91690000), (2.64000000, 6.96960000), (2.65000000, 7.02250000), (2.66000000, 7.07560000), (2.67000000, 7.12890000), (2.68000000, 7.18240000), (2.69000000, 7.23610000), (2.70000000, 7.29000000), (2.71000000, 7.34410000), (2.72000000, 7.39840000), (2.73000000, 7.45290000), (2.74000000, 7.50760000), (2.75000000, 7.56250000), (2.76000000, 7.61760000), (2.77000000, 7.67290000), (2.78000000, 7.72840000), (2.79000000, 7.78410000), (2.80000000, 7.84000000), (2.81000000, 7.89610000), (2.82000000, 7.95240000), (2.83000000, 8.00890000), (2.84000000, 8.06560000), (2.85000000, 8.12250000), (2.86000000, 8.17960000), (2.87000000, 8.23690000), (2.88000000, 8.29440000), (2.89000000, 8.35210000), (2.90000000, 8.41000000), (2.91000000, 8.46810000), (2.92000000, 8.52640000), (2.93000000, 8.58490000), (2.94000000, 8.64360000), (2.95000000, 8.70250000), (2.96000000, 8.76160000), (2.97000000, 8.82090000), (2.98000000, 8.88040000), (2.99000000, 8.94010000), (3.00000000, 9.00000000), (3.01000000, 9.06010000), (3.02000000, 9.12040000), (3.03000000, 9.18090000), (3.04000000, 9.24160000), (3.05000000, 9.30250000), (3.06000000, 9.36360000), (3.07000000, 9.42490000), (3.08000000, 9.48640000), (3.09000000, 9.54810000), (3.10000000, 9.61000000), (3.11000000, 9.67210000), (3.12000000, 9.73440000), (3.13000000, 9.79690000), (3.14000000, 9.85960000), (3.15000000, 9.92250000), (3.16000000, 9.98560000), (3.17000000, 10.04890000), (3.18000000, 10.11240000), (3.19000000, 10.17610000), (3.20000000, 10.24000000), (3.21000000, 10.30410000), (3.22000000, 10.36840000), (3.23000000, 10.43290000), (3.24000000, 10.49760000), (3.25000000, 10.56250000), (3.26000000, 10.62760000), (3.27000000, 10.69290000), (3.28000000, 10.75840000), (3.29000000, 10.82410000), (3.30000000, 10.89000000), (3.31000000, 10.95610000), (3.32000000, 11.02240000), (3.33000000, 11.08890000), (3.34000000, 11.15560000), (3.35000000, 11.22250000), (3.36000000, 11.28960000), (3.37000000, 11.35690000), (3.38000000, 11.42440000), (3.39000000, 11.49210000), (3.40000000, 11.56000000), (3.41000000, 11.62810000), (3.42000000, 11.69640000), (3.43000000, 11.76490000), (3.44000000, 11.83360000), (3.45000000, 11.90250000), (3.46000000, 11.97160000), (3.47000000, 12.04090000), (3.48000000, 12.11040000), (3.49000000, 12.18010000), (3.50000000, 12.25000000), (3.51000000, 12.32010000), (3.52000000, 12.39040000), (3.53000000, 12.46090000), (3.54000000, 12.53160000), (3.55000000, 12.60250000), (3.56000000, 12.67360000), (3.57000000, 12.74490000), (3.58000000, 12.81640000), (3.59000000, 12.88810000), (3.60000000, 12.96000000), (3.61000000, 13.03210000), (3.62000000, 13.10440000), (3.63000000, 13.17690000), (3.64000000, 13.24960000), (3.65000000, 13.32250000), (3.66000000, 13.39560000), (3.67000000, 13.46890000), (3.68000000, 13.54240000), (3.69000000, 13.61610000), (3.70000000, 13.69000000), (3.71000000, 13.76410000), (3.72000000, 13.83840000), (3.73000000, 13.91290000), (3.74000000, 13.98760000), (3.75000000, 14.06250000), (3.76000000, 14.13760000), (3.77000000, 14.21290000), (3.78000000, 14.28840000), (3.79000000, 14.36410000), (3.80000000, 14.44000000), (3.81000000, 14.51610000), (3.82000000, 14.59240000), (3.83000000, 14.66890000), (3.84000000, 14.74560000), (3.85000000, 14.82250000), (3.86000000, 14.89960000), (3.87000000, 14.97690000), (3.88000000, 15.05440000), (3.89000000, 15.13210000), (3.90000000, 15.21000000), (3.91000000, 15.28810000), (3.92000000, 15.36640000), (3.93000000, 15.44490000), (3.94000000, 15.52360000), (3.95000000, 15.60250000), (3.96000000, 15.68160000), (3.97000000, 15.76090000), (3.98000000, 15.84040000), (3.99000000, 15.92010000), (4.00000000, 16.00000000), (4.01000000, 16.08010000), (4.02000000, 16.16040000), (4.03000000, 16.24090000), (4.04000000, 16.32160000), (4.05000000, 16.40250000), (4.06000000, 16.48360000), (4.07000000, 16.56490000), (4.08000000, 16.64640000), (4.09000000, 16.72810000), (4.10000000, 16.81000000), (4.11000000, 16.89210000), (4.12000000, 16.97440000), (4.13000000, 17.05690000), (4.14000000, 17.13960000), (4.15000000, 17.22250000), (4.16000000, 17.30560000), (4.17000000, 17.38890000), (4.18000000, 17.47240000), (4.19000000, 17.55610000), (4.20000000, 17.64000000), (4.21000000, 17.72410000), (4.22000000, 17.80840000), (4.23000000, 17.89290000), (4.24000000, 17.97760000), (4.25000000, 18.06250000), (4.26000000, 18.14760000), (4.27000000, 18.23290000), (4.28000000, 18.31840000), (4.29000000, 18.40410000), (4.30000000, 18.49000000), (4.31000000, 18.57610000), (4.32000000, 18.66240000), (4.33000000, 18.74890000), (4.34000000, 18.83560000), (4.35000000, 18.92250000), (4.36000000, 19.00960000), (4.37000000, 19.09690000), (4.38000000, 19.18440000), (4.39000000, 19.27210000), (4.40000000, 19.36000000), (4.41000000, 19.44810000), (4.42000000, 19.53640000), (4.43000000, 19.62490000), (4.44000000, 19.71360000), (4.45000000, 19.80250000), (4.46000000, 19.89160000), (4.47000000, 19.98090000), (4.48000000, 20.07040000), (4.49000000, 20.16010000), (4.50000000, 20.25000000), (4.51000000, 20.34010000), (4.52000000, 20.43040000), (4.53000000, 20.52090000), (4.54000000, 20.61160000), (4.55000000, 20.70250000), (4.56000000, 20.79360000), (4.57000000, 20.88490000), (4.58000000, 20.97640000), (4.59000000, 21.06810000), (4.60000000, 21.16000000), (4.61000000, 21.25210000), (4.62000000, 21.34440000), (4.63000000, 21.43690000), (4.64000000, 21.52960000), (4.65000000, 21.62250000), (4.66000000, 21.71560000), (4.67000000, 21.80890000), (4.68000000, 21.90240000), (4.69000000, 21.99610000), (4.70000000, 22.09000000), (4.71000000, 22.18410000), (4.72000000, 22.27840000), (4.73000000, 22.37290000), (4.74000000, 22.46760000), (4.75000000, 22.56250000), (4.76000000, 22.65760000), (4.77000000, 22.75290000), (4.78000000, 22.84840000), (4.79000000, 22.94410000), (4.80000000, 23.04000000), (4.81000000, 23.13610000), (4.82000000, 23.23240000), (4.83000000, 23.32890000), (4.84000000, 23.42560000), (4.85000000, 23.52250000), (4.86000000, 23.61960000), (4.87000000, 23.71690000), (4.88000000, 23.81440000), (4.89000000, 23.91210000), (4.90000000, 24.01000000), (4.91000000, 24.10810000), (4.92000000, 24.20640000), (4.93000000, 24.30490000), (4.94000000, 24.40360000), (4.95000000, 24.50250000), (4.96000000, 24.60160000), (4.97000000, 24.70090000), (4.98000000, 24.80040000), (4.99000000, 24.90010000), (5.00000000, 25.00000000), (5.01000000, 25.10010000), (5.02000000, 25.20040000), (5.03000000, 25.30090000), (5.04000000, 25.40160000), (5.05000000, 25.50250000), (5.06000000, 25.60360000), (5.07000000, 25.70490000), (5.08000000, 25.80640000), (5.09000000, 25.90810000), (5.10000000, 26.01000000), (5.11000000, 26.11210000), (5.12000000, 26.21440000), (5.13000000, 26.31690000), (5.14000000, 26.41960000), (5.15000000, 26.52250000), (5.16000000, 26.62560000), (5.17000000, 26.72890000), (5.18000000, 26.83240000), (5.19000000, 26.93610000), (5.20000000, 27.04000000), (5.21000000, 27.14410000), (5.22000000, 27.24840000), (5.23000000, 27.35290000), (5.24000000, 27.45760000), (5.25000000, 27.56250000), (5.26000000, 27.66760000), (5.27000000, 27.77290000), (5.28000000, 27.87840000), (5.29000000, 27.98410000), (5.30000000, 28.09000000), (5.31000000, 28.19610000), (5.32000000, 28.30240000), (5.33000000, 28.40890000), (5.34000000, 28.51560000), (5.35000000, 28.62250000), (5.36000000, 28.72960000), (5.37000000, 28.83690000), (5.38000000, 28.94440000), (5.39000000, 29.05210000), (5.40000000, 29.16000000), (5.41000000, 29.26810000), (5.42000000, 29.37640000), (5.43000000, 29.48490000), (5.44000000, 29.59360000), (5.45000000, 29.70250000), (5.46000000, 29.81160000), (5.47000000, 29.92090000), (5.48000000, 30.03040000), (5.49000000, 30.14010000), (5.50000000, 30.25000000), (5.51000000, 30.36010000), (5.52000000, 30.47040000), (5.53000000, 30.58090000), (5.54000000, 30.69160000), (5.55000000, 30.80250000), (5.56000000, 30.91360000), (5.57000000, 31.02490000), (5.58000000, 31.13640000), (5.59000000, 31.24810000), (5.60000000, 31.36000000), (5.61000000, 31.47210000), (5.62000000, 31.58440000), (5.63000000, 31.69690000), (5.64000000, 31.80960000), (5.65000000, 31.92250000), (5.66000000, 32.03560000), (5.67000000, 32.14890000), (5.68000000, 32.26240000), (5.69000000, 32.37610000), (5.70000000, 32.49000000), (5.71000000, 32.60410000), (5.72000000, 32.71840000), (5.73000000, 32.83290000), (5.74000000, 32.94760000), (5.75000000, 33.06250000), (5.76000000, 33.17760000), (5.77000000, 33.29290000), (5.78000000, 33.40840000), (5.79000000, 33.52410000), (5.80000000, 33.64000000), (5.81000000, 33.75610000), (5.82000000, 33.87240000), (5.83000000, 33.98890000), (5.84000000, 34.10560000), (5.85000000, 34.22250000), (5.86000000, 34.33960000), (5.87000000, 34.45690000), (5.88000000, 34.57440000), (5.89000000, 34.69210000), (5.90000000, 34.81000000), (5.91000000, 34.92810000), (5.92000000, 35.04640000), (5.93000000, 35.16490000), (5.94000000, 35.28360000), (5.95000000, 35.40250000), (5.96000000, 35.52160000), (5.97000000, 35.64090000), (5.98000000, 35.76040000), (5.99000000, 35.88010000), (6.00000000, 36.00000000), (6.01000000, 36.12010000), (6.02000000, 36.24040000), (6.03000000, 36.36090000), (6.04000000, 36.48160000), (6.05000000, 36.60250000), (6.06000000, 36.72360000), (6.07000000, 36.84490000), (6.08000000, 36.96640000), (6.09000000, 37.08810000), (6.10000000, 37.21000000), (6.11000000, 37.33210000), (6.12000000, 37.45440000), (6.13000000, 37.57690000), (6.14000000, 37.69960000), (6.15000000, 37.82250000), (6.16000000, 37.94560000), (6.17000000, 38.06890000), (6.18000000, 38.19240000), (6.19000000, 38.31610000), (6.20000000, 38.44000000), (6.21000000, 38.56410000), (6.22000000, 38.68840000), (6.23000000, 38.81290000), (6.24000000, 38.93760000), (6.25000000, 39.06250000), (6.26000000, 39.18760000), (6.27000000, 39.31290000), (6.28000000, 39.43840000), (6.29000000, 39.56410000), (6.30000000, 39.69000000), (6.31000000, 39.81610000), (6.32000000, 39.94240000), (6.33000000, 40.06890000), (6.34000000, 40.19560000), (6.35000000, 40.32250000), (6.36000000, 40.44960000), (6.37000000, 40.57690000), (6.38000000, 40.70440000), (6.39000000, 40.83210000), (6.40000000, 40.96000000), (6.41000000, 41.08810000), (6.42000000, 41.21640000), (6.43000000, 41.34490000), (6.44000000, 41.47360000), (6.45000000, 41.60250000), (6.46000000, 41.73160000), (6.47000000, 41.86090000), (6.48000000, 41.99040000), (6.49000000, 42.12010000), (6.50000000, 42.25000000), (6.51000000, 42.38010000), (6.52000000, 42.51040000), (6.53000000, 42.64090000), (6.54000000, 42.77160000), (6.55000000, 42.90250000), (6.56000000, 43.03360000), (6.57000000, 43.16490000), (6.58000000, 43.29640000), (6.59000000, 43.42810000), (6.60000000, 43.56000000), (6.61000000, 43.69210000), (6.62000000, 43.82440000), (6.63000000, 43.95690000), (6.64000000, 44.08960000), (6.65000000, 44.22250000), (6.66000000, 44.35560000), (6.67000000, 44.48890000), (6.68000000, 44.62240000), (6.69000000, 44.75610000), (6.70000000, 44.89000000), (6.71000000, 45.02410000), (6.72000000, 45.15840000), (6.73000000, 45.29290000), (6.74000000, 45.42760000), (6.75000000, 45.56250000), (6.76000000, 45.69760000), (6.77000000, 45.83290000), (6.78000000, 45.96840000), (6.79000000, 46.10410000), (6.80000000, 46.24000000), (6.81000000, 46.37610000), (6.82000000, 46.51240000), (6.83000000, 46.64890000), (6.84000000, 46.78560000), (6.85000000, 46.92250000), (6.86000000, 47.05960000), (6.87000000, 47.19690000), (6.88000000, 47.33440000), (6.89000000, 47.47210000), (6.90000000, 47.61000000), (6.91000000, 47.74810000), (6.92000000, 47.88640000), (6.93000000, 48.02490000), (6.94000000, 48.16360000), (6.95000000, 48.30250000), (6.96000000, 48.44160000), (6.97000000, 48.58090000), (6.98000000, 48.72040000), (6.99000000, 48.86010000), (7.00000000, 49.00000000), (7.01000000, 49.14010000), (7.02000000, 49.28040000), (7.03000000, 49.42090000), (7.04000000, 49.56160000), (7.05000000, 49.70250000), (7.06000000, 49.84360000), (7.07000000, 49.98490000), (7.08000000, 50.12640000), (7.09000000, 50.26810000), (7.10000000, 50.41000000), (7.11000000, 50.55210000), (7.12000000, 50.69440000), (7.13000000, 50.83690000), (7.14000000, 50.97960000), (7.15000000, 51.12250000), (7.16000000, 51.26560000), (7.17000000, 51.40890000), (7.18000000, 51.55240000), (7.19000000, 51.69610000), (7.20000000, 51.84000000), (7.21000000, 51.98410000), (7.22000000, 52.12840000), (7.23000000, 52.27290000), (7.24000000, 52.41760000), (7.25000000, 52.56250000), (7.26000000, 52.70760000), (7.27000000, 52.85290000), (7.28000000, 52.99840000), (7.29000000, 53.14410000), (7.30000000, 53.29000000), (7.31000000, 53.43610000), (7.32000000, 53.58240000), (7.33000000, 53.72890000), (7.34000000, 53.87560000), (7.35000000, 54.02250000), (7.36000000, 54.16960000), (7.37000000, 54.31690000), (7.38000000, 54.46440000), (7.39000000, 54.61210000), (7.40000000, 54.76000000), (7.41000000, 54.90810000), (7.42000000, 55.05640000), (7.43000000, 55.20490000), (7.44000000, 55.35360000), (7.45000000, 55.50250000), (7.46000000, 55.65160000), (7.47000000, 55.80090000), (7.48000000, 55.95040000), (7.49000000, 56.10010000), (7.50000000, 56.25000000), (7.51000000, 56.40010000), (7.52000000, 56.55040000), (7.53000000, 56.70090000), (7.54000000, 56.85160000), (7.55000000, 57.00250000), (7.56000000, 57.15360000), (7.57000000, 57.30490000), (7.58000000, 57.45640000), (7.59000000, 57.60810000), (7.60000000, 57.76000000), (7.61000000, 57.91210000), (7.62000000, 58.06440000), (7.63000000, 58.21690000), (7.64000000, 58.36960000), (7.65000000, 58.52250000), (7.66000000, 58.67560000), (7.67000000, 58.82890000), (7.68000000, 58.98240000), (7.69000000, 59.13610000), (7.70000000, 59.29000000), (7.71000000, 59.44410000), (7.72000000, 59.59840000), (7.73000000, 59.75290000), (7.74000000, 59.90760000), (7.75000000, 60.06250000), (7.76000000, 60.21760000), (7.77000000, 60.37290000), (7.78000000, 60.52840000), (7.79000000, 60.68410000), (7.80000000, 60.84000000), (7.81000000, 60.99610000), (7.82000000, 61.15240000), (7.83000000, 61.30890000), (7.84000000, 61.46560000), (7.85000000, 61.62250000), (7.86000000, 61.77960000), (7.87000000, 61.93690000), (7.88000000, 62.09440000), (7.89000000, 62.25210000), (7.90000000, 62.41000000), (7.91000000, 62.56810000), (7.92000000, 62.72640000), (7.93000000, 62.88490000), (7.94000000, 63.04360000), (7.95000000, 63.20250000), (7.96000000, 63.36160000), (7.97000000, 63.52090000), (7.98000000, 63.68040000), (7.99000000, 63.84010000), (8.00000000, 64.00000000), (8.01000000, 64.16010000), (8.02000000, 64.32040000), (8.03000000, 64.48090000), (8.04000000, 64.64160000), (8.05000000, 64.80250000), (8.06000000, 64.96360000), (8.07000000, 65.12490000), (8.08000000, 65.28640000), (8.09000000, 65.44810000), (8.10000000, 65.61000000), (8.11000000, 65.77210000), (8.12000000, 65.93440000), (8.13000000, 66.09690000), (8.14000000, 66.25960000), (8.15000000, 66.42250000), (8.16000000, 66.58560000), (8.17000000, 66.74890000), (8.18000000, 66.91240000), (8.19000000, 67.07610000), (8.20000000, 67.24000000), (8.21000000, 67.40410000), (8.22000000, 67.56840000), (8.23000000, 67.73290000), (8.24000000, 67.89760000), (8.25000000, 68.06250000), (8.26000000, 68.22760000), (8.27000000, 68.39290000), (8.28000000, 68.55840000), (8.29000000, 68.72410000), (8.30000000, 68.89000000), (8.31000000, 69.05610000), (8.32000000, 69.22240000), (8.33000000, 69.38890000), (8.34000000, 69.55560000), (8.35000000, 69.72250000), (8.36000000, 69.88960000), (8.37000000, 70.05690000), (8.38000000, 70.22440000), (8.39000000, 70.39210000), (8.40000000, 70.56000000), (8.41000000, 70.72810000), (8.42000000, 70.89640000), (8.43000000, 71.06490000), (8.44000000, 71.23360000), (8.45000000, 71.40250000), (8.46000000, 71.57160000), (8.47000000, 71.74090000), (8.48000000, 71.91040000), (8.49000000, 72.08010000), (8.50000000, 72.25000000), (8.51000000, 72.42010000), (8.52000000, 72.59040000), (8.53000000, 72.76090000), (8.54000000, 72.93160000), (8.55000000, 73.10250000), (8.56000000, 73.27360000), (8.57000000, 73.44490000), (8.58000000, 73.61640000), (8.59000000, 73.78810000), (8.60000000, 73.96000000), (8.61000000, 74.13210000), (8.62000000, 74.30440000), (8.63000000, 74.47690000), (8.64000000, 74.64960000), (8.65000000, 74.82250000), (8.66000000, 74.99560000), (8.67000000, 75.16890000), (8.68000000, 75.34240000), (8.69000000, 75.51610000), (8.70000000, 75.69000000), (8.71000000, 75.86410000), (8.72000000, 76.03840000), (8.73000000, 76.21290000), (8.74000000, 76.38760000), (8.75000000, 76.56250000), (8.76000000, 76.73760000), (8.77000000, 76.91290000), (8.78000000, 77.08840000), (8.79000000, 77.26410000), (8.80000000, 77.44000000), (8.81000000, 77.61610000), (8.82000000, 77.79240000), (8.83000000, 77.96890000), (8.84000000, 78.14560000), (8.85000000, 78.32250000), (8.86000000, 78.49960000), (8.87000000, 78.67690000), (8.88000000, 78.85440000), (8.89000000, 79.03210000), (8.90000000, 79.21000000), (8.91000000, 79.38810000), (8.92000000, 79.56640000), (8.93000000, 79.74490000), (8.94000000, 79.92360000), (8.95000000, 80.10250000), (8.96000000, 80.28160000), (8.97000000, 80.46090000), (8.98000000, 80.64040000), (8.99000000, 80.82010000), (9.00000000, 81.00000000), (9.01000000, 81.18010000), (9.02000000, 81.36040000), (9.03000000, 81.54090000), (9.04000000, 81.72160000), (9.05000000, 81.90250000), (9.06000000, 82.08360000), (9.07000000, 82.26490000), (9.08000000, 82.44640000), (9.09000000, 82.62810000), (9.10000000, 82.81000000), (9.11000000, 82.99210000), (9.12000000, 83.17440000), (9.13000000, 83.35690000), (9.14000000, 83.53960000), (9.15000000, 83.72250000), (9.16000000, 83.90560000), (9.17000000, 84.08890000), (9.18000000, 84.27240000), (9.19000000, 84.45610000), (9.20000000, 84.64000000), (9.21000000, 84.82410000), (9.22000000, 85.00840000), (9.23000000, 85.19290000), (9.24000000, 85.37760000), (9.25000000, 85.56250000), (9.26000000, 85.74760000), (9.27000000, 85.93290000), (9.28000000, 86.11840000), (9.29000000, 86.30410000), (9.30000000, 86.49000000), (9.31000000, 86.67610000), (9.32000000, 86.86240000), (9.33000000, 87.04890000), (9.34000000, 87.23560000), (9.35000000, 87.42250000), (9.36000000, 87.60960000), (9.37000000, 87.79690000), (9.38000000, 87.98440000), (9.39000000, 88.17210000), (9.40000000, 88.36000000), (9.41000000, 88.54810000), (9.42000000, 88.73640000), (9.43000000, 88.92490000), (9.44000000, 89.11360000), (9.45000000, 89.30250000), (9.46000000, 89.49160000), (9.47000000, 89.68090000), (9.48000000, 89.87040000), (9.49000000, 90.06010000), (9.50000000, 90.25000000), (9.51000000, 90.44010000), (9.52000000, 90.63040000), (9.53000000, 90.82090000), (9.54000000, 91.01160000), (9.55000000, 91.20250000), (9.56000000, 91.39360000), (9.57000000, 91.58490000), (9.58000000, 91.77640000), (9.59000000, 91.96810000), (9.60000000, 92.16000000), (9.61000000, 92.35210000), (9.62000000, 92.54440000), (9.63000000, 92.73690000), (9.64000000, 92.92960000), (9.65000000, 93.12250000), (9.66000000, 93.31560000), (9.67000000, 93.50890000), (9.68000000, 93.70240000), (9.69000000, 93.89610000), (9.70000000, 94.09000000), (9.71000000, 94.28410000), (9.72000000, 94.47840000), (9.73000000, 94.67290000), (9.74000000, 94.86760000), (9.75000000, 95.06250000), (9.76000000, 95.25760000), (9.77000000, 95.45290000), (9.78000000, 95.64840000), (9.79000000, 95.84410000), (9.80000000, 96.04000000), (9.81000000, 96.23610000), (9.82000000, 96.43240000), (9.83000000, 96.62890000), (9.84000000, 96.82560000), (9.85000000, 97.02250000), (9.86000000, 97.21960000), (9.87000000, 97.41690000), (9.88000000, 97.61440000), (9.89000000, 97.81210000), (9.90000000, 98.01000000), (9.91000000, 98.20810000), (9.92000000, 98.40640000), (9.93000000, 98.60490000), (9.94000000, 98.80360000), (9.95000000, 99.00250000), (9.96000000, 99.20160000), (9.97000000, 99.40090000), (9.98000000, 99.60040000), (9.99000000, 99.80010000), (10.00000000, 100.00000000), ]) +plt.plot (data[:,0], data[:,1], label="x * x") + +box = ax1.get_position() +ax1.set_position([box.x0, box.y0, box.width * 0.8, box.height]) +ax1.legend(loc='center left', bbox_to_anchor=(1, 0.5)) +plt.title("Such a beautiful square") +ax2 = plt.subplot(2, 2, 2) +data = np.array ([(0.00000000, 0.00000000, 1.00000000), (0.01000000, 0.00999983, 0.99995000), (0.02000000, 0.01999867, 0.99980001), (0.03000000, 0.02999550, 0.99955003), (0.04000000, 0.03998933, 0.99920011), (0.05000000, 0.04997917, 0.99875026), (0.06000000, 0.05996401, 0.99820054), (0.07000000, 0.06994285, 0.99755100), (0.08000000, 0.07991469, 0.99680171), (0.09000000, 0.08987855, 0.99595273), (0.10000000, 0.09983342, 0.99500417), (0.11000000, 0.10977830, 0.99395610), (0.12000000, 0.11971221, 0.99280864), (0.13000000, 0.12963414, 0.99156189), (0.14000000, 0.13954311, 0.99021600), (0.15000000, 0.14943813, 0.98877108), (0.16000000, 0.15931821, 0.98722728), (0.17000000, 0.16918235, 0.98558477), (0.18000000, 0.17902957, 0.98384369), (0.19000000, 0.18885889, 0.98200424), (0.20000000, 0.19866933, 0.98006658), (0.21000000, 0.20845990, 0.97803091), (0.22000000, 0.21822962, 0.97589745), (0.23000000, 0.22797752, 0.97366640), (0.24000000, 0.23770263, 0.97133797), (0.25000000, 0.24740396, 0.96891242), (0.26000000, 0.25708055, 0.96638998), (0.27000000, 0.26673144, 0.96377090), (0.28000000, 0.27635565, 0.96105544), (0.29000000, 0.28595223, 0.95824388), (0.30000000, 0.29552021, 0.95533649), (0.31000000, 0.30505864, 0.95233357), (0.32000000, 0.31456656, 0.94923542), (0.33000000, 0.32404303, 0.94604234), (0.34000000, 0.33348709, 0.94275467), (0.35000000, 0.34289781, 0.93937271), (0.36000000, 0.35227423, 0.93589682), (0.37000000, 0.36161543, 0.93232735), (0.38000000, 0.37092047, 0.92866464), (0.39000000, 0.38018842, 0.92490906), (0.40000000, 0.38941834, 0.92106099), (0.41000000, 0.39860933, 0.91712082), (0.42000000, 0.40776045, 0.91308894), (0.43000000, 0.41687080, 0.90896575), (0.44000000, 0.42593947, 0.90475166), (0.45000000, 0.43496553, 0.90044710), (0.46000000, 0.44394811, 0.89605250), (0.47000000, 0.45288629, 0.89156829), (0.48000000, 0.46177918, 0.88699492), (0.49000000, 0.47062589, 0.88233286), (0.50000000, 0.47942554, 0.87758256), (0.51000000, 0.48817725, 0.87274451), (0.52000000, 0.49688014, 0.86781918), (0.53000000, 0.50553334, 0.86280707), (0.54000000, 0.51413599, 0.85770868), (0.55000000, 0.52268723, 0.85252452), (0.56000000, 0.53118620, 0.84725511), (0.57000000, 0.53963205, 0.84190098), (0.58000000, 0.54802394, 0.83646265), (0.59000000, 0.55636102, 0.83094068), (0.60000000, 0.56464247, 0.82533561), (0.61000000, 0.57286746, 0.81964802), (0.62000000, 0.58103516, 0.81387846), (0.63000000, 0.58914476, 0.80802751), (0.64000000, 0.59719544, 0.80209576), (0.65000000, 0.60518641, 0.79608380), (0.66000000, 0.61311685, 0.78999223), (0.67000000, 0.62098599, 0.78382167), (0.68000000, 0.62879302, 0.77757272), (0.69000000, 0.63653718, 0.77124601), (0.70000000, 0.64421769, 0.76484219), (0.71000000, 0.65183377, 0.75836188), (0.72000000, 0.65938467, 0.75180573), (0.73000000, 0.66686964, 0.74517440), (0.74000000, 0.67428791, 0.73846856), (0.75000000, 0.68163876, 0.73168887), (0.76000000, 0.68892145, 0.72483601), (0.77000000, 0.69613524, 0.71791067), (0.78000000, 0.70327942, 0.71091354), (0.79000000, 0.71035327, 0.70384532), (0.80000000, 0.71735609, 0.69670671), (0.81000000, 0.72428717, 0.68949843), (0.82000000, 0.73114583, 0.68222121), (0.83000000, 0.73793137, 0.67487576), (0.84000000, 0.74464312, 0.66746283), (0.85000000, 0.75128041, 0.65998315), (0.86000000, 0.75784256, 0.65243747), (0.87000000, 0.76432894, 0.64482655), (0.88000000, 0.77073888, 0.63715114), (0.89000000, 0.77707175, 0.62941203), (0.90000000, 0.78332691, 0.62160997), (0.91000000, 0.78950374, 0.61374575), (0.92000000, 0.79560162, 0.60582016), (0.93000000, 0.80161994, 0.59783398), (0.94000000, 0.80755810, 0.58978803), (0.95000000, 0.81341550, 0.58168309), (0.96000000, 0.81919157, 0.57351999), (0.97000000, 0.82488571, 0.56529953), (0.98000000, 0.83049737, 0.55702255), (0.99000000, 0.83602598, 0.54868986), (1.00000000, 0.84147098, 0.54030231), (1.01000000, 0.84683184, 0.53186072), (1.02000000, 0.85210802, 0.52336595), (1.03000000, 0.85729899, 0.51481884), (1.04000000, 0.86240423, 0.50622026), (1.05000000, 0.86742323, 0.49757105), (1.06000000, 0.87235548, 0.48887208), (1.07000000, 0.87720050, 0.48012423), (1.08000000, 0.88195781, 0.47132836), (1.09000000, 0.88662691, 0.46248537), (1.10000000, 0.89120736, 0.45359612), (1.11000000, 0.89569869, 0.44466152), (1.12000000, 0.90010044, 0.43568245), (1.13000000, 0.90441219, 0.42665981), (1.14000000, 0.90863350, 0.41759450), (1.15000000, 0.91276394, 0.40848744), (1.16000000, 0.91680311, 0.39933953), (1.17000000, 0.92075060, 0.39015168), (1.18000000, 0.92460601, 0.38092482), (1.19000000, 0.92836897, 0.37165987), (1.20000000, 0.93203909, 0.36235775), (1.21000000, 0.93561600, 0.35301940), (1.22000000, 0.93909936, 0.34364575), (1.23000000, 0.94248880, 0.33423773), (1.24000000, 0.94578400, 0.32479628), (1.25000000, 0.94898462, 0.31532236), (1.26000000, 0.95209034, 0.30581691), (1.27000000, 0.95510086, 0.29628087), (1.28000000, 0.95801586, 0.28671521), (1.29000000, 0.96083506, 0.27712088), (1.30000000, 0.96355819, 0.26749883), (1.31000000, 0.96618495, 0.25785003), (1.32000000, 0.96871510, 0.24817545), (1.33000000, 0.97114838, 0.23847605), (1.34000000, 0.97348454, 0.22875281), (1.35000000, 0.97572336, 0.21900669), (1.36000000, 0.97786460, 0.20923867), (1.37000000, 0.97990806, 0.19944972), (1.38000000, 0.98185353, 0.18964083), (1.39000000, 0.98370081, 0.17981298), (1.40000000, 0.98544973, 0.16996714), (1.41000000, 0.98710010, 0.16010431), (1.42000000, 0.98865176, 0.15022547), (1.43000000, 0.99010456, 0.14033161), (1.44000000, 0.99145835, 0.13042371), (1.45000000, 0.99271299, 0.12050277), (1.46000000, 0.99386836, 0.11056978), (1.47000000, 0.99492435, 0.10062573), (1.48000000, 0.99588084, 0.09067162), (1.49000000, 0.99673775, 0.08070845), (1.50000000, 0.99749499, 0.07073720), (1.51000000, 0.99815247, 0.06075888), (1.52000000, 0.99871014, 0.05077448), (1.53000000, 0.99916795, 0.04078501), (1.54000000, 0.99952583, 0.03079146), (1.55000000, 0.99978376, 0.02079483), (1.56000000, 0.99994172, 0.01079612), (1.57000000, 0.99999968, 0.00079633), (1.58000000, 0.99995765, -0.00920354), (1.59000000, 0.99981562, -0.01920249), (1.60000000, 0.99957360, -0.02919952), (1.61000000, 0.99923163, -0.03919363), (1.62000000, 0.99878974, -0.04918382), (1.63000000, 0.99824797, -0.05916909), (1.64000000, 0.99760638, -0.06914845), (1.65000000, 0.99686503, -0.07912089), (1.66000000, 0.99602399, -0.08908542), (1.67000000, 0.99508335, -0.09904104), (1.68000000, 0.99404320, -0.10898675), (1.69000000, 0.99290365, -0.11892157), (1.70000000, 0.99166481, -0.12884449), (1.71000000, 0.99032680, -0.13875453), (1.72000000, 0.98888977, -0.14865070), (1.73000000, 0.98735384, -0.15853200), (1.74000000, 0.98571918, -0.16839745), (1.75000000, 0.98398595, -0.17824606), (1.76000000, 0.98215432, -0.18807684), (1.77000000, 0.98022447, -0.19788881), (1.78000000, 0.97819661, -0.20768100), (1.79000000, 0.97607092, -0.21745242), (1.80000000, 0.97384763, -0.22720209), (1.81000000, 0.97152696, -0.23692905), (1.82000000, 0.96910913, -0.24663231), (1.83000000, 0.96659439, -0.25631091), (1.84000000, 0.96398300, -0.26596388), (1.85000000, 0.96127520, -0.27559025), (1.86000000, 0.95847128, -0.28518906), (1.87000000, 0.95557152, -0.29475935), (1.88000000, 0.95257619, -0.30430017), (1.89000000, 0.94948561, -0.31381056), (1.90000000, 0.94630009, -0.32328957), (1.91000000, 0.94301993, -0.33273625), (1.92000000, 0.93964547, -0.34214965), (1.93000000, 0.93617705, -0.35152884), (1.94000000, 0.93261501, -0.36087288), (1.95000000, 0.92895972, -0.37018083), (1.96000000, 0.92521152, -0.37945176), (1.97000000, 0.92137081, -0.38868475), (1.98000000, 0.91743796, -0.39787887), (1.99000000, 0.91341336, -0.40703321), (2.00000000, 0.90929743, -0.41614684), (2.01000000, 0.90509056, -0.42521885), (2.02000000, 0.90079319, -0.43424835), (2.03000000, 0.89640574, -0.44323442), (2.04000000, 0.89192865, -0.45217616), (2.05000000, 0.88736237, -0.46107269), (2.06000000, 0.88270735, -0.46992311), (2.07000000, 0.87796406, -0.47872654), (2.08000000, 0.87313298, -0.48748210), (2.09000000, 0.86821458, -0.49618891), (2.10000000, 0.86320937, -0.50484610), (2.11000000, 0.85811783, -0.51345281), (2.12000000, 0.85294048, -0.52200818), (2.13000000, 0.84767784, -0.53051134), (2.14000000, 0.84233043, -0.53896145), (2.15000000, 0.83689879, -0.54735767), (2.16000000, 0.83138346, -0.55569915), (2.17000000, 0.82578499, -0.56398506), (2.18000000, 0.82010395, -0.57221457), (2.19000000, 0.81434089, -0.58038686), (2.20000000, 0.80849640, -0.58850112), (2.21000000, 0.80257107, -0.59655652), (2.22000000, 0.79656547, -0.60455227), (2.23000000, 0.79048022, -0.61248757), (2.24000000, 0.78431593, -0.62036161), (2.25000000, 0.77807320, -0.62817362), (2.26000000, 0.77175266, -0.63592282), (2.27000000, 0.76535495, -0.64360842), (2.28000000, 0.75888071, -0.65122966), (2.29000000, 0.75233058, -0.65878578), (2.30000000, 0.74570521, -0.66627602), (2.31000000, 0.73900528, -0.67369964), (2.32000000, 0.73223144, -0.68105588), (2.33000000, 0.72538439, -0.68834402), (2.34000000, 0.71846479, -0.69556333), (2.35000000, 0.71147335, -0.70271308), (2.36000000, 0.70441077, -0.70979256), (2.37000000, 0.69727774, -0.71680106), (2.38000000, 0.69007498, -0.72373788), (2.39000000, 0.68280322, -0.73060233), (2.40000000, 0.67546318, -0.73739372), (2.41000000, 0.66805559, -0.74411137), (2.42000000, 0.66058120, -0.75075460), (2.43000000, 0.65304075, -0.75732277), (2.44000000, 0.64543500, -0.76381520), (2.45000000, 0.63776470, -0.77023125), (2.46000000, 0.63003063, -0.77657028), (2.47000000, 0.62223356, -0.78283166), (2.48000000, 0.61437426, -0.78901475), (2.49000000, 0.60645352, -0.79511894), (2.50000000, 0.59847214, -0.80114362), (2.51000000, 0.59043092, -0.80708818), (2.52000000, 0.58233065, -0.81295204), (2.53000000, 0.57417215, -0.81873460), (2.54000000, 0.56595623, -0.82443529), (2.55000000, 0.55768372, -0.83005354), (2.56000000, 0.54935544, -0.83558878), (2.57000000, 0.54097222, -0.84104046), (2.58000000, 0.53253491, -0.84640804), (2.59000000, 0.52404434, -0.85169098), (2.60000000, 0.51550137, -0.85688875), (2.61000000, 0.50690685, -0.86200084), (2.62000000, 0.49826164, -0.86702672), (2.63000000, 0.48956661, -0.87196590), (2.64000000, 0.48082261, -0.87681789), (2.65000000, 0.47203054, -0.88158220), (2.66000000, 0.46319126, -0.88625834), (2.67000000, 0.45430567, -0.89084587), (2.68000000, 0.44537464, -0.89534431), (2.69000000, 0.43639908, -0.89975321), (2.70000000, 0.42737988, -0.90407214), (2.71000000, 0.41831794, -0.90830067), (2.72000000, 0.40921417, -0.91243836), (2.73000000, 0.40006948, -0.91648481), (2.74000000, 0.39088478, -0.92043962), (2.75000000, 0.38166099, -0.92430238), (2.76000000, 0.37239904, -0.92807271), (2.77000000, 0.36309985, -0.93175024), (2.78000000, 0.35376435, -0.93533459), (2.79000000, 0.34439347, -0.93882540), (2.80000000, 0.33498815, -0.94222234), (2.81000000, 0.32554933, -0.94552506), (2.82000000, 0.31607796, -0.94873322), (2.83000000, 0.30657499, -0.95184651), (2.84000000, 0.29704135, -0.95486462), (2.85000000, 0.28747801, -0.95778724), (2.86000000, 0.27788593, -0.96061408), (2.87000000, 0.26826605, -0.96334486), (2.88000000, 0.25861935, -0.96597931), (2.89000000, 0.24894679, -0.96851716), (2.90000000, 0.23924933, -0.97095817), (2.91000000, 0.22952795, -0.97330207), (2.92000000, 0.21978361, -0.97554865), (2.93000000, 0.21001730, -0.97769767), (2.94000000, 0.20022998, -0.97974892), (2.95000000, 0.19042265, -0.98170220), (2.96000000, 0.18059627, -0.98355731), (2.97000000, 0.17075183, -0.98531407), (2.98000000, 0.16089031, -0.98697229), (2.99000000, 0.15101271, -0.98853182), (3.00000000, 0.14112001, -0.98999250), (3.01000000, 0.13121319, -0.99135417), (3.02000000, 0.12129326, -0.99261672), (3.03000000, 0.11136119, -0.99378000), (3.04000000, 0.10141799, -0.99484390), (3.05000000, 0.09146464, -0.99580832), (3.06000000, 0.08150215, -0.99667317), (3.07000000, 0.07153151, -0.99743834), (3.08000000, 0.06155372, -0.99810377), (3.09000000, 0.05156977, -0.99866939), (3.10000000, 0.04158066, -0.99913515), (3.11000000, 0.03158740, -0.99950099), (3.12000000, 0.02159098, -0.99976689), (3.13000000, 0.01159239, -0.99993281), (3.14000000, 0.00159265, -0.99999873), (3.15000000, -0.00840725, -0.99996466), (3.16000000, -0.01840631, -0.99983059), (3.17000000, -0.02840353, -0.99959654), (3.18000000, -0.03839790, -0.99926253), (3.19000000, -0.04838844, -0.99882859), (3.20000000, -0.05837414, -0.99829478), (3.21000000, -0.06835401, -0.99766113), (3.22000000, -0.07832703, -0.99692772), (3.23000000, -0.08829223, -0.99609462), (3.24000000, -0.09824859, -0.99516190), (3.25000000, -0.10819513, -0.99412968), (3.26000000, -0.11813086, -0.99299804), (3.27000000, -0.12805476, -0.99176710), (3.28000000, -0.13796587, -0.99043698), (3.29000000, -0.14786317, -0.98900783), (3.30000000, -0.15774569, -0.98747977), (3.31000000, -0.16761244, -0.98585297), (3.32000000, -0.17746242, -0.98412758), (3.33000000, -0.18729466, -0.98230378), (3.34000000, -0.19710817, -0.98038175), (3.35000000, -0.20690197, -0.97836168), (3.36000000, -0.21667508, -0.97624378), (3.37000000, -0.22642652, -0.97402825), (3.38000000, -0.23615532, -0.97171532), (3.39000000, -0.24586050, -0.96930522), (3.40000000, -0.25554110, -0.96679819), (3.41000000, -0.26519615, -0.96419448), (3.42000000, -0.27482467, -0.96149436), (3.43000000, -0.28442571, -0.95869808), (3.44000000, -0.29399831, -0.95580594), (3.45000000, -0.30354151, -0.95281821), (3.46000000, -0.31305436, -0.94973521), (3.47000000, -0.32253590, -0.94655723), (3.48000000, -0.33198519, -0.94328460), (3.49000000, -0.34140128, -0.93991764), (3.50000000, -0.35078323, -0.93645669), (3.51000000, -0.36013010, -0.93290209), (3.52000000, -0.36944096, -0.92925421), (3.53000000, -0.37871487, -0.92551340), (3.54000000, -0.38795092, -0.92168003), (3.55000000, -0.39714817, -0.91775451), (3.56000000, -0.40630570, -0.91373720), (3.57000000, -0.41542261, -0.90962853), (3.58000000, -0.42449797, -0.90542889), (3.59000000, -0.43353088, -0.90113871), (3.60000000, -0.44252044, -0.89675842), (3.61000000, -0.45146575, -0.89228845), (3.62000000, -0.46036591, -0.88772925), (3.63000000, -0.46922004, -0.88308128), (3.64000000, -0.47802725, -0.87834501), (3.65000000, -0.48678665, -0.87352090), (3.66000000, -0.49549737, -0.86860944), (3.67000000, -0.50415855, -0.86361112), (3.68000000, -0.51276931, -0.85852643), (3.69000000, -0.52132879, -0.85335590), (3.70000000, -0.52983614, -0.84810003), (3.71000000, -0.53829051, -0.84275935), (3.72000000, -0.54669105, -0.83733440), (3.73000000, -0.55503692, -0.83182572), (3.74000000, -0.56332728, -0.82623385), (3.75000000, -0.57156132, -0.82055936), (3.76000000, -0.57973820, -0.81480281), (3.77000000, -0.58785710, -0.80896479), (3.78000000, -0.59591722, -0.80304587), (3.79000000, -0.60391775, -0.79704664), (3.80000000, -0.61185789, -0.79096771), (3.81000000, -0.61973684, -0.78480969), (3.82000000, -0.62755382, -0.77857318), (3.83000000, -0.63530805, -0.77225882), (3.84000000, -0.64299874, -0.76586723), (3.85000000, -0.65062514, -0.75939906), (3.86000000, -0.65818647, -0.75285495), (3.87000000, -0.66568199, -0.74623555), (3.88000000, -0.67311093, -0.73954153), (3.89000000, -0.68047257, -0.73277355), (3.90000000, -0.68776616, -0.72593230), (3.91000000, -0.69499097, -0.71901846), (3.92000000, -0.70214629, -0.71203272), (3.93000000, -0.70923139, -0.70497577), (3.94000000, -0.71624557, -0.69784833), (3.95000000, -0.72318812, -0.69065110), (3.96000000, -0.73005836, -0.68338480), (3.97000000, -0.73685559, -0.67605017), (3.98000000, -0.74357914, -0.66864794), (3.99000000, -0.75022833, -0.66117884), (4.00000000, -0.75680250, -0.65364362), (4.01000000, -0.76330098, -0.64604304), (4.02000000, -0.76972314, -0.63837786), (4.03000000, -0.77606833, -0.63064883), (4.04000000, -0.78233591, -0.62285675), (4.05000000, -0.78852525, -0.61500238), (4.06000000, -0.79463575, -0.60708651), (4.07000000, -0.80066678, -0.59910993), (4.08000000, -0.80661775, -0.59107344), (4.09000000, -0.81248805, -0.58297784), (4.10000000, -0.81827711, -0.57482395), (4.11000000, -0.82398434, -0.56661257), (4.12000000, -0.82960917, -0.55834453), (4.13000000, -0.83515105, -0.55002066), (4.14000000, -0.84060940, -0.54164179), (4.15000000, -0.84598370, -0.53320876), (4.16000000, -0.85127340, -0.52472240), (4.17000000, -0.85647797, -0.51618357), (4.18000000, -0.86159690, -0.50759313), (4.19000000, -0.86662967, -0.49895192), (4.20000000, -0.87157577, -0.49026082), (4.21000000, -0.87643472, -0.48152070), (4.22000000, -0.88120603, -0.47273242), (4.23000000, -0.88588921, -0.46389687), (4.24000000, -0.89048381, -0.45501493), (4.25000000, -0.89498936, -0.44608749), (4.26000000, -0.89940541, -0.43711544), (4.27000000, -0.90373152, -0.42809968), (4.28000000, -0.90796726, -0.41904111), (4.29000000, -0.91211220, -0.40994064), (4.30000000, -0.91616594, -0.40079917), (4.31000000, -0.92012805, -0.39161763), (4.32000000, -0.92399816, -0.38239692), (4.33000000, -0.92777586, -0.37313797), (4.34000000, -0.93146079, -0.36384171), (4.35000000, -0.93505258, -0.35450907), (4.36000000, -0.93855086, -0.34514097), (4.37000000, -0.94195528, -0.33573836), (4.38000000, -0.94526551, -0.32630218), (4.39000000, -0.94848122, -0.31683337), (4.40000000, -0.95160207, -0.30733287), (4.41000000, -0.95462777, -0.29780164), (4.42000000, -0.95755801, -0.28824063), (4.43000000, -0.96039249, -0.27865080), (4.44000000, -0.96313093, -0.26903310), (4.45000000, -0.96577306, -0.25938850), (4.46000000, -0.96831861, -0.24971796), (4.47000000, -0.97076734, -0.24002245), (4.48000000, -0.97311898, -0.23030294), (4.49000000, -0.97537332, -0.22056040), (4.50000000, -0.97753012, -0.21079580), (4.51000000, -0.97958916, -0.20101012), (4.52000000, -0.98155025, -0.19120434), (4.53000000, -0.98341319, -0.18137944), (4.54000000, -0.98517778, -0.17153641), (4.55000000, -0.98684386, -0.16167622), (4.56000000, -0.98841125, -0.15179986), (4.57000000, -0.98987981, -0.14190832), (4.58000000, -0.99124937, -0.13200259), (4.59000000, -0.99251981, -0.12208366), (4.60000000, -0.99369100, -0.11215253), (4.61000000, -0.99476283, -0.10221017), (4.62000000, -0.99573517, -0.09225760), (4.63000000, -0.99660795, -0.08229580), (4.64000000, -0.99738106, -0.07232578), (4.65000000, -0.99805444, -0.06234851), (4.66000000, -0.99862801, -0.05236502), (4.67000000, -0.99910172, -0.04237629), (4.68000000, -0.99947552, -0.03238332), (4.69000000, -0.99974938, -0.02238711), (4.70000000, -0.99992326, -0.01238866), (4.71000000, -0.99999715, -0.00238898), (4.72000000, -0.99997104, 0.00761095), (4.73000000, -0.99984493, 0.01761011), (4.74000000, -0.99961884, 0.02760751), (4.75000000, -0.99929279, 0.03760215), (4.76000000, -0.99886681, 0.04759303), (4.77000000, -0.99834094, 0.05757916), (4.78000000, -0.99771525, 0.06755952), (4.79000000, -0.99698978, 0.07753313), (4.80000000, -0.99616461, 0.08749898), (4.81000000, -0.99523983, 0.09745609), (4.82000000, -0.99421552, 0.10740345), (4.83000000, -0.99309179, 0.11734007), (4.84000000, -0.99186876, 0.12726495), (4.85000000, -0.99054654, 0.13717711), (4.86000000, -0.98912526, 0.14707555), (4.87000000, -0.98760507, 0.15695929), (4.88000000, -0.98598613, 0.16682733), (4.89000000, -0.98426858, 0.17667868), (4.90000000, -0.98245261, 0.18651237), (4.91000000, -0.98053840, 0.19632741), (4.92000000, -0.97852613, 0.20612281), (4.93000000, -0.97641601, 0.21589760), (4.94000000, -0.97420825, 0.22565081), (4.95000000, -0.97190307, 0.23538144), (4.96000000, -0.96950070, 0.24508854), (4.97000000, -0.96700138, 0.25477113), (4.98000000, -0.96440536, 0.26442825), (4.99000000, -0.96171290, 0.27405892), (5.00000000, -0.95892427, 0.28366219), (5.01000000, -0.95603975, 0.29323709), (5.02000000, -0.95305963, 0.30278266), (5.03000000, -0.94998420, 0.31229796), (5.04000000, -0.94681378, 0.32178203), (5.05000000, -0.94354867, 0.33123392), (5.06000000, -0.94018921, 0.34065269), (5.07000000, -0.93673573, 0.35003739), (5.08000000, -0.93318858, 0.35938709), (5.09000000, -0.92954811, 0.36870085), (5.10000000, -0.92581468, 0.37797774), (5.11000000, -0.92198868, 0.38721684), (5.12000000, -0.91807047, 0.39641721), (5.13000000, -0.91406047, 0.40557794), (5.14000000, -0.90995905, 0.41469811), (5.15000000, -0.90576664, 0.42377682), (5.16000000, -0.90148366, 0.43281314), (5.17000000, -0.89711052, 0.44180619), (5.18000000, -0.89264768, 0.45075506), (5.19000000, -0.88809557, 0.45965885), (5.20000000, -0.88345466, 0.46851667), (5.21000000, -0.87872539, 0.47732764), (5.22000000, -0.87390826, 0.48609089), (5.23000000, -0.86900374, 0.49480552), (5.24000000, -0.86401232, 0.50347067), (5.25000000, -0.85893449, 0.51208548), (5.26000000, -0.85377078, 0.52064907), (5.27000000, -0.84852169, 0.52916061), (5.28000000, -0.84318774, 0.53761923), (5.29000000, -0.83776948, 0.54602408), (5.30000000, -0.83226744, 0.55437434), (5.31000000, -0.82668218, 0.56266915), (5.32000000, -0.82101425, 0.57090770), (5.33000000, -0.81526421, 0.57908916), (5.34000000, -0.80943266, 0.58721272), (5.35000000, -0.80352016, 0.59527755), (5.36000000, -0.79752730, 0.60328285), (5.37000000, -0.79145470, 0.61122783), (5.38000000, -0.78530295, 0.61911168), (5.39000000, -0.77907267, 0.62693363), (5.40000000, -0.77276449, 0.63469288), (5.41000000, -0.76637903, 0.64238866), (5.42000000, -0.75991693, 0.65002020), (5.43000000, -0.75337884, 0.65758674), (5.44000000, -0.74676541, 0.66508753), (5.45000000, -0.74007731, 0.67252180), (5.46000000, -0.73331520, 0.67988883), (5.47000000, -0.72647976, 0.68718786), (5.48000000, -0.71957167, 0.69441818), (5.49000000, -0.71259163, 0.70157906), (5.50000000, -0.70554033, 0.70866977), (5.51000000, -0.69841847, 0.71568963), (5.52000000, -0.69122677, 0.72263791), (5.53000000, -0.68396595, 0.72951393), (5.54000000, -0.67663674, 0.73631700), (5.55000000, -0.66923986, 0.74304644), (5.56000000, -0.66177605, 0.74970158), (5.57000000, -0.65424608, 0.75628174), (5.58000000, -0.64665067, 0.76278628), (5.59000000, -0.63899060, 0.76921454), (5.60000000, -0.63126664, 0.77556588), (5.61000000, -0.62347955, 0.78183966), (5.62000000, -0.61563011, 0.78803526), (5.63000000, -0.60771910, 0.79415206), (5.64000000, -0.59974733, 0.80018944), (5.65000000, -0.59171558, 0.80614681), (5.66000000, -0.58362466, 0.81202356), (5.67000000, -0.57547538, 0.81781910), (5.68000000, -0.56726855, 0.82353287), (5.69000000, -0.55900500, 0.82916429), (5.70000000, -0.55068554, 0.83471278), (5.71000000, -0.54231102, 0.84017781), (5.72000000, -0.53388227, 0.84555882), (5.73000000, -0.52540013, 0.85085528), (5.74000000, -0.51686544, 0.85606665), (5.75000000, -0.50827908, 0.86119242), (5.76000000, -0.49964188, 0.86623206), (5.77000000, -0.49095472, 0.87118509), (5.78000000, -0.48221847, 0.87605099), (5.79000000, -0.47343400, 0.88082930), (5.80000000, -0.46460218, 0.88551952), (5.81000000, -0.45572390, 0.89012119), (5.82000000, -0.44680005, 0.89463384), (5.83000000, -0.43783152, 0.89905704), (5.84000000, -0.42881921, 0.90339033), (5.85000000, -0.41976402, 0.90763328), (5.86000000, -0.41066685, 0.91178547), (5.87000000, -0.40152861, 0.91584648), (5.88000000, -0.39235022, 0.91981591), (5.89000000, -0.38313260, 0.92369335), (5.90000000, -0.37387666, 0.92747843), (5.91000000, -0.36458334, 0.93117076), (5.92000000, -0.35525356, 0.93476998), (5.93000000, -0.34588825, 0.93827571), (5.94000000, -0.33648836, 0.94168763), (5.95000000, -0.32705481, 0.94500537), (5.96000000, -0.31758857, 0.94822861), (5.97000000, -0.30809056, 0.95135703), (5.98000000, -0.29856174, 0.95439032), (5.99000000, -0.28900307, 0.95732817), (6.00000000, -0.27941550, 0.96017029), (6.01000000, -0.26979998, 0.96291639), (6.02000000, -0.26015749, 0.96556620), (6.03000000, -0.25048898, 0.96811945), (6.04000000, -0.24079543, 0.97057589), (6.05000000, -0.23107779, 0.97293528), (6.06000000, -0.22133704, 0.97519737), (6.07000000, -0.21157417, 0.97736195), (6.08000000, -0.20179013, 0.97942878), (6.09000000, -0.19198592, 0.98139768), (6.10000000, -0.18216250, 0.98326844), (6.11000000, -0.17232088, 0.98504087), (6.12000000, -0.16246202, 0.98671480), (6.13000000, -0.15258691, 0.98829006), (6.14000000, -0.14269654, 0.98976649), (6.15000000, -0.13279191, 0.99114394), (6.16000000, -0.12287400, 0.99242228), (6.17000000, -0.11294379, 0.99360138), (6.18000000, -0.10300230, 0.99468112), (6.19000000, -0.09305050, 0.99566139), (6.20000000, -0.08308940, 0.99654210), (6.21000000, -0.07311999, 0.99732315), (6.22000000, -0.06314327, 0.99800447), (6.23000000, -0.05316024, 0.99858599), (6.24000000, -0.04317189, 0.99906766), (6.25000000, -0.03317922, 0.99944942), (6.26000000, -0.02318323, 0.99973123), (6.27000000, -0.01318493, 0.99991308), (6.28000000, -0.00318530, 0.99999493), ]) +plt.plot (data[:,0], data[:,1], label="{sin (x) * r; cos (x) * r} (0)") +plt.plot (data[:,0], data[:,2], label="{sin (x) * r; cos (x) * r} (1)") + +box = ax2.get_position() +ax2.set_position([box.x0, box.y0, box.width * 0.8, box.height]) +ax2.legend(loc='center left', bbox_to_anchor=(1, 0.5)) +plt.title("Such a beautiful circle") +ax3 = plt.subplot(2, 2, 3) +data = np.array ([(-1.00000000, -1.00000000, 1.00000000), (-0.99000000, -0.97029900, 0.96059601), (-0.98000000, -0.94119200, 0.92236816), (-0.97000000, -0.91267300, 0.88529281), (-0.96000000, -0.88473600, 0.84934656), (-0.95000000, -0.85737500, 0.81450625), (-0.94000000, -0.83058400, 0.78074896), (-0.93000000, -0.80435700, 0.74805201), (-0.92000000, -0.77868800, 0.71639296), (-0.91000000, -0.75357100, 0.68574961), (-0.90000000, -0.72900000, 0.65610000), (-0.89000000, -0.70496900, 0.62742241), (-0.88000000, -0.68147200, 0.59969536), (-0.87000000, -0.65850300, 0.57289761), (-0.86000000, -0.63605600, 0.54700816), (-0.85000000, -0.61412500, 0.52200625), (-0.84000000, -0.59270400, 0.49787136), (-0.83000000, -0.57178700, 0.47458321), (-0.82000000, -0.55136800, 0.45212176), (-0.81000000, -0.53144100, 0.43046721), (-0.80000000, -0.51200000, 0.40960000), (-0.79000000, -0.49303900, 0.38950081), (-0.78000000, -0.47455200, 0.37015056), (-0.77000000, -0.45653300, 0.35153041), (-0.76000000, -0.43897600, 0.33362176), (-0.75000000, -0.42187500, 0.31640625), (-0.74000000, -0.40522400, 0.29986576), (-0.73000000, -0.38901700, 0.28398241), (-0.72000000, -0.37324800, 0.26873856), (-0.71000000, -0.35791100, 0.25411681), (-0.70000000, -0.34300000, 0.24010000), (-0.69000000, -0.32850900, 0.22667121), (-0.68000000, -0.31443200, 0.21381376), (-0.67000000, -0.30076300, 0.20151121), (-0.66000000, -0.28749600, 0.18974736), (-0.65000000, -0.27462500, 0.17850625), (-0.64000000, -0.26214400, 0.16777216), (-0.63000000, -0.25004700, 0.15752961), (-0.62000000, -0.23832800, 0.14776336), (-0.61000000, -0.22698100, 0.13845841), (-0.60000000, -0.21600000, 0.12960000), (-0.59000000, -0.20537900, 0.12117361), (-0.58000000, -0.19511200, 0.11316496), (-0.57000000, -0.18519300, 0.10556001), (-0.56000000, -0.17561600, 0.09834496), (-0.55000000, -0.16637500, 0.09150625), (-0.54000000, -0.15746400, 0.08503056), (-0.53000000, -0.14887700, 0.07890481), (-0.52000000, -0.14060800, 0.07311616), (-0.51000000, -0.13265100, 0.06765201), (-0.50000000, -0.12500000, 0.06250000), (-0.49000000, -0.11764900, 0.05764801), (-0.48000000, -0.11059200, 0.05308416), (-0.47000000, -0.10382300, 0.04879681), (-0.46000000, -0.09733600, 0.04477456), (-0.45000000, -0.09112500, 0.04100625), (-0.44000000, -0.08518400, 0.03748096), (-0.43000000, -0.07950700, 0.03418801), (-0.42000000, -0.07408800, 0.03111696), (-0.41000000, -0.06892100, 0.02825761), (-0.40000000, -0.06400000, 0.02560000), (-0.39000000, -0.05931900, 0.02313441), (-0.38000000, -0.05487200, 0.02085136), (-0.37000000, -0.05065300, 0.01874161), (-0.36000000, -0.04665600, 0.01679616), (-0.35000000, -0.04287500, 0.01500625), (-0.34000000, -0.03930400, 0.01336336), (-0.33000000, -0.03593700, 0.01185921), (-0.32000000, -0.03276800, 0.01048576), (-0.31000000, -0.02979100, 0.00923521), (-0.30000000, -0.02700000, 0.00810000), (-0.29000000, -0.02438900, 0.00707281), (-0.28000000, -0.02195200, 0.00614656), (-0.27000000, -0.01968300, 0.00531441), (-0.26000000, -0.01757600, 0.00456976), (-0.25000000, -0.01562500, 0.00390625), (-0.24000000, -0.01382400, 0.00331776), (-0.23000000, -0.01216700, 0.00279841), (-0.22000000, -0.01064800, 0.00234256), (-0.21000000, -0.00926100, 0.00194481), (-0.20000000, -0.00800000, 0.00160000), (-0.19000000, -0.00685900, 0.00130321), (-0.18000000, -0.00583200, 0.00104976), (-0.17000000, -0.00491300, 0.00083521), (-0.16000000, -0.00409600, 0.00065536), (-0.15000000, -0.00337500, 0.00050625), (-0.14000000, -0.00274400, 0.00038416), (-0.13000000, -0.00219700, 0.00028561), (-0.12000000, -0.00172800, 0.00020736), (-0.11000000, -0.00133100, 0.00014641), (-0.10000000, -0.00100000, 0.00010000), (-0.09000000, -0.00072900, 0.00006561), (-0.08000000, -0.00051200, 0.00004096), (-0.07000000, -0.00034300, 0.00002401), (-0.06000000, -0.00021600, 0.00001296), (-0.05000000, -0.00012500, 0.00000625), (-0.04000000, -0.00006400, 0.00000256), (-0.03000000, -0.00002700, 0.00000081), (-0.02000000, -0.00000800, 0.00000016), (-0.01000000, -0.00000100, 0.00000000), (0.00000000, 0.00000000, 0.00000000), (0.01000000, 0.00000100, 0.00000001), (0.02000000, 0.00000800, 0.00000016), (0.03000000, 0.00002700, 0.00000081), (0.04000000, 0.00006400, 0.00000256), (0.05000000, 0.00012500, 0.00000625), (0.06000000, 0.00021600, 0.00001296), (0.07000000, 0.00034300, 0.00002401), (0.08000000, 0.00051200, 0.00004096), (0.09000000, 0.00072900, 0.00006561), (0.10000000, 0.00100000, 0.00010000), (0.11000000, 0.00133100, 0.00014641), (0.12000000, 0.00172800, 0.00020736), (0.13000000, 0.00219700, 0.00028561), (0.14000000, 0.00274400, 0.00038416), (0.15000000, 0.00337500, 0.00050625), (0.16000000, 0.00409600, 0.00065536), (0.17000000, 0.00491300, 0.00083521), (0.18000000, 0.00583200, 0.00104976), (0.19000000, 0.00685900, 0.00130321), (0.20000000, 0.00800000, 0.00160000), (0.21000000, 0.00926100, 0.00194481), (0.22000000, 0.01064800, 0.00234256), (0.23000000, 0.01216700, 0.00279841), (0.24000000, 0.01382400, 0.00331776), (0.25000000, 0.01562500, 0.00390625), (0.26000000, 0.01757600, 0.00456976), (0.27000000, 0.01968300, 0.00531441), (0.28000000, 0.02195200, 0.00614656), (0.29000000, 0.02438900, 0.00707281), (0.30000000, 0.02700000, 0.00810000), (0.31000000, 0.02979100, 0.00923521), (0.32000000, 0.03276800, 0.01048576), (0.33000000, 0.03593700, 0.01185921), (0.34000000, 0.03930400, 0.01336336), (0.35000000, 0.04287500, 0.01500625), (0.36000000, 0.04665600, 0.01679616), (0.37000000, 0.05065300, 0.01874161), (0.38000000, 0.05487200, 0.02085136), (0.39000000, 0.05931900, 0.02313441), (0.40000000, 0.06400000, 0.02560000), (0.41000000, 0.06892100, 0.02825761), (0.42000000, 0.07408800, 0.03111696), (0.43000000, 0.07950700, 0.03418801), (0.44000000, 0.08518400, 0.03748096), (0.45000000, 0.09112500, 0.04100625), (0.46000000, 0.09733600, 0.04477456), (0.47000000, 0.10382300, 0.04879681), (0.48000000, 0.11059200, 0.05308416), (0.49000000, 0.11764900, 0.05764801), (0.50000000, 0.12500000, 0.06250000), (0.51000000, 0.13265100, 0.06765201), (0.52000000, 0.14060800, 0.07311616), (0.53000000, 0.14887700, 0.07890481), (0.54000000, 0.15746400, 0.08503056), (0.55000000, 0.16637500, 0.09150625), (0.56000000, 0.17561600, 0.09834496), (0.57000000, 0.18519300, 0.10556001), (0.58000000, 0.19511200, 0.11316496), (0.59000000, 0.20537900, 0.12117361), (0.60000000, 0.21600000, 0.12960000), (0.61000000, 0.22698100, 0.13845841), (0.62000000, 0.23832800, 0.14776336), (0.63000000, 0.25004700, 0.15752961), (0.64000000, 0.26214400, 0.16777216), (0.65000000, 0.27462500, 0.17850625), (0.66000000, 0.28749600, 0.18974736), (0.67000000, 0.30076300, 0.20151121), (0.68000000, 0.31443200, 0.21381376), (0.69000000, 0.32850900, 0.22667121), (0.70000000, 0.34300000, 0.24010000), (0.71000000, 0.35791100, 0.25411681), (0.72000000, 0.37324800, 0.26873856), (0.73000000, 0.38901700, 0.28398241), (0.74000000, 0.40522400, 0.29986576), (0.75000000, 0.42187500, 0.31640625), (0.76000000, 0.43897600, 0.33362176), (0.77000000, 0.45653300, 0.35153041), (0.78000000, 0.47455200, 0.37015056), (0.79000000, 0.49303900, 0.38950081), (0.80000000, 0.51200000, 0.40960000), (0.81000000, 0.53144100, 0.43046721), (0.82000000, 0.55136800, 0.45212176), (0.83000000, 0.57178700, 0.47458321), (0.84000000, 0.59270400, 0.49787136), (0.85000000, 0.61412500, 0.52200625), (0.86000000, 0.63605600, 0.54700816), (0.87000000, 0.65850300, 0.57289761), (0.88000000, 0.68147200, 0.59969536), (0.89000000, 0.70496900, 0.62742241), (0.90000000, 0.72900000, 0.65610000), (0.91000000, 0.75357100, 0.68574961), (0.92000000, 0.77868800, 0.71639296), (0.93000000, 0.80435700, 0.74805201), (0.94000000, 0.83058400, 0.78074896), (0.95000000, 0.85737500, 0.81450625), (0.96000000, 0.88473600, 0.84934656), (0.97000000, 0.91267300, 0.88529281), (0.98000000, 0.94119200, 0.92236816), (0.99000000, 0.97029900, 0.96059601), ]) +plt.plot (data[:,0], data[:,1], label="{x^3; x^4} (0)") +plt.plot (data[:,0], data[:,2], label="{x^3; x^4} (1)") + +box = ax3.get_position() +ax3.set_position([box.x0, box.y0, box.width * 0.8, box.height]) +ax3.legend(loc='center left', bbox_to_anchor=(1, 0.5)) +plt.title("Such beautiful monomials") + +plt.show () diff --git a/tests/visualization-matplotlib-simple.cc b/tests/visualization-matplotlib-simple.cc index 62a02ac9c..24bcd8462 100644 --- a/tests/visualization-matplotlib-simple.cc +++ b/tests/visualization-matplotlib-simple.cc @@ -35,7 +35,7 @@ BOOST_AUTO_TEST_CASE (visualization_matplotlib_simple) output = retrievePattern ("visualization-matplotlib-simple"); using namespace roboptim::visualization::matplotlib; - Matplotlib matplotlib = Matplotlib::make_matplotlib (false); + Matplotlib matplotlib = Matplotlib::make_matplotlib (std::make_pair(1, 1), false); // Display nothing, generate just some valid matplotlib commands. (*output)