[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bug in script for plotting
From: |
c. |
Subject: |
Re: Bug in script for plotting |
Date: |
Fri, 8 Feb 2013 22:58:30 +0100 |
On 8 Feb 2013, at 20:41, Ben Abbott <address@hidden> wrote:
>
> On Feb 8, 2013, at 7:41 AM, c. wrote:
>
>>
>> On 8 Feb 2013, at 01:59, Ben Abbott <address@hidden> wrote:
>>
>>> On Feb 7, 2013, at 5:28 PM, stn wrote:
>>>
>>>> Hi,
>>>>
>>>> this is kind of irritating. It has also probably been discussed before.
>>>>
>>>>
>>>> The plot-command works fine, the plot appears as expected, but on the
>>>> terminal there is a message
>>>>
>>>> gnuplot> nset obj 1;
>>>> ^
>>>> line 0: invalid command
>>>>
>>>>
>>>> After lots of googling and some grepping I found this line in
>>>> /usr/local/share/octave/3.6.3/m/plot/private/__go_draw_axes__.m
>>>>
>>>> Only there it says "unset obj". More specifically it says "fputs
>>>> (plot_stream, "unset obj 1; \\\n");"
>>>>
>>>> The problem can be solved by replacing every occurence of "unset obj" in
>>>> the script with " unset obj".
>>>>
>>>> It would appear that the function fputs() does not work correctly and
>>>> truncates the first character of this string. The solution mentioned above
>>>> simply adds a space-character, that is then truncated.
>>>>
>>>> I would like to suggest checking the matter.
>>>>
>>>> Best regards, stn
>>>
>>> I've seen this mentioned before, but I do not get this error. For example,
>>> each of the following work for me.
>>>
>>> plot (rand (3))
>>> surf (peaks ())
>>> contour (peaks ())
>>>
>>> I'm using gnuplot 4.6 patchlevel 1
>>>
>>> Can you tell us what version of gnuplot you are using (just in case that is
>>> involved in some way). Also, can you provide a short script that produces
>>> the error for you so that we may try to duplicate it?
>>>
>>> Ben
>>
>> Ben,
>>
>> I run the development Octave version, I have gnuplot 4.6 patch level 1
>> (installed via macports) and XQuartz 2.7.4 on OSX 10.8.2.
>> I can consistently reproduce the same issue reported by stn as follows:
>>
>> 1) stop XQuartz
>> 2) plot (randn (3))
>>
>> the issue can be simply worked around by adding a space in front of all
>> instances of "unset obj 1" as stn suggested, it seems the first character in
>> sent to the pipe is getting lost somehow …
>>
>> c.
>
> Carlo,
>
> I produced a plot-stream by ...
>
> plot (rand (3))
> drawnow ("aqua", "/dev/null", false, "debug.gp")
>
> The "unset obj 1" command comes at the end of binary data record, whose
> ending looks like below in vi.
>
> @@@@@@@@@@@@ @ @"@"@address@hidden@unset obj 1;
>
> I'm thinking the problem may be with the binary record (not with the unset
> command).
>
> Perhaps some padding should be added after each binary record? This may just
> break things (works for me), but does the diff below eliminate the problem
> for you?
Yes, it does.
> diff --git a/scripts/plot/private/__go_draw_axes__.m
> b/scripts/plot/private/__go_draw_axes__.m
> --- a/scripts/plot/private/__go_draw_axes__.m
> +++ b/scripts/plot/private/__go_draw_axes__.m
> @@ -2027,6 +2027,7 @@
> endif
> endif
> endif
> + fprintf (plot_stream, "\n # pad the plotstream\n")
>
> endfunction
> Ben
c.
Re: Bug in script for plotting, Stefan Neumann, 2013/02/08