* Bug 15299 fixed: plot() for polynomials & rationals 09/21609/3
Samuel GOUGEON [Sun, 25 Oct 2020 22:01:08 +0000 (23:01 +0100)]
  http://bugzilla.scilab.org/15299

  plot page updated (PDF): http://bugzilla.scilab.org/attachment.cgi?id=5186

Change-Id: I30553e6047cc8d08027a16d4d04c503186eecac6

13 files changed:
scilab/modules/graphics/help/en_US/2d_plot/plot.xml
scilab/modules/graphics/help/ja_JP/2d_plot/plot.xml
scilab/modules/graphics/help/pt_BR/2d_plot/plot.xml
scilab/modules/graphics/macros/plot.sci
scilab/modules/graphics/tests/nonreg_tests/bug_15299.tst [new file with mode: 0644]
scilab/modules/helptools/etc/images_md5.txt
scilab/modules/helptools/images/plot_10.png
scilab/modules/helptools/images/plot_11.png [new file with mode: 0644]
scilab/modules/helptools/images/plot_5.png
scilab/modules/helptools/images/plot_6.png
scilab/modules/helptools/images/plot_7.png
scilab/modules/helptools/images/plot_8.png
scilab/modules/helptools/images/plot_9.png

index e97a1a4..df1848a 100644 (file)
@@ -3,7 +3,7 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Fabrice Leray
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
- * Copyright (C) 2018 - 2019 - Samuel GOUGEON
+ * Copyright (C) 2018 - 2020 - Samuel GOUGEON
  *
  * This file is hereby licensed under the terms of the GNU GPL v2.0,
  * pursuant to article 5.3.4 of the CeCILL v.2.1.
  *
  -->
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
-          xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML"
-          xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
-          xml:lang="en" xml:id="plot">
+          xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml"
+          xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
+          xmlns:scilab="http://www.scilab.org" xml:id="plot" xml:lang="pt">
     <refnamediv>
         <refname>plot</refname>
-        <refpurpose>2D plot</refpurpose>
+        <refpurpose>Esboço 2d</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
-        <title>Syntax</title>
+        <title>Seqüência de Chamamento</title>
         <synopsis>
             plot     // demo
             plot(y)
             plot(x, y)
-            plot(x, fun)
-            plot(x, list(fun, param))
+            plot(x, func)
+            plot(x, list(func, params))
+            plot(x, polynomial)
+            plot(x, rational)
             plot(.., LineSpec)
             plot(.., LineSpec, GlobalProperty)
             plot(x1, y1, LineSpec1, x2,y2,LineSpec2,...xN, yN, LineSpecN, GlobalProperty1,.. GlobalPropertyM)
-            plot(x1,fun1,LineSpec1, x2,y2,LineSpec2,...xN,funN,LineSpecN, GlobalProperty1, ..GlobalPropertyM)
+            plot(x1,func1,LineSpec1, x2,y2,LineSpec2,...xN,funcN,LineSpecN, GlobalProperty1, ..GlobalPropertyM)
             plot(logflag,...)
             plot(axes_handle,...)
         </synopsis>
     </refsynopsisdiv>
-    <refsection>
-        <title>Arguments</title>
+    <refsection role="parameters">
+        <title>Parâmetros</title>
         <variablelist>
             <varlistentry>
                 <term>x</term>
                 <listitem>
-                    <para>
-                        vector or matrix of real numbers or integers. If omitted, it is assumed
-                        to be the vector <literal>1:n</literal> where <literal>n</literal> is the
-                        number of curve points given by the <literal>y</literal> parameter.
+                    <para>uma matriz ou vetor de reais. Se omitido, é assumido como
+                        sendo o vetor <literal>1:n</literal> onde <literal>n</literal> é o
+                        número de pontos de curva dado pelo parâmetro
+                        <literal>y</literal>.
                     </para>
                 </listitem>
             </varlistentry>
             <varlistentry>
                 <term>y</term>
                 <listitem>
-                    <para>
-                        vector or matrix of real numbers or of integers.
-                    </para>
+                    um vetor ou matriz de reais.
+                    <para/>
                 </listitem>
             </varlistentry>
             <varlistentry>
-                <term>fun, fun1, ..</term>
+                <term>func</term>
                 <listitem>
                     <para>
-                        handle of a function, as in <literal>plot(x, sin)</literal>.
-                    </para>
-                    <para>
+                        função definida como um macro ou uma primitiva, como em
+                        <literal>plot(x, sin)</literal>.
                         If the function to plot needs some parameters as input arguments, the
                         function and its parameters can be specified through a list, as in
-                        <literal>plot(x, list(delip, -0.4))</literal>
+                        <literal>plot(x, list(delip,-0.4))</literal>
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>polynomial</term>
+                <listitem>
+                    Single polynomial or array of polynomials.
+                    <para/>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>rational</term>
+                <listitem>
+                    Single rational or array of rationals.
+                    <para/>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>y1, y2, y3,..</term>
+                <listitem>
+                    <para>
+                        Can be any of the possible input types described above:
+                        <itemizedlist>
+                            <listitem>
+                                vectors or matrices of real numbers or of integers
+                            </listitem>
+                            <listitem>
+                                handle of a function (possibly in a list with its parameters).
+                            </listitem>
+                            <listitem>
+                                polynomials
+                            </listitem>
+                            <listitem>
+                                rationals
+                            </listitem>
+                        </itemizedlist>
                     </para>
                 </listitem>
             </varlistentry>
             <varlistentry>
                 <term>LineSpec</term>
                 <listitem>
-                    <para>This optional argument must be a string that will be used as a
-                        shortcut to specify a way of drawing a line. We can have one
-                        <literal>LineSpec</literal> per <literal>y</literal> or <literal>{x,y}</literal>
-                        previously entered. <literal>LineSpec</literal> options deals with
-                        LineStyle, Marker and Color specifiers (see <link linkend="LineSpec">LineSpec</link>).
-                        Those specifiers determine the line style, mark style and color of
-                        the plotted lines.
+                    <para>este argumento opcional deve ser usado como um atalho para
+                        especificar um modo de desenhar uma linha. Podemos ter um
+                        <literal>LineSpec</literal> por<literal> y</literal> ou
+                        <literal>{x,y}</literal> previamente entrados. As opções
+                        <literal>LineSpec</literal> lidam com os especificadores LineStyle,
+                        Marker e Color (ver <link linkend="LineSpec">LineSpec</link>). Estes
+                        especificadores determinam o estilo de linha, de marcas e a cor das
+                        linhas esboçadas.
                     </para>
                 </listitem>
             </varlistentry>
             <varlistentry>
                 <term>GlobalProperty</term>
                 <listitem>
-                    <para>This optional argument represents a sequence of couple
-                        statements <literal>{PropertyName,PropertyValue}</literal> that defines
-                        global objects' properties applied to all the curves created by this
-                        plot. For a complete view of the available properties (see
-                        <link linkend="GlobalProperty">GlobalProperty</link>).
+                    <para>este argumento opcional representa uma seqüência de pares de
+                        declarações <literal>{PropertyName,PropertyValue}</literal> tque
+                        define propriedades globais de objetos a serem aplicadas a todas as
+                        curvas criadas pelo esboço. Para uma visualização completa de das
+                        propriedades disponíveis veja <link linkend="GlobalProperty">GlobalProperty</link>.
                     </para>
                 </listitem>
             </varlistentry>
                     <para>
                         <literal>logflag</literal> must be used after <literal>axes_handle</literal>
                         (if any) and before the first curve's data <literal>x</literal> or
-                        <literal>y</literal> or <literal>fun</literal>.
+                        <literal>y</literal> or <literal>func</literal>.
                         It applies to all curves drawn by the <literal>plot(…)</literal> instruction.
                     </para>
                 </listitem>
             <varlistentry>
                 <term>axes_handle</term>
                 <listitem>
-                    <para>This optional argument forces the plot to appear inside the
-                        selected axes given by <literal>axes_handle</literal> rather than the
-                        current axes (see <link linkend="gca">gca</link>).
+                    <para>este argumento opcional força o esboço a aparecer dentro dos
+                        eixos selecionados fornecidos por <literal>axes_handle</literal> ao
+                        invés dos eixos correntes (ver <link linkend="gca">gca</link>).
                     </para>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
-    <refsection>
-        <title>Description</title>
+    <refsection role="description">
+        <title>Descrição</title>
         <para>
-            <literal>plot</literal> plots a set of 2D curves. <literal>plot</literal> has been
-            rebuild to better handle Matlab syntax. To improve graphical
-            compatibility, Matlab users should use <literal>plot</literal> (rather than
-            <link linkend="plot2d">plot2d</link>).
+            <literal>plot</literal> esboça um conjunto de curvas 2d.
+            <literal>plot</literal> foi reconstruído para lidar melhor com a sintaxe
+            do Matlab. Para melhorar a compatibilidade gráfica com o Matlab, utilize
+            <literal>plot</literal> (ao invés de <link linkend="plot2d">plot2d</link>).
         </para>
-        <para>Data entry specification :</para>
-        <para>In this paragraph and to be more clear, we won't mention
-            <literal>LineSpec</literal> nor <literal>GlobalProperty</literal> optional arguments
-            as they do not interfere with entry data (except for <literal>"Xdata"</literal>,
-            <literal>"Ydata"</literal> and <literal>"Zdata"</literal> property, see
-            <link linkend="GlobalProperty">GlobalProperty</link>). It is assumed that all those optional
-            arguments could be present too.
+        <para>Especificação de entrada de dados:</para>
+        <para>Neste parágrafo, para sermos mais claros, não mencionaremos os
+            argumentos opcionais <literal>LineSpec</literal> ou
+            <literal>GlobalProperty</literal> já que eles não interferem na entrada de
+            dados (exceto pelas propriedades <literal>"Xdata"</literal>,
+            <literal>"Ydata"</literal> e <literal>"Zdata"</literal>,
+            ver <link linkend="GlobalProperty">GlobalProperty</link>). É assumido que todos
+            estes argumentos podem estar presentes também.
         </para>
         <para>
-            If <literal>y</literal> is a vector, plot(y) plots vector <literal>y</literal>
-            versus vector <literal>1:size(y,'*')</literal>.
+            Se <literal>y</literal> é um vetor, plot(y) esboça um vetor
+            <literal>y</literal> versus o vetor
+            <literal>1:size(y,'*')</literal>.
         </para>
         <para>
-            If <literal>y</literal> is a matrix, plot(y) plots each columns of
-            <literal>y</literal> versus vector <literal>1:size(y,1)</literal>.
+            Se <literal>y</literal> é uma matriz, plot(y) esboça cada coluna de
+            <literal>y</literal> versus o vetor <literal>1:size(y,1)</literal>.
         </para>
         <para>
-            If <literal>x</literal> and <literal>y</literal> are vectors, plot(x,y) plots
-            vector <literal>y</literal> versus vector <literal>x</literal>. <literal>x</literal> and
-            <literal>y</literal> vectors should have the same number of entries.
+            Se <literal>x</literal> e <literal>y</literal> são vetores,
+            plot(x,y) esboça o vetor <literal>y</literal> versus o vetor
+            <literal>x</literal>. Os vetores <literal>x</literal> e
+            <literal>y</literal> devem ter o mesmo número de entradas.
         </para>
         <para>
-            If <literal>x</literal> is a vector and <literal>y</literal> a matrix plot(x,y)
-            plots each columns of <literal>y</literal> versus vector <literal>x</literal>. In this
-            case the number of columns of <literal>y</literal> should be equal to the number
-            of <literal>x</literal> entries.
+            Se <literal>x</literal> é um vetor e <literal>y</literal> uma matriz
+            plot(x,y) esboça cada coluna de <literal>y</literal> versus o vetor
+            <literal>x</literal>. Neste caso, o número de colunas de
+            <literal>y</literal> deve ser igual ao número de entradas de
+            <literal>x</literal>.
         </para>
         <para>
-            If <literal>x</literal> and <literal>y</literal> are matrices, plot(x,y) plots each
-            columns of <literal>y</literal> versus corresponding column of <literal>x</literal>.
-            In this case the <literal>x</literal> and <literal>y</literal> sizes should be the
-            same.
+            Se <literal>x</literal> e <literal>y</literal> são matrizes,
+            plot(x,y) esboça cada coluna de <literal>y</literal> versus a coluna
+            correspondente de <literal>x</literal>. Neste caso, os tamanhos
+            <literal>x</literal> e <literal>y</literal> devem ser os mesmos.
         </para>
         <para>
-            Finally, if only <literal>x</literal> or <literal>y</literal> is a matrix, the
-            vector is plotted versus the rows or columns of the matrix. The choice is
-            made depending on whether the vector's row or column dimension matches the
-            matrix row or column dimension. In case of a square matrix (on
-            <literal>x</literal> or <literal>y</literal> only), priority is given to columns
-            rather than lines (see examples below).
+            Finalmente, se apenas <literal>x</literal> ou <literal>y</literal> é
+            uma matriz, o vetor é esboçado versus cada linha ou cada coluna da matriz.
+            A escolha é feita dependendo se a dimensão de linha ou coluna do vetor
+            coincide com a dimensão de linha ou coluna da matriz. No caso de uma
+            matriz quadrada (apenas <literal>x</literal> ou penas
+            <literal>y</literal>), a prioridade é dada a colunas ao invés de linhas
+            (ver exemplos abaixo).
         </para>
         <para>
-            <warning>
-                When it is necessary and possible, <literal>plot</literal> transposes
-                <literal>x</literal> and <literal>y</literal>,
-                to get compatible dimensions; a warning is then issued. For instance,
-                when <literal>x</literal> has as many rows as <literal>y</literal> has columns.
-                If <literal>y</literal> is square, it is never transposed.
-            </warning>
+            <literal>y</literal> também pode ser uma função definida como um
+            macro ou uma primitiva. Neste caso, os dados <literal>x</literal> devem
+            ser fornecidos (como um vetor ou uma matriz) e a computação correspondente
+            de <literal>y(x)</literal> é feita implicitamente.
         </para>
         <para>
-            <literal>y</literal> can also be a function defined as a macro or a
-            primitive. In this case, <literal>x</literal> data must be given (as a vector or
-            matrix) and the corresponding computation <literal>y(x)</literal> is done
-            implicitly.
-        </para>
-        <para>
-            The <literal>LineSpec</literal> and <literal>GlobalProperty</literal> arguments
-            should be used to customize the plot. Here is a complete list of the
-            available options.
+            Os argumentos <literal>LineSpec</literal> e
+            <literal>GlobalProperty</literal> devem ser utilizados para customizar o
+            esboço. Aqui está uma lista completa das opções disponíveis.
         </para>
         <variablelist>
             <varlistentry>
                 <term>LineSpec</term>
                 <listitem>
-                    <para>This option may be used to specify, in a short and easy manner,
-                        how the curves are drawn. It must always be a string containing
-                        references to LineStyle, Marker and Color specifiers.
+                    <para>esta opção pode ser utilizada para se especificar, de um modo
+                        curto e fácil, como as curvas são desenhadas. Deve sempre ser um
+                        string contendo referências aos especificadores LineStyle, Marker e
+                        Color.
                     </para>
-                    <para>These references must be set inside the string (order is not
-                        important) in an unambiguous way. For example, to specify a red
-                        long-dashed line with the diamond mark enabled, you can write :
-                        <literal>'r--d'</literal> or <literal>'--dire'</literal> or
-                        <literal>'--reddiam'</literal> or another unambiguous statement... or to be
-                        totally complete <literal>'diamondred--'</literal> (see
-                        <link linkend="LineSpec">LineSpec</link>).
+                    <para>Essas referências devem ser ajustadas denro do string (a ordem
+                        não é importante) de modo a não ter ambigüidades. Por exemplo, para
+                        especificar uma linha vermelha de traço longo com marcas de rombos,
+                        pode-se escrever : <literal>'r--d'</literal> ou
+                        <literal>'--dire'</literal> ou <literal>'--reddiam'</literal> ou
+                        outra sentença sem ambigüidade... ou de modo completo
+                        <literal>'diamondred--'</literal> (ver <link linkend="LineSpec">LineSpec</link>).
                     </para>
-                    <para>Note that the line style and color, marks color (and sizes) can
-                        also be (re-)set through the polyline entity properties (see
-                        <link linkend="polyline_properties">polyline_properties</link>).
+                    <para>Note que os estilos de linha e marcas (e tamanhos) e as cores,
+                        podem ser (re*)ajustados através das propriedades da entidade
+                        poligonal (ver <link linkend="polyline_properties">polyline_properties</link>).
                     </para>
                 </listitem>
             </varlistentry>
             <varlistentry>
                 <term>GlobalProperty</term>
                 <listitem>
-                    <para>This option may be used to specify how all the curves are
-                        plotted using more option than via <literal>LineSpec</literal>. It must
-                        always be a couple statement constituted of a string defining the
-                        <literal>PropertyName</literal>, and its associated value
-                        <literal>PropertyValue</literal> (which can be a string or an integer or...
-                        as well depending on the type of the <literal>PropertyName</literal>). Using
-                        <literal>GlobalProperty</literal>, you can set multiple properties : every
-                        properties available via LineSpec and more : the marker color
-                        (foreground and background), the visibility, clipping and thickness of
-                        the curves. (see <link linkend="GlobalProperty">GlobalProperty</link>)
+                    <para>esta opção pode ser utilizada para especificar como as linhas
+                        serão desenhadas com mais opções que via
+                        <literal>LineSpec</literal>. Deve sempre ser um par de declarações
+                        constituidos de um string definindo <literal>PropertyName</literal>,
+                        (nome da propriedade) e seu valor associado
+                        <literal>PropertyValue</literal> (que pode ser um string, um inteiro
+                        ou qualquer outra coisa... dependendo do tipo de
+                        <literal>PropertyName</literal>). Utilizando-se
+                        <literal>GlobalProperty</literal>, pode-se ajustar várias
+                        propriedades : todas as propriedades disponíveis via LineSpec e
+                        mais: a cor da marca (plano de fundo e primeiro plano), a
+                        visibilidade, o recorte e a espessura das curvas.
+                        (ver <link linkend="GlobalProperty">GlobalProperty</link>)
                     </para>
-                    <para>Note that all these properties can be (re-)set through the
-                        polyline entity properties (see <link linkend="polyline_properties">polyline_properties</link>).
+                    <para>
+                        Note que todas as propriedades podem ser (re-)ajustadas
+                        através das propriedades de entidades poligonais
+                        (ver <link linkend="polyline_properties">polyline_properties</link>).
                     </para>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
-    <refsection>
-        <title>Remarks</title>
-        <para>By default, successive plots are superposed. To clear the previous
-            plot, use <literal>clf()</literal>. To enable <literal>auto_clear</literal> mode as
-            the default mode, edit your default axes doing:
+    <refsection role="description">
+        <title>Observações </title>
+        <para>Por padrão, esboços sucessivos são superpostos. Para limpar o esboço
+            anterior, use <literal>clf()</literal>. Para habilitar o modo
+            <literal>auto_clear</literal> (limpeza automática) como modo padrão, edite
+            seus eixos fazendo o seguinte:
         </para>
         <para>da=gda();</para>
         <para>da.auto_clear = 'on'</para>
         <para>
-            For a better display <literal>plot</literal> function may modify the <literal>box</literal> property of
-            its parent Axes. This happens when the parent Axes were created by the call to <literal>plot</literal> or were empty
-            before the call. If one of the axis is centered at origin,
-            the box is disabled.
-            Otherwise, the box is enabled.
+            Para uma melhor exibição, a função <literal>plot</literal> pode
+            modificar a propriedade <literal>box</literal> de seu Axes (eixos) raíze.
+            Isto acontece quando uma entidade Axes é criada por uma chamada a
+            <literal>plot</literal> ou é vazia antes da chamada. Se um dos eixos é
+            centrado na origem, box é desabilitado. Em caso contrário, box é
+            habilitado.
         </para>
-        <para>
-            For more information about box property and axis positioning see <link linkend="axes_properties">axes_properties</link>
+        <para>Para mais informações sobre a propriedade box e sobre o
+            posicionamento dos eixos, veja <link linkend="axes_properties">axes_properties</link>
         </para>
-        <para>A default color table is used to color plotted curves if you do not
-            specify a color. When drawing multiple lines, the plot command
-            automatically cycles through this table. Here are the used colors:
+        <para>Uma tabela de cores padrão é utilizada para colorir as curvas
+            esboçadas quando você não especifica as cores. Ao desenhar linhas
+            múltiplas, o comando plot automaticamente atribui as cores abaixo de modo
+            cíclico. Aqui estão as cores utilizadas:
         </para>
         <informaltable border="1">
             <tr>
         </informaltable>
         <para/>
         <para>
-            Enter the command <literal>plot</literal> to see a demo.
+            Entre com o comando <literal>plot</literal> para visualizar uma
+            demonstração.
         </para>
     </refsection>
-    <refsection>
-        <title>Examples</title>
+    <refsection role="examples">
+        <title>Exemplos</title>
         <para>
             <emphasis role="bold">Choosing the normal or logarithmic plotting mode:</emphasis>
         </para>
@@ -350,7 +393,6 @@ xlabel("Specified abscissae")
 
             gcf().axes_size = [700 350];
         </scilab:image>
-        <para/>
         <para>
             <emphasis role="bold">Multiple curves with shared abscissae:</emphasis>
             Y: 1 column = 1 curve:
@@ -366,12 +408,12 @@ plot(x, [sin(x) sin(2*x) sin(3*x)])
 
             gcf().axes_size = [700 350];
         </scilab:image>
-        <para/>
         <para>
             <emphasis role="bold">
                 Specifying a macro or a builtin instead of explicit ordinates:
             </emphasis>
         </para>
+        <para>
         <programlisting role="example"><![CDATA[
 clf
 subplot(2,2,1)         // sin() is a builtin
@@ -433,6 +475,71 @@ title("plot(x, list(myPow,1:5))", "fontsize",3)
 
             gcf().axes_size = [730 500];
         ]]></scilab:image>
+        </para>
+        <para/>
+        <para>
+            <emphasis role="bold">
+                Plotting the graph of polynomials or rationals:
+            </emphasis>
+        </para>
+        <para>
+        <programlisting role="example"><![CDATA[
+clf
+s = %s;
+
+// Polynomials
+x = -0.5:0.02:3;
+p = s*[2 ; (s-2) ; (s-1)*(s-2)]
+subplot(1,2,1)
+plot(x, p)
+legend(prettyprint(p,"latex","",%t), 2);
+
+// Rationals
+x = -0.5:0.02:2;
+r = (s-1)*s/(s-7)./[s+1, s-4]
+subplot(1,2,2)
+plot(x, r)
+legend(prettyprint(r,"latex","",%t), 2);
+
+gcf().children.grid = color("grey70")*[1 1]; // grids
+gcf().children.children([1 3]).font_size=3;  // legends
+ ]]></programlisting>
+        <screen><![CDATA[
+--> p = s*[2 ; (s-2) ; (s-1)*(s-2)]
+ p  =
+  2s
+  -2s +s²
+  2s -3s² +s³
+
+../..
+--> r = (s-1)*s/(s-7)./[s+1, s-4]
+ r  =
+     -s +s²      -s +s²
+   ----------  -----------
+   -7 -6s +s²  28 -11s +s²
+]]></screen>
+        <scilab:image><![CDATA[
+            s = %s;
+
+            // Polynomials
+            x = -0.5:0.02:3;
+            p = s*[2 ; (s-2) ; (s-1)*(s-2)]
+            subplot(1,2,1)
+            plot(x, p)
+            legend(prettyprint(p,"latex","",%t), 2);
+
+            // Rationals
+            x = -0.5:0.02:2;
+            r = (s-1)*s/(s-7)./[s+1, s-4]
+            subplot(1,2,2)
+            plot(x, r)
+            legend(prettyprint(r,"latex","",%t), 2);
+
+            gcf().children.grid = color("grey70")*[1 1]; // grids
+            gcf().children.children([1 3]).font_size=3;  // legends
+            gcf().axes_size = [650 400];
+        ]]></scilab:image>
+        </para>
         <para/>
         <para>
             <emphasis role="bold">Setting curves simple styles when calling plot():</emphasis>
@@ -459,7 +566,6 @@ plot(t,sin,'ro', t,cos,'g+-', t,gauss,':b')
             gcf().axes_size = [800 400];
         ]]>
         </scilab:image>
-        <para/>
         <para>
         Vertical segments between two curves, with automatic colors, and using Global properties
         for markers styles. Targeting a defined axes.
@@ -568,7 +674,6 @@ for i=1:6, gcf().children(i).data_bounds([1 3]) = 0.5; end
 
             gcf().axes_size = [800 450];
         </scilab:image>
-        <para/>
         <para>
             <emphasis role="bold">Special cases of a matrix X and a vector Y:</emphasis>
         </para>
@@ -605,21 +710,20 @@ for i = 1:4, gcf().children(i).data_bounds([1 3]) = 0.5; end
             for i = 1:4, gcf().children(i).data_bounds([1 3]) = 0.5; end
         </scilab:image>
         <para/>
-        <para/>
         <para>
             <emphasis role="bold">Post-tuning Axes and curves:</emphasis>
         </para>
         <programlisting role="example"><![CDATA[
 x=[0:0.1:2*%pi]';
-plot(x-4,sin(x), x+2,cos(x))
+plot(x-4,sin(x),x+2,cos(x))
 
 // axis centered at (0,0)
 a=gca(); // Handle on axes entity
 a.x_location = "origin";
-a.y_location = "origin";
+a.y_location = "right";
+isoview on
 
 // Some operations on entities created by plot ...
-isoview on
 a.children // list the children of the axes : here it is an Compound child composed of 2 entities
 poly1= a.children.children(2); //store polyline handle into poly1
 poly1.foreground = 4;  // another way to change the style...
@@ -643,7 +747,7 @@ isoview off
         </scilab:image>
     </refsection>
     <refsection role="see also">
-        <title>See also</title>
+        <title>Ver Também</title>
         <simplelist type="inline">
             <member>
                 <link linkend="plot2d">plot2d</link>
@@ -679,7 +783,7 @@ isoview off
                 <link linkend="LineSpec">LineSpec</link>
             </member>
             <member>
-                <link linkend="color_list">Named colors</link>
+                <link linkend="color_list">Cores nomeadas</link>
             </member>
             <member>
                 <link linkend="GlobalProperty">GlobalProperty</link>
@@ -687,7 +791,7 @@ isoview off
         </simplelist>
     </refsection>
     <refsection role="history">
-        <title>History</title>
+        <title>Histórico</title>
         <revhistory>
             <revision>
                 <revnumber>6.0.1</revnumber>
@@ -700,8 +804,8 @@ isoview off
             <revision>
                 <revnumber>6.0.2</revnumber>
                 <revdescription>
-                    Plotting a function fun(x, params) with input parameters is now possible with
-                    plot(x, list(fun, params)).
+                    Plotting a function func(x, params) with input parameters is now possible with
+                    plot(x, list(func, params)).
                 </revdescription>
             </revision>
             <revision>
@@ -710,6 +814,12 @@ isoview off
                     logflag option added.
                 </revdescription>
             </revision>
+            <revision>
+                <revnumber>6.1.1</revnumber>
+                <revdescription>
+                    Polynomials and rationals can be plotted.
+                </revdescription>
+            </revision>
         </revhistory>
     </refsection>
 </refentry>
index dbedc17..ed3b15b 100644 (file)
@@ -3,7 +3,7 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Fabrice Leray
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
- * Copyright (C) 2018 - 2019 - Samuel GOUGEON
+ * Copyright (C) 2018 - 2020 - Samuel GOUGEON
  *
  * This file is hereby licensed under the terms of the GNU GPL v2.0,
  * pursuant to article 5.3.4 of the CeCILL v.2.1.
             plot     // demo
             plot(y)
             plot(x, y)
-            plot(x, fun)
-            plot(x, list(fun, param))
+            plot(x, func)
+            plot(x, list(func, params))
+            plot(x, polynomial)
+            plot(x, rational)
             plot(.., LineSpec)
             plot(.., LineSpec, GlobalProperty)
             plot(x1, y1, LineSpec1, x2,y2,LineSpec2,...xN, yN, LineSpecN, GlobalProperty1,.. GlobalPropertyM)
-            plot(x1,fun1,LineSpec1, x2,y2,LineSpec2,...xN,funN,LineSpecN, GlobalProperty1, ..GlobalPropertyM)
+            plot(x1,func1,LineSpec1, x2,y2,LineSpec2,...xN,funcN,LineSpecN, GlobalProperty1, ..GlobalPropertyM)
             plot(logflag,...)
             plot(axes_handle,...)
         </synopsis>
             <varlistentry>
                 <term>y</term>
                 <listitem>
-                    <para>
-                        実数行列またはベクトル.
-                    </para>
+                    実数行列またはベクトル.
+                    <para/>
                 </listitem>
             </varlistentry>
             <varlistentry>
-                <term>fun, fun1, ..</term>
+                <term>func</term>
                 <listitem>
                     <para>
                         handle of a function, as in <literal>plot(x, sin)</literal>.
-                    </para>
-                    <para>
                         If the function to plot needs some parameters as input arguments, the
                         function and its parameters can be specified through a list, as in
                         <literal>plot(x, list(delip, -0.4))</literal>
                 </listitem>
             </varlistentry>
             <varlistentry>
+                <term>polynomial</term>
+                <listitem>
+                    Single polynomial or array of polynomials.
+                    <para/>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>rational</term>
+                <listitem>
+                    Single rational or array of rationals.
+                    <para/>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>y1, y2, y3,..</term>
+                <listitem>
+                    <para>
+                        Can be any of the possible input types described above:
+                        <itemizedlist>
+                            <listitem>
+                                vectors or matrices of real numbers or of integers
+                            </listitem>
+                            <listitem>
+                                handle of a function (possibly in a list with its parameters).
+                            </listitem>
+                            <listitem>
+                                polynomials
+                            </listitem>
+                            <listitem>
+                                rationals
+                            </listitem>
+                        </itemizedlist>
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
                 <term>LineSpec</term>
                 <listitem>
                     <para>このオプション引数は文字列で
                     <para>
                         <literal>logflag</literal> must be used after <literal>axes_handle</literal>
                         (if any) and before the first curve's data <literal>x</literal> or
-                        <literal>y</literal> or <literal>fun</literal>.
+                        <literal>y</literal> or <literal>func</literal>.
                         It applies to all curves drawn by the <literal>plot(…)</literal> instruction.
                     </para>
                 </listitem>
@@ -461,8 +496,73 @@ title("plot(x, list(myPow,1:5))", "fontsize",3)
         ]]></scilab:image>
         <para/>
         <para>
+            <emphasis role="bold">
+                Plotting the graph of polynomials or rationals:
+            </emphasis>
+        </para>
+        <para>
+        <programlisting role="example"><![CDATA[
+clf
+s = %s;
+
+// Polynomials
+x = -0.5:0.02:3;
+p = s*[2 ; (s-2) ; (s-1)*(s-2)]
+subplot(1,2,1)
+plot(x, p)
+legend(prettyprint(p,"latex","",%t), 2);
+
+// Rationals
+x = -0.5:0.02:2;
+r = (s-1)*s/(s-7)./[s+1, s-4]
+subplot(1,2,2)
+plot(x, r)
+legend(prettyprint(r,"latex","",%t), 2);
+
+gcf().children.grid = color("grey70")*[1 1]; // grids
+gcf().children.children([1 3]).font_size=3;  // legends
+ ]]></programlisting>
+        <screen><![CDATA[
+--> p = s*[2 ; (s-2) ; (s-1)*(s-2)]
+ p  =
+  2s
+  -2s +s²
+  2s -3s² +s³
+
+../..
+--> r = (s-1)*s/(s-7)./[s+1, s-4]
+ r  =
+     -s +s²      -s +s²
+   ----------  -----------
+   -7 -6s +s²  28 -11s +s²
+]]></screen>
+        <scilab:image><![CDATA[
+            s = %s;
+
+            // Polynomials
+            x = -0.5:0.02:3;
+            p = s*[2 ; (s-2) ; (s-1)*(s-2)]
+            subplot(1,2,1)
+            plot(x, p)
+            legend(prettyprint(p,"latex","",%t), 2);
+
+            // Rationals
+            x = -0.5:0.02:2;
+            r = (s-1)*s/(s-7)./[s+1, s-4]
+            subplot(1,2,2)
+            plot(x, r)
+            legend(prettyprint(r,"latex","",%t), 2);
+
+            gcf().children.grid = color("grey70")*[1 1]; // grids
+            gcf().children.children([1 3]).font_size=3;  // legends
+            gcf().axes_size = [650 400];
+        ]]></scilab:image>
+        </para>
+        <para/>
+        <para>
             <emphasis role="bold">Setting curves simple styles when calling plot():</emphasis>
         </para>
+        <para>
         <programlisting role="example"><![CDATA[
 clf
 t = -%pi:%pi/20:2*%pi;
@@ -485,11 +585,12 @@ plot(t,sin,'ro', t,cos,'g+-', t,gauss,':b')
             gcf().axes_size = [800 400];
         ]]>
         </scilab:image>
-        <para/>
+        </para>
         <para>
         Vertical segments between two curves, with automatic colors, and using Global properties
         for markers styles. Targeting a defined axes.
         </para>
+        <para>
         <programlisting role="example"><![CDATA[
 clf
 subplot(1,3,3)
@@ -517,7 +618,7 @@ plot(ax3, t, sin)
             gcf().axes_size = [800 400];
         ]]>
         </scilab:image>
-        <para/>
+        </para>
         <para/>
         <para>
             <emphasis role="bold">Case of a non-square Y matrix:</emphasis>
@@ -726,8 +827,8 @@ isoview off
             <revision>
                 <revnumber>6.0.2</revnumber>
                 <revdescription>
-                    Plotting a function fun(x, params) with input parameters is now possible with
-                    plot(x, list(fun, params)).
+                    Plotting a function func(x, params) with input parameters is now possible with
+                    plot(x, list(func, params)).
                 </revdescription>
             </revision>
             <revision>
@@ -736,6 +837,12 @@ isoview off
                     logflag option added.
                 </revdescription>
             </revision>
+            <revision>
+                <revnumber>6.1.1</revnumber>
+                <revdescription>
+                    Polynomials and rationals can be plotted.
+                </revdescription>
+            </revision>
         </revhistory>
     </refsection>
 </refentry>
index 2f75138..df1848a 100644 (file)
@@ -3,7 +3,7 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Fabrice Leray
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
- * Copyright (C) 2018 - 2019 - Samuel GOUGEON
+ * Copyright (C) 2018 - 2020 - Samuel GOUGEON
  *
  * This file is hereby licensed under the terms of the GNU GPL v2.0,
  * pursuant to article 5.3.4 of the CeCILL v.2.1.
             plot     // demo
             plot(y)
             plot(x, y)
-            plot(x, fun)
-            plot(x, list(fun, param))
+            plot(x, func)
+            plot(x, list(func, params))
+            plot(x, polynomial)
+            plot(x, rational)
             plot(.., LineSpec)
             plot(.., LineSpec, GlobalProperty)
             plot(x1, y1, LineSpec1, x2,y2,LineSpec2,...xN, yN, LineSpecN, GlobalProperty1,.. GlobalPropertyM)
-            plot(x1,fun1,LineSpec1, x2,y2,LineSpec2,...xN,funN,LineSpecN, GlobalProperty1, ..GlobalPropertyM)
+            plot(x1,func1,LineSpec1, x2,y2,LineSpec2,...xN,funcN,LineSpecN, GlobalProperty1, ..GlobalPropertyM)
             plot(logflag,...)
             plot(axes_handle,...)
         </synopsis>
             <varlistentry>
                 <term>y</term>
                 <listitem>
-                    <para>
-                        uma matriz de reais ou um vetor.
-                    </para>
+                    um vetor ou matriz de reais.
+                    <para/>
                 </listitem>
             </varlistentry>
             <varlistentry>
-                <term>fun, fun1</term>
+                <term>func</term>
                 <listitem>
                     <para>
                         função definida como um macro ou uma primitiva, como em
-                        <literal>plot(x, sin)</literal>
-                    </para>
-                    <para>
+                        <literal>plot(x, sin)</literal>.
                         If the function to plot needs some parameters as input arguments, the
                         function and its parameters can be specified through a list, as in
-                        <literal>plot(x, list(delip, -0.4))</literal>
+                        <literal>plot(x, list(delip,-0.4))</literal>
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>polynomial</term>
+                <listitem>
+                    Single polynomial or array of polynomials.
+                    <para/>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>rational</term>
+                <listitem>
+                    Single rational or array of rationals.
+                    <para/>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>y1, y2, y3,..</term>
+                <listitem>
+                    <para>
+                        Can be any of the possible input types described above:
+                        <itemizedlist>
+                            <listitem>
+                                vectors or matrices of real numbers or of integers
+                            </listitem>
+                            <listitem>
+                                handle of a function (possibly in a list with its parameters).
+                            </listitem>
+                            <listitem>
+                                polynomials
+                            </listitem>
+                            <listitem>
+                                rationals
+                            </listitem>
+                        </itemizedlist>
                     </para>
                 </listitem>
             </varlistentry>
                     <para>
                         <literal>logflag</literal> must be used after <literal>axes_handle</literal>
                         (if any) and before the first curve's data <literal>x</literal> or
-                        <literal>y</literal> or <literal>fun</literal>.
+                        <literal>y</literal> or <literal>func</literal>.
                         It applies to all curves drawn by the <literal>plot(…)</literal> instruction.
                     </para>
                 </listitem>
@@ -378,6 +413,7 @@ plot(x, [sin(x) sin(2*x) sin(3*x)])
                 Specifying a macro or a builtin instead of explicit ordinates:
             </emphasis>
         </para>
+        <para>
         <programlisting role="example"><![CDATA[
 clf
 subplot(2,2,1)         // sin() is a builtin
@@ -439,8 +475,74 @@ title("plot(x, list(myPow,1:5))", "fontsize",3)
 
             gcf().axes_size = [730 500];
         ]]></scilab:image>
+        </para>
+        <para/>
         <para>
-        <emphasis role="bold">Setting curves simple styles when calling plot():</emphasis>
+            <emphasis role="bold">
+                Plotting the graph of polynomials or rationals:
+            </emphasis>
+        </para>
+        <para>
+        <programlisting role="example"><![CDATA[
+clf
+s = %s;
+
+// Polynomials
+x = -0.5:0.02:3;
+p = s*[2 ; (s-2) ; (s-1)*(s-2)]
+subplot(1,2,1)
+plot(x, p)
+legend(prettyprint(p,"latex","",%t), 2);
+
+// Rationals
+x = -0.5:0.02:2;
+r = (s-1)*s/(s-7)./[s+1, s-4]
+subplot(1,2,2)
+plot(x, r)
+legend(prettyprint(r,"latex","",%t), 2);
+
+gcf().children.grid = color("grey70")*[1 1]; // grids
+gcf().children.children([1 3]).font_size=3;  // legends
+ ]]></programlisting>
+        <screen><![CDATA[
+--> p = s*[2 ; (s-2) ; (s-1)*(s-2)]
+ p  =
+  2s
+  -2s +s²
+  2s -3s² +s³
+
+../..
+--> r = (s-1)*s/(s-7)./[s+1, s-4]
+ r  =
+     -s +s²      -s +s²
+   ----------  -----------
+   -7 -6s +s²  28 -11s +s²
+]]></screen>
+        <scilab:image><![CDATA[
+            s = %s;
+
+            // Polynomials
+            x = -0.5:0.02:3;
+            p = s*[2 ; (s-2) ; (s-1)*(s-2)]
+            subplot(1,2,1)
+            plot(x, p)
+            legend(prettyprint(p,"latex","",%t), 2);
+
+            // Rationals
+            x = -0.5:0.02:2;
+            r = (s-1)*s/(s-7)./[s+1, s-4]
+            subplot(1,2,2)
+            plot(x, r)
+            legend(prettyprint(r,"latex","",%t), 2);
+
+            gcf().children.grid = color("grey70")*[1 1]; // grids
+            gcf().children.children([1 3]).font_size=3;  // legends
+            gcf().axes_size = [650 400];
+        ]]></scilab:image>
+        </para>
+        <para/>
+        <para>
+            <emphasis role="bold">Setting curves simple styles when calling plot():</emphasis>
         </para>
         <programlisting role="example"><![CDATA[
 clf
@@ -702,8 +804,8 @@ isoview off
             <revision>
                 <revnumber>6.0.2</revnumber>
                 <revdescription>
-                    Plotting a function fun(x, params) with input parameters is now possible with
-                    plot(x, list(fun, params)).
+                    Plotting a function func(x, params) with input parameters is now possible with
+                    plot(x, list(func, params)).
                 </revdescription>
             </revision>
             <revision>
@@ -712,6 +814,12 @@ isoview off
                     logflag option added.
                 </revdescription>
             </revision>
+            <revision>
+                <revnumber>6.1.1</revnumber>
+                <revdescription>
+                    Polynomials and rationals can be plotted.
+                </revdescription>
+            </revision>
         </revhistory>
     </refsection>
 </refentry>
index 859de76..9a582ca 100644 (file)
@@ -2,7 +2,7 @@
 // Copyright (C) 2004-2006 - INRIA - Fabrice Leray
 // Copyright (C) 2008 - INRIA - Jean-Baptiste Silvy
 // Copyright (C) 2012 - 2016 - Scilab Enterprises
-// Copyright (C) 2018 - 2019 - Samuel GOUGEON
+// Copyright (C) 2018 - 2020 - Samuel GOUGEON
 //
 // This file is hereby licensed under the terms of the GNU GPL v2.0,
 // pursuant to article 5.3.4 of the CeCILL v.2.1.
@@ -93,26 +93,30 @@ function varargout = plot(varargin)
     provided_data = 2;
 
     for curArgIndex=1:nv
-        argTypes(curArgIndex,1) = type(ListArg(curArgIndex))
+        tmp = type(ListArg(curArgIndex))
+        if tmp == 16
+            if typeof(ListArg(curArgIndex))=="rational"
+                tmp = 18
+            end
+        end
+        argTypes(curArgIndex,1) = tmp
     end
 
     Ttmp=argTypes;
 
     for i=1:nv-1
-        acceptedTypes=[];
-        // double, macro function or primitive,
+        acceptedTypes = [];
+        // double, integers, polynomials, rationals (18), macro function or primitive,
         //    or list(macro|primitive, params) accepted as second argument
-        acceptedTypes=find(Ttmp(i,1)==1 & or(Ttmp(i+1,1)==[1,8,13,130,15]))
+        acceptedTypes = find(Ttmp(i,1)==1 & (or(Ttmp(i+1,1)==[1,2,8,13,130,15,18])))
         if (acceptedTypes<>[]) then
             couple=[couple i];
             Ttmp(i,1)  = 99; // Replace a known type by 99 (no meaning) to count it once only!
             Ttmp(i+1,1)= 99; // to avoid having (x1,y1,x2,y2) ->couple=[1,2,3]
             // With this trick, couple=[1,3];
         end
-
     end
 
-
     if (couple==[]) // No data couple found
         // Search for at least a single data , i.e.: plot(y)
 
@@ -294,6 +298,34 @@ function varargout = plot(varargin)
                 // if there is another iteration, we will have error message redefining function.
                 // we need to clear here and not before, because user must see the warning if needed.
                 clear buildFunc secondarg;
+
+            // Polynomials or rationals
+            // ------------------------
+            elseif type(ListArg(xyIndexLineSpec(i,2)))==2 | ..
+                   typeof(ListArg(xyIndexLineSpec(i,2)))=="rational"
+                x = ListArg(xyIndexLineSpec(i,1))
+                p = ListArg(xyIndexLineSpec(i,2))
+                if isvector(x)
+                    ListArg(xyIndexLineSpec(i,1)) = x(:) // without warning..
+                    ListArg(xyIndexLineSpec(i,2)) = horner(matrix(p,1,-1),x(:))
+                else
+                    if size(x,2) <> length(p)
+                        ResetFigureDDM(current_figure, cur_draw_mode);
+                        msg = _("%s: Plot #%d: Numbers of x columns and of %s must match.\n")
+                        if type(p)==2
+                            tmp = _("polynomials")
+                        else
+                            tmp = _("rationals")
+                        end
+                        error(msprintf(msg, "plot", i, tmp))
+                    end
+                    tmp = []
+                    for c = 1:size(x,2)
+                        tmp = [tmp horner(p(c), x(:,c))]
+                    end
+                    ListArg(xyIndexLineSpec(i,2)) = tmp
+                    clear tmp
+                end
             end
             [X,Y] = checkXYPair(typeOfPlot,ListArg(xyIndexLineSpec(i,1)),ListArg(xyIndexLineSpec(i,2)),current_figure,cur_draw_mode)
         else
@@ -496,7 +528,6 @@ function varargout = plot(varargin)
     end
 
 
-
     //postponed drawings are done now !
     // smart drawnow
     ResetFigureDDM(current_figure, cur_draw_mode)
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_15299.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_15299.tst
new file mode 100644 (file)
index 0000000..34144da
--- /dev/null
@@ -0,0 +1,34 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2020 - Samuel GOUGEON
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+// <-- NO CHECK REF -->
+//
+// <-- Non-regression test for bug 15299 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/15299
+//
+// <-- Short Description -->
+// plot() silently failed plotting polynomials or rationals
+
+s = %s;
+
+// Polynomials
+xp = -0.5:0.02:3;
+p = s*[2 ; (s-2) ; (s-1)*(s-2)];
+assert_checkequal(execstr("plot(xp, p)","errcatch"), 0);
+
+// Rationals
+xr = -0.5:0.02:2;
+r = (s-1)*s/(s-7)./[s+1, s-4];
+clf
+assert_checkequal(execstr("plot(xr, r)","errcatch"), 0);
+
+// Both
+clf
+assert_checkequal(execstr("plot(xp, p, xr, r)","errcatch"), 0);
index e5ced75..63a1a8e 100644 (file)
@@ -959,15 +959,16 @@ plot3d_7.png=b106077ec3b360ba717fef4579da3f55
 plot3d_8.png=d7ca9d9d5dd993d30bc6423a0528ff8e
 plot3d_9.png=c0f93d84e3ccdc76486bd41209b1f76b
 plot_1.png=df8aeb1d865adef40f0e9a2068d9d527
-plot_10.png=bead04d3923168e8291932e665abffa0
+plot_10.png=7892b92465386a710d20d0a30cf46304
+plot_11.png=bead04d3923168e8291932e665abffa0
 plot_2.png=ad242947214d2866107c147f5384e0a9
 plot_3.png=6549659743df2155be3061577f86c428
 plot_4.png=05411294e38970b93bd2e96047171bdd
-plot_5.png=f2a02f303bf4578fe0c029abc8f084dd
-plot_6.png=25b0dc1bfdba78e499055bedf79020dc
-plot_7.png=6530b1526ca007d68c095bb76295eade
-plot_8.png=df9a6a6decb537fae8a8adde2304a85a
-plot_9.png=7892b92465386a710d20d0a30cf46304
+plot_5.png=409a923b00065c83b6e42ed1cbfa4c29
+plot_6.png=f2a02f303bf4578fe0c029abc8f084dd
+plot_7.png=25b0dc1bfdba78e499055bedf79020dc
+plot_8.png=6530b1526ca007d68c095bb76295eade
+plot_9.png=df9a6a6decb537fae8a8adde2304a85a
 plot_multiscaled_1.png=139dc4c6fd62728b6f08e4529fc775fa
 plot_multiscaled_2.png=8ea6f9394968a8d02d09e1a66064c718
 plot_multiscaled_3.png=97b20f253d676c6d66fe322172b960ac
index f1ca950..ae1db5c 100644 (file)
Binary files a/scilab/modules/helptools/images/plot_10.png and b/scilab/modules/helptools/images/plot_10.png differ
diff --git a/scilab/modules/helptools/images/plot_11.png b/scilab/modules/helptools/images/plot_11.png
new file mode 100644 (file)
index 0000000..f1ca950
Binary files /dev/null and b/scilab/modules/helptools/images/plot_11.png differ
index 873c4a9..50517dc 100644 (file)
Binary files a/scilab/modules/helptools/images/plot_5.png and b/scilab/modules/helptools/images/plot_5.png differ
index a7a2301..d14e3d8 100644 (file)
Binary files a/scilab/modules/helptools/images/plot_6.png and b/scilab/modules/helptools/images/plot_6.png differ
index a536017..a7a2301 100644 (file)
Binary files a/scilab/modules/helptools/images/plot_7.png and b/scilab/modules/helptools/images/plot_7.png differ
index 25d6b2b..a536017 100644 (file)
Binary files a/scilab/modules/helptools/images/plot_8.png and b/scilab/modules/helptools/images/plot_8.png differ
index ae1db5c..25d6b2b 100644 (file)
Binary files a/scilab/modules/helptools/images/plot_9.png and b/scilab/modules/helptools/images/plot_9.png differ