You can subscribe to this list here.
| 2001 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(83) |
Nov
(57) |
Dec
(111) |
| 2004 |
Jan
(38) |
Feb
(121) |
Mar
(107) |
Apr
(241) |
May
(102) |
Jun
(190) |
Jul
(239) |
Aug
(158) |
Sep
(184) |
Oct
(193) |
Nov
(47) |
Dec
(68) |
| 2005 |
Jan
(190) |
Feb
(105) |
Mar
(99) |
Apr
(65) |
May
(92) |
Jun
(250) |
Jul
(197) |
Aug
(128) |
Sep
(101) |
Oct
(183) |
Nov
(186) |
Dec
(42) |
| 2006 |
Jan
(102) |
Feb
(122) |
Mar
(154) |
Apr
(196) |
May
(181) |
Jun
(281) |
Jul
(310) |
Aug
(198) |
Sep
(145) |
Oct
(188) |
Nov
(134) |
Dec
(90) |
| 2007 |
Jan
(134) |
Feb
(181) |
Mar
(157) |
Apr
(57) |
May
(81) |
Jun
(204) |
Jul
(60) |
Aug
(37) |
Sep
(17) |
Oct
(90) |
Nov
(122) |
Dec
(72) |
| 2008 |
Jan
(130) |
Feb
(108) |
Mar
(160) |
Apr
(38) |
May
(83) |
Jun
(42) |
Jul
(75) |
Aug
(16) |
Sep
(71) |
Oct
(57) |
Nov
(59) |
Dec
(152) |
| 2009 |
Jan
(73) |
Feb
(213) |
Mar
(67) |
Apr
(40) |
May
(46) |
Jun
(82) |
Jul
(73) |
Aug
(57) |
Sep
(108) |
Oct
(36) |
Nov
(153) |
Dec
(77) |
| 2010 |
Jan
(42) |
Feb
(171) |
Mar
(150) |
Apr
(6) |
May
(22) |
Jun
(34) |
Jul
(31) |
Aug
(38) |
Sep
(32) |
Oct
(59) |
Nov
(13) |
Dec
(62) |
| 2011 |
Jan
(114) |
Feb
(139) |
Mar
(126) |
Apr
(51) |
May
(53) |
Jun
(29) |
Jul
(41) |
Aug
(29) |
Sep
(35) |
Oct
(87) |
Nov
(42) |
Dec
(20) |
| 2012 |
Jan
(111) |
Feb
(66) |
Mar
(35) |
Apr
(59) |
May
(71) |
Jun
(32) |
Jul
(11) |
Aug
(48) |
Sep
(60) |
Oct
(87) |
Nov
(16) |
Dec
(38) |
| 2013 |
Jan
(5) |
Feb
(19) |
Mar
(41) |
Apr
(47) |
May
(14) |
Jun
(32) |
Jul
(18) |
Aug
(68) |
Sep
(9) |
Oct
(42) |
Nov
(12) |
Dec
(10) |
| 2014 |
Jan
(14) |
Feb
(139) |
Mar
(137) |
Apr
(66) |
May
(72) |
Jun
(142) |
Jul
(70) |
Aug
(31) |
Sep
(39) |
Oct
(98) |
Nov
(133) |
Dec
(44) |
| 2015 |
Jan
(70) |
Feb
(27) |
Mar
(36) |
Apr
(11) |
May
(15) |
Jun
(70) |
Jul
(30) |
Aug
(63) |
Sep
(18) |
Oct
(15) |
Nov
(42) |
Dec
(29) |
| 2016 |
Jan
(37) |
Feb
(48) |
Mar
(59) |
Apr
(28) |
May
(30) |
Jun
(43) |
Jul
(47) |
Aug
(14) |
Sep
(21) |
Oct
(26) |
Nov
(10) |
Dec
(2) |
| 2017 |
Jan
(26) |
Feb
(27) |
Mar
(44) |
Apr
(11) |
May
(32) |
Jun
(28) |
Jul
(75) |
Aug
(45) |
Sep
(35) |
Oct
(285) |
Nov
(99) |
Dec
(16) |
| 2018 |
Jan
(8) |
Feb
(8) |
Mar
(42) |
Apr
(35) |
May
(23) |
Jun
(12) |
Jul
(16) |
Aug
(11) |
Sep
(8) |
Oct
(16) |
Nov
(5) |
Dec
(8) |
| 2019 |
Jan
(9) |
Feb
(28) |
Mar
(4) |
Apr
(10) |
May
(7) |
Jun
(4) |
Jul
(4) |
Aug
|
Sep
(4) |
Oct
|
Nov
(23) |
Dec
(3) |
| 2020 |
Jan
(19) |
Feb
(3) |
Mar
(22) |
Apr
(17) |
May
(10) |
Jun
(69) |
Jul
(18) |
Aug
(23) |
Sep
(25) |
Oct
(11) |
Nov
(20) |
Dec
(9) |
| 2021 |
Jan
(1) |
Feb
(7) |
Mar
(9) |
Apr
|
May
(1) |
Jun
(8) |
Jul
(6) |
Aug
(8) |
Sep
(7) |
Oct
|
Nov
(2) |
Dec
(23) |
| 2022 |
Jan
(23) |
Feb
(9) |
Mar
(9) |
Apr
|
May
(8) |
Jun
(1) |
Jul
(6) |
Aug
(8) |
Sep
(30) |
Oct
(5) |
Nov
(4) |
Dec
(6) |
| 2023 |
Jan
(2) |
Feb
(5) |
Mar
(7) |
Apr
(3) |
May
(8) |
Jun
(45) |
Jul
(8) |
Aug
|
Sep
(2) |
Oct
(14) |
Nov
(7) |
Dec
(2) |
| 2024 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(2) |
Jun
(1) |
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
(4) |
Dec
(14) |
| 2025 |
Jan
(22) |
Feb
(6) |
Mar
(5) |
Apr
(14) |
May
(6) |
Jun
(11) |
Jul
(19) |
Aug
|
Sep
(17) |
Oct
(1) |
Nov
(2) |
Dec
(18) |
| 2026 |
Jan
|
Feb
|
Mar
(5) |
Apr
|
May
(2) |
Jun
(1) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Allin C. <cot...@wf...> - 2020-11-03 15:42:24
|
On Mon, 2 Nov 2020, Allin Cottrell wrote: > On Mon, 2 Nov 2020, Bastian Märkisch wrote: [...] > >> That really poses the question if we should change the default >> internal encoding from "ANSI" (whatever that may be depends on >> the Windows locale) to UTF-8. I agree with that (and in fact my >> personal gnuplot.ini includes "set encoding utf8" since a long >> time). >> >> But how do we make this backward compatible since that will >> inevitably break load commands in old "ANSI" encoded user >> scripts? (as does your current patch btw) > > Are you sure about that breakage, Bastian? [...] I'm not sure I've understood the circumstances under which you reckon my patch would break load commands, but I just tried an experiment which I think is relevant. This is on Windows 10 with system codepage 1252, using my patched wgnuplot.exe. I placed a gnuplot script in a directory named with Cyrillic characters (so not representable in CP1252), reading as follows: # loader script set encoding cp1252 load '<CP1252 filename>' where <CP1252 filename> is the full path to a second script, in a directory with a non-ASCII name representable in CP1252. (It contains an o-circumflex.) The second script reads thus: # plot script set term pngcairo set output '<CP1252 output>' plot sin(x) where <CP1252 output> is again a full path including the non-ASCII but CP-friendly directory name. I then called wgnuplot.exe on the "loader" script, passing its filename as UTF-16, and it all went fine: the loader was read OK, from its Cyrillic location; the load command worked; and the PNG was written successfully. -- Allin Cottrell Department of Economics Wake Forest University |
|
From: Allin C. <cot...@wf...> - 2020-11-02 20:37:43
|
On Mon, 2 Nov 2020, Ethan A Merritt wrote: > On Monday, 2 November 2020 01:48:42 PST Bastian Märkisch wrote: >> Right now, gnuplot is able to "load" file names with Unicode encoded names, i.e. the sequence >> set encoding utf8 >> load 'абвгдежзийклмнопрстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџ.plt' >> will work just fine. > > But only if the encoding is set to utf8, right? > Which is a bit counter-intuitive since on Windows the > filename is not actually utf8. Counter-intuitive maybe, but it's very convenient. "set encoding utf8" announces that filenames in the gnuplot script will be UTF-8 encoded (and the script will be readable cross-platform), but thanks to Bastian gnuplot knows they need to be recoded in the background to UTF-16 for reading from disk on Windows. -- Allin Cottrell Department of Economics Wake Forest University |
|
From: Ethan A M. <me...@uw...> - 2020-11-02 19:04:43
|
On Monday, 2 November 2020 01:48:42 PST Bastian Märkisch wrote: > Right now, gnuplot is able to "load" file names with Unicode encoded names, i.e. the sequence > set encoding utf8 > load 'абвгдежзийклмнопрстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџ.plt' > will work just fine. But only if the encoding is set to utf8, right? Which is a bit counter-intuitive since on Windows the filename is not actually utf8. I had not realized before this that the encoding could affect how files are opened. The documentation under "encoding" and/or "utf8" could be expanded. Maybe also "set print|out|table" or add some general statement about filenames? Ethan > Only loading via the command line does not work and that should indeed be improved. (I don't agree to use glib for that purpose - but that is easy to change). > > Bastian > > > -----Ursprüngliche Nachricht----- > > Von: Allin Cottrell <cot...@wf...> > > Gesendet: Sonntag, 1. November 2020 21:24 > > An: Ethan A Merritt <me...@uw...> > > Cc: gnuplot-beta <gnu...@li...> > > Betreff: Re: filenames on MS Windows > > > > On Sun, 1 Nov 2020, Ethan A Merritt wrote: > > > > > On Saturday, 31 October 2020 17:36:03 PST Allin Cottrell wrote: > > >> On Sun, 25 Oct 2020, Allin Cottrell wrote: > > >> > > >>> I tried googling this but didn't find an answer -- sorry if I should > > >>> have just tried harder! My question is: can gnuplot on Windows > > >>> handle a unicode filename argument passed in UTF-16? As in > > >>> > > >>> path/to/wgnuplot.exe <UTF-16 input filename> > > >> > > >> OK, that question was under-researched, but now I've done my > > >> homework. Sorry, this is a bit long but I hope I can arouse some > > >> interest in the topic. > > > > > > I don't have any direct insight into this issue other than to note > > > that the filesytem itself may be an issue. > > > > In some contexts, no doubt. But if we set aside exotica such as surrogate pairs, > > NTFS filenames are UTF-16 to a very good approximation. As such they are > > easily converted to UTF-8 to permit handling with good old C char * APIs, and > > easily converted back to > > UTF-16 for _wfopen() if required. > > > > > The following entry from the R developer blog is of interest > > > > > > > > > https://developer.r-project.org/Blog/public/2020/05/02/utf-8-support-o > > > n-windows/ > > > > > > I gather from the discussion there that Windows-10 can be made to > > > support UTF-8 as a native encoding, calling it "extended ASCII". > > > > Interesting, yes, but at this point kinda science fiction. The practical issue at > > present is whether gnuplot wants to support out-of-codepage UTF-16 > > filenames on the Windows command line. It's not terribly difficult, as I tried to > > show. > > > > Sorry if I'm being repetitive, but right now if a create, say, a Russian-language > > filename on Windows and pass it as command-line argument to gnuplot, > > gnuplot will not be able to open the file because its name cannot be > > represented in my "system codepage". A program that reads the command line > > as UTF-16, however, will have no problem opening the file. > > > > Allin Cottrell > > -- Ethan A Merritt Biomolecular Structure Center, K-428 Health Sciences Bldg MS 357742, University of Washington, Seattle 98195-7742 |
|
From: Allin C. <cot...@wf...> - 2020-11-02 13:30:59
|
On Mon, 2 Nov 2020, Bastian Märkisch wrote: > Allin, > > Thank you for this nice contribution. On Windows, we already replace > fopen() (and many other functions), though. In particular, win_fopen() in > winmain.c already handles encodings, including UTF-8. There are also two > functions AnsiText() and UnicodeText() to convert to/from UTF16 according to > gnuplot's encoding. Yes, I'm aware of that and it's a very nice feature. > They use the simple-to-use Windows functions > WideCharToMultiByte() MultiByteToWideChar(), so no need for glib. Ah, OK. > That really poses the question if we should change the default internal > encoding from "ANSI" (whatever that may be depends on the Windows locale) to > UTF-8. I agree with that (and in fact my personal gnuplot.ini includes "set > encoding utf8" since a long time). > > But how do we make this backward compatible since that will inevitably break > load commands in old "ANSI" encoded user scripts? (as does your current > patch btw) Are you sure about that breakage, Bastian? I may be missing something, but here's my thinking: (1) I convert UTF-16 -> UTF-8 only for filenames coming off the Windows command-line in winmain.c, and (2) in my modified loadpath_fopen() I first try fopen() on the filename as-is, converting UTF-8 -> UTF-16 and calling _wfopen() only if fopen() fails and the filename validates as UTF-8. So I don't _think_ my patch is going to touch filenames read via the load command in a gnuplot script. Allin Cottrell |
|
From: Bastian M. <bma...@we...> - 2020-11-02 10:24:29
|
Allin,
Thank you for this nice contribution. On Windows, we already replace
fopen() (and many other functions), though. In particular, win_fopen() in
winmain.c already handles encodings, including UTF-8. There are also two
functions AnsiText() and UnicodeText() to convert to/from UTF16 according to
gnuplot's encoding. They use the simple-to-use Windows functions
WideCharToMultiByte() MultiByteToWideChar(), so no need for glib.
That really poses the question if we should change the default internal
encoding from "ANSI" (whatever that may be depends on the Windows locale) to
UTF-8. I agree with that (and in fact my personal gnuplot.ini includes "set
encoding utf8" since a long time).
But how do we make this backward compatible since that will inevitably break
load commands in old "ANSI" encoded user scripts? (as does your current
patch btw) Possible solutions include a new command line option (like -u /
--utf8) or a wgnuplot.ini setting.
Bastian
> -----Ursprüngliche Nachricht-----
> Von: Allin Cottrell <cot...@wf...>
> Gesendet: Sonntag, 1. November 2020 01:36
> An: gnuplot-beta <gnu...@li...>
> Betreff: Re: filenames on MS Windows
>
> On Sun, 25 Oct 2020, Allin Cottrell wrote:
>
> > I tried googling this but didn't find an answer -- sorry if I should
> > have just tried harder! My question is: can gnuplot on Windows handle
> > a unicode filename argument passed in UTF-16? As in
> >
> > path/to/wgnuplot.exe <UTF-16 input filename>
>
> OK, that question was under-researched, but now I've done my homework.
> Sorry, this is a bit long but I hope I can arouse some interest in the
topic.
>
> Why bother with UTF-16 filename arguments? Nowadays a fair number of
> Windows users construct paths (directory names or filenames) which are
"out
> of codepage" -- that is, unicode names which cannot be represented in the
> (retro) "system codepage", which is typically just an 8-bit encoding.
Since
> Windows has supported unicode since NT came out, it's a reasonable
> expectation that any filename one can construct on the platform should be
> accessible via any program of interest. But a program that restricts
itself to the
> "ANSI" form of filenames simply cannot access files with out-of-codepage
> paths.
> (Sane modern OSes don't have this problem because they use UTF-8
> throughout.)
>
> So what about gnuplot? I may be wrong but it seems to me that gnuplot on
> Windows is stuck with "ANSI" filenames at present. Even with UNICODE and
> _UNICODE defined when compiling the program, the command-line arguments
> are retrieved in winmain.c using either _argv or __argv (depending on the
> compiler), and these get the ANSI-form arguments (as opposed to __wargv
> which gets the arguments in UTF-16 form).
>
> It would be easy to swap out __argv for __wargv but by itself this would
be
> very disruptive. The subsequent code in winmain.c, and then the code in
plot.c
> (gnu_main) to which the args array is passed, all assumes the elements of
argv
> are plain "char *", not "wide char"
> arrays. Handling UTF-16, which is chock-full of NUL bytes, would require
lots of
> messy "ifdefs".
>
> I have a proposal for fixing this. I realise it may not be acceptable as
it stands
> but maybe someone else might want to take it up. I'm attaching patches for
> src/win/winmain.c and src/misc.c for reference but here I'll try to
explain the
> strategy.
>
> 1) In winmain.c, grab the command-line arguments as UTF-16 but immediately
> convert them to UTF-8, so they can handled by the regular string.h APIs,
both
> here and in plot.c (gnu_main).
>
> 2) When we actually go to open a command-line file argument
> (loadpath_fopen, in misc.c, called from gnu_main), we first try opening
the file
> using the filename as-is, but it that fails (and the filename validates as
UTF-8)
> we convert it to UTF-16 and try again.
>
> Since UTF-8 is a superset of ASCII, ASCII filename arguments should pass
> through transparently. Within-codepage non-ASCII filenames should get
> converted back to UTF-16 and opened OK. And the bonus is that out-of-
> codepage arguments should also be converted and opened OK.
>
> I've tested this on Windows 10, with the system codepage set to Windows
> 1252 ("Western Europe"), and have successfully opened files with names in
> Russian and Greek. (I think this should also work if the user has the
system
> codepage set to UTF-8 (65001), which is a "beta" option on Windows.)
>
> My implementation uses GLib APIs (nice and simple) to convert from
> UTF-16 to UTF-8 and back again (if needed). GLib is required anyway if one
is
> building the Cairo-based terminals. I suppose one could use native Windows
> APIs to the same purpose but I suspect it would be a lot more bother.
>
> In my test setup this whole deal is triggered by the CFLAGS define
>
> -DWIDE_ARGS
>
> which is respected only when building for Windows -- and admittedly has
only
> been tested when cross-compiling for Windows from Linux using Mingw-w64.
> In my mingw Makefile, I have:
>
> WIDE_ARGS = 1
>
> ...
>
> ifdef WIDE_ARGS
> CFLAGS += -DWIDE_ARGS
> CFLAGS += $(shell pkg-config --cflags glib-2.0) endif
>
> --
> Allin Cottrell
> Department of Economics
> Wake Forest University
|
|
From: Bastian M. <bma...@we...> - 2020-11-02 09:49:12
|
Right now, gnuplot is able to "load" file names with Unicode encoded names, i.e. the sequence set encoding utf8 load 'абвгдежзийклмнопрстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџ.plt' will work just fine. Only loading via the command line does not work and that should indeed be improved. (I don't agree to use glib for that purpose - but that is easy to change). Bastian > -----Ursprüngliche Nachricht----- > Von: Allin Cottrell <cot...@wf...> > Gesendet: Sonntag, 1. November 2020 21:24 > An: Ethan A Merritt <me...@uw...> > Cc: gnuplot-beta <gnu...@li...> > Betreff: Re: filenames on MS Windows > > On Sun, 1 Nov 2020, Ethan A Merritt wrote: > > > On Saturday, 31 October 2020 17:36:03 PST Allin Cottrell wrote: > >> On Sun, 25 Oct 2020, Allin Cottrell wrote: > >> > >>> I tried googling this but didn't find an answer -- sorry if I should > >>> have just tried harder! My question is: can gnuplot on Windows > >>> handle a unicode filename argument passed in UTF-16? As in > >>> > >>> path/to/wgnuplot.exe <UTF-16 input filename> > >> > >> OK, that question was under-researched, but now I've done my > >> homework. Sorry, this is a bit long but I hope I can arouse some > >> interest in the topic. > > > > I don't have any direct insight into this issue other than to note > > that the filesytem itself may be an issue. > > In some contexts, no doubt. But if we set aside exotica such as surrogate pairs, > NTFS filenames are UTF-16 to a very good approximation. As such they are > easily converted to UTF-8 to permit handling with good old C char * APIs, and > easily converted back to > UTF-16 for _wfopen() if required. > > > The following entry from the R developer blog is of interest > > > > > > https://developer.r-project.org/Blog/public/2020/05/02/utf-8-support-o > > n-windows/ > > > > I gather from the discussion there that Windows-10 can be made to > > support UTF-8 as a native encoding, calling it "extended ASCII". > > Interesting, yes, but at this point kinda science fiction. The practical issue at > present is whether gnuplot wants to support out-of-codepage UTF-16 > filenames on the Windows command line. It's not terribly difficult, as I tried to > show. > > Sorry if I'm being repetitive, but right now if a create, say, a Russian-language > filename on Windows and pass it as command-line argument to gnuplot, > gnuplot will not be able to open the file because its name cannot be > represented in my "system codepage". A program that reads the command line > as UTF-16, however, will have no problem opening the file. > > Allin Cottrell |
|
From: Dima K. <gn...@di...> - 2020-11-02 04:31:13
|
Ethan A Merritt <me...@uw...> writes: > Plot elements are drawn using the current pen, and the keyword > for specifying the color of the current pen is "linecolor". Thanks for the clarification. The name of the option is un-ideal, but I think a bit more documentation would help, specifically "help points" and "help lines" should at least mention "linecolor". I'll write something in the near future. Thanks |
|
From: Allin C. <cot...@wf...> - 2020-11-01 20:24:37
|
On Sun, 1 Nov 2020, Ethan A Merritt wrote: > On Saturday, 31 October 2020 17:36:03 PST Allin Cottrell wrote: >> On Sun, 25 Oct 2020, Allin Cottrell wrote: >> >>> I tried googling this but didn't find an answer -- sorry if I should have >>> just tried harder! My question is: can gnuplot on Windows handle a unicode >>> filename argument passed in UTF-16? As in >>> >>> path/to/wgnuplot.exe <UTF-16 input filename> >> >> OK, that question was under-researched, but now I've done my >> homework. Sorry, this is a bit long but I hope I can arouse some >> interest in the topic. > > I don't have any direct insight into this issue other than to note > that the filesytem itself may be an issue. In some contexts, no doubt. But if we set aside exotica such as surrogate pairs, NTFS filenames are UTF-16 to a very good approximation. As such they are easily converted to UTF-8 to permit handling with good old C char * APIs, and easily converted back to UTF-16 for _wfopen() if required. > The following entry from the R developer blog is of interest > > https://developer.r-project.org/Blog/public/2020/05/02/utf-8-support-on-windows/ > > I gather from the discussion there that Windows-10 can be made to > support UTF-8 as a native encoding, calling it "extended ASCII". Interesting, yes, but at this point kinda science fiction. The practical issue at present is whether gnuplot wants to support out-of-codepage UTF-16 filenames on the Windows command line. It's not terribly difficult, as I tried to show. Sorry if I'm being repetitive, but right now if a create, say, a Russian-language filename on Windows and pass it as command-line argument to gnuplot, gnuplot will not be able to open the file because its name cannot be represented in my "system codepage". A program that reads the command line as UTF-16, however, will have no problem opening the file. Allin Cottrell |
|
From: Ethan A M. <me...@uw...> - 2020-11-01 17:44:10
|
On Saturday, 31 October 2020 17:36:03 PST Allin Cottrell wrote: > On Sun, 25 Oct 2020, Allin Cottrell wrote: > > > I tried googling this but didn't find an answer -- sorry if I should have > > just tried harder! My question is: can gnuplot on Windows handle a unicode > > filename argument passed in UTF-16? As in > > > > path/to/wgnuplot.exe <UTF-16 input filename> > > OK, that question was under-researched, but now I've done my > homework. Sorry, this is a bit long but I hope I can arouse some > interest in the topic. I don't have any direct insight into this issue other than to note that the filesytem itself may be an issue. The standard Windows filesystems impose an encoding on filenames, whereas linux filesystems are agnostic to encoding; any null-terminated byte sequence not containing '/' is a legal file name. The following entry from the R developer blog is of interest https://developer.r-project.org/Blog/public/2020/05/02/utf-8-support-on-windows/ I gather from the discussion there that Windows-10 can be made to support UTF-8 as a native encoding, calling it "extended ASCII". In that mode R (and I suppose gnuplot) can use the existing generic linux code paths rather than multiple layers of text conversion. Ethan > > Why bother with UTF-16 filename arguments? Nowadays a fair number of > Windows users construct paths (directory names or filenames) which > are "out of codepage" -- that is, unicode names which cannot be > represented in the (retro) "system codepage", which is typically > just an 8-bit encoding. Since Windows has supported unicode since NT > came out, it's a reasonable expectation that any filename one can > construct on the platform should be accessible via any program of > interest. But a program that restricts itself to the "ANSI" form of > filenames simply cannot access files with out-of-codepage paths. > (Sane modern OSes don't have this problem because they use UTF-8 > throughout.) > > So what about gnuplot? I may be wrong but it seems to me that > gnuplot on Windows is stuck with "ANSI" filenames at present. Even > with UNICODE and _UNICODE defined when compiling the program, the > command-line arguments are retrieved in winmain.c using either _argv > or __argv (depending on the compiler), and these get the ANSI-form > arguments (as opposed to __wargv which gets the arguments in UTF-16 > form). > > It would be easy to swap out __argv for __wargv but by itself this > would be very disruptive. The subsequent code in winmain.c, and then > the code in plot.c (gnu_main) to which the args array is passed, all > assumes the elements of argv are plain "char *", not "wide char" > arrays. Handling UTF-16, which is chock-full of NUL bytes, would > require lots of messy "ifdefs". > > I have a proposal for fixing this. I realise it may not be > acceptable as it stands but maybe someone else might want to take it > up. I'm attaching patches for src/win/winmain.c and src/misc.c for > reference but here I'll try to explain the strategy. > > 1) In winmain.c, grab the command-line arguments as UTF-16 but > immediately convert them to UTF-8, so they can handled by the > regular string.h APIs, both here and in plot.c (gnu_main). > > 2) When we actually go to open a command-line file argument > (loadpath_fopen, in misc.c, called from gnu_main), we first try > opening the file using the filename as-is, but it that fails (and > the filename validates as UTF-8) we convert it to UTF-16 and try > again. > > Since UTF-8 is a superset of ASCII, ASCII filename arguments should > pass through transparently. Within-codepage non-ASCII filenames > should get converted back to UTF-16 and opened OK. And the bonus is > that out-of-codepage arguments should also be converted and opened > OK. > > I've tested this on Windows 10, with the system codepage set to > Windows 1252 ("Western Europe"), and have successfully opened files > with names in Russian and Greek. (I think this should also work if > the user has the system codepage set to UTF-8 (65001), which is a > "beta" option on Windows.) > > My implementation uses GLib APIs (nice and simple) to convert from > UTF-16 to UTF-8 and back again (if needed). GLib is required anyway > if one is building the Cairo-based terminals. I suppose one could > use native Windows APIs to the same purpose but I suspect it would > be a lot more bother. > > In my test setup this whole deal is triggered by the CFLAGS define > > -DWIDE_ARGS > > which is respected only when building for Windows -- and admittedly > has only been tested when cross-compiling for Windows from Linux > using Mingw-w64. In my mingw Makefile, I have: > > WIDE_ARGS = 1 > > ... > > ifdef WIDE_ARGS > CFLAGS += -DWIDE_ARGS > CFLAGS += $(shell pkg-config --cflags glib-2.0) > endif > > -- > Allin Cottrell > Department of Economics > Wake Forest University |
|
From: Allin C. <cot...@wf...> - 2020-11-01 00:36:31
|
On Sun, 25 Oct 2020, Allin Cottrell wrote:
> I tried googling this but didn't find an answer -- sorry if I should have
> just tried harder! My question is: can gnuplot on Windows handle a unicode
> filename argument passed in UTF-16? As in
>
> path/to/wgnuplot.exe <UTF-16 input filename>
OK, that question was under-researched, but now I've done my
homework. Sorry, this is a bit long but I hope I can arouse some
interest in the topic.
Why bother with UTF-16 filename arguments? Nowadays a fair number of
Windows users construct paths (directory names or filenames) which
are "out of codepage" -- that is, unicode names which cannot be
represented in the (retro) "system codepage", which is typically
just an 8-bit encoding. Since Windows has supported unicode since NT
came out, it's a reasonable expectation that any filename one can
construct on the platform should be accessible via any program of
interest. But a program that restricts itself to the "ANSI" form of
filenames simply cannot access files with out-of-codepage paths.
(Sane modern OSes don't have this problem because they use UTF-8
throughout.)
So what about gnuplot? I may be wrong but it seems to me that
gnuplot on Windows is stuck with "ANSI" filenames at present. Even
with UNICODE and _UNICODE defined when compiling the program, the
command-line arguments are retrieved in winmain.c using either _argv
or __argv (depending on the compiler), and these get the ANSI-form
arguments (as opposed to __wargv which gets the arguments in UTF-16
form).
It would be easy to swap out __argv for __wargv but by itself this
would be very disruptive. The subsequent code in winmain.c, and then
the code in plot.c (gnu_main) to which the args array is passed, all
assumes the elements of argv are plain "char *", not "wide char"
arrays. Handling UTF-16, which is chock-full of NUL bytes, would
require lots of messy "ifdefs".
I have a proposal for fixing this. I realise it may not be
acceptable as it stands but maybe someone else might want to take it
up. I'm attaching patches for src/win/winmain.c and src/misc.c for
reference but here I'll try to explain the strategy.
1) In winmain.c, grab the command-line arguments as UTF-16 but
immediately convert them to UTF-8, so they can handled by the
regular string.h APIs, both here and in plot.c (gnu_main).
2) When we actually go to open a command-line file argument
(loadpath_fopen, in misc.c, called from gnu_main), we first try
opening the file using the filename as-is, but it that fails (and
the filename validates as UTF-8) we convert it to UTF-16 and try
again.
Since UTF-8 is a superset of ASCII, ASCII filename arguments should
pass through transparently. Within-codepage non-ASCII filenames
should get converted back to UTF-16 and opened OK. And the bonus is
that out-of-codepage arguments should also be converted and opened
OK.
I've tested this on Windows 10, with the system codepage set to
Windows 1252 ("Western Europe"), and have successfully opened files
with names in Russian and Greek. (I think this should also work if
the user has the system codepage set to UTF-8 (65001), which is a
"beta" option on Windows.)
My implementation uses GLib APIs (nice and simple) to convert from
UTF-16 to UTF-8 and back again (if needed). GLib is required anyway
if one is building the Cairo-based terminals. I suppose one could
use native Windows APIs to the same purpose but I suspect it would
be a lot more bother.
In my test setup this whole deal is triggered by the CFLAGS define
-DWIDE_ARGS
which is respected only when building for Windows -- and admittedly
has only been tested when cross-compiling for Windows from Linux
using Mingw-w64. In my mingw Makefile, I have:
WIDE_ARGS = 1
...
ifdef WIDE_ARGS
CFLAGS += -DWIDE_ARGS
CFLAGS += $(shell pkg-config --cflags glib-2.0)
endif
--
Allin Cottrell
Department of Economics
Wake Forest University |
|
From: Ethan A M. <me...@uw...> - 2020-10-29 21:24:42
|
On Thursday, 29 October 2020 13:26:38 PDT Dima Kogan wrote:
> Hi. I just discovered that there's no "pointcolor" property. So this
> doesn't work:
>
> plot x with points pt 6 ps 2 pointcolor "red"
>
> The "right" way to do it is this:
>
> plot x with points pt 6 ps 2 linecolor "red"
>
> Which is really surprising. And it means that when plotting with
> "linespoints" we can't use separate colors for the line and for the
> points. I'm not convinced that we do want to make separate line/point
> colors possible, but can "pointcolor" at the very least become an alias
> for "linecolor"?
There is nothing special about points.
Plot elements are drawn using the current pen, and the keyword
for specifying the color of the current pen is "linecolor".
Actually, prior to version 4.something the only options were
"linetype n" or "linestyle n". The "linecolor" keyword was
added as a generic ad hoc specification that didn't require
pre-defined a linetype or linestyle. I suppose it could have
been "pencolor" or "currentcolor" or even just "color", but
what we have is "linecolor".
So plot ... with boxes linecolor "blue" # not 'boxcolor'
plot ... with impulses linecolor "blue" # not 'impulsecolor'
plot ... with fsteps linecolor "blue" # not "stepcolor'
plot ... with points linecolor "blue" # not 'pointcolor'
Ethan
>
> Is there some historical reason for this?
>
> Thanks!
> dima
|
|
From: Dima K. <gn...@di...> - 2020-10-29 20:46:17
|
Hi. I just discovered that there's no "pointcolor" property. So this doesn't work: plot x with points pt 6 ps 2 pointcolor "red" The "right" way to do it is this: plot x with points pt 6 ps 2 linecolor "red" Which is really surprising. And it means that when plotting with "linespoints" we can't use separate colors for the line and for the points. I'm not convinced that we do want to make separate line/point colors possible, but can "pointcolor" at the very least become an alias for "linecolor"? Is there some historical reason for this? Thanks! dima |
|
From: Allin C. <cot...@wf...> - 2020-10-25 18:08:24
|
I tried googling this but didn't find an answer -- sorry if I should have just tried harder! My question is: can gnuplot on Windows handle a unicode filename argument passed in UTF-16? As in path/to/wgnuplot.exe <UTF-16 input filename> TIA. -- Allin Cottrell Department of Economics Wake Forest University |
|
From: Daniel M. <mon...@ku...> - 2020-10-16 20:54:03
|
Hi, I just read about the patch for a "merge" command (https://sourceforge.net/p/gnuplot/patches/615/) that would allow merging the results of two plot commands into a single datablock that could then be used for a subsequent plot that needed both results. I don't think this was added to gnuplot. I tried "merge" in my current gnuplot version (5.2.8) and I get an "invalid command" reply. It sounds it would be useful for combining data from different datablocks or files. My use case for this would be creating a plot of the percentage of points in each interval that have a specific values from another column. For example, for a file called "datafile.txt", containing values between 0 and 1 in COL1 and a binary label in COL2: COL1 COL2 0.1 0 0.2 1 0.1 1 0.33 0 0.4 1 1.0 0 0.9 0 0.12 1 0.13 1 0.13 0 0.89 1 0.88 0 .... A "merge" command would help to plot the following curve: - percentage of points having COL1 between [0.0, 0.1] and COL2==1 - percentage of points have COL1 in the range [0.1,0.2] and COL2==1 - percentage of points have COL1 in the range [0.2,0.3] and COL2==1 and so on. Currently, I am able to achieve this with "table" and "smooth frequency": -------------------------------------------------------------------------------- # define function for binning data binwidth = 0.1 bin(val) = binwidth * floor(val/binwidth) # save total counts in each bin set table "fileA" plot "datafile.txt" using (bin(column("COL1"))):(1.0) smooth frequency with points # save counts in each bin with a specific label set table "fileB" plot "datafile.txt" using (bin(column("COL1"))):(column("COL2") > 0 ? 1.0 : 0.0) smooth frequency with points unset table # plot the percentage of dots with label "1" in each bin of width 0.1 plot "< paste fileA fileB" using 1:($5/$2) with linespoints -------------------------------------------------------------------------------- Clearly this could be achieved pre-processing the data externally, but it looks like that the proposed "merge" command for datablocks would be a useful tool here. It would simplify this without the need for writing data to files and reading it back. Thank you, __________________________________ Daniel Montezano Center for Computational Biology University of Kansas Lawrence, KS 66045 |
|
From: Allin C. <cot...@wf...> - 2020-10-15 21:43:24
|
On Thu, 15 Oct 2020, Ethan A Merritt wrote:
> On Thursday, 15 October 2020 12:26:22 PDT Allin Cottrell wrote:
>> On Thu, 15 Oct 2020, Ethan A Merritt wrote:
>>
>>> On Thursday, 15 October 2020 08:02:27 PDT Allin Cottrell wrote:
>>>> Maybe I'm missing something, but isn't the documentation for
>>>> "jitter" backwards with respect to the swarm/square choice?
>>>>
>>>> The text reads thus: "The default jittering operation displaces
>>>> points only along x. This produces a distinctive pattern sometimes
>>>> called a "bee swarm plot". The optional keyword square adjusts the y
>>>> coordinate of displaced points in addition to their x coordinate so
>>>> that the points lie in distinct layers..."
>>>
>>> The text is correct as written. Perhaps the attached figure,
>>> combining two plots from jitter.dem, will clarify.
>>>
>>> Left panel:
>>> original data, randomly distributed on y, all x values the same
>>> Center panel:
>>> "beeswarm" result from displacing points along x
>>> if they would otherwise overlap.
>>> Points are still randomly distributed on y.
>>> Right panel:
>>> "square" plot uses the x displacements that would
>>> generate a beeswarm plot, and adds an y displacement
>>> that is effectively a floor(y) operation where the unit of
>>> the floor operation is the "overlap" parameter to jitter.
>>>
>>>>
>>>> In the demo and in my own usage it seems the default is in fact to
>>>> displace in both the x and y dimensions while "square" limits the
>>>> scatter to the x dimension. (Except that in some cases I'm not
>>>> getting any y displacement with either choice, but that's another
>>>> issue.)
>>
>> Thanks, Ethan. I think I get it now. But this is potentially quite
>> confusing -- to understand exactly what jitter is doing one really
>> has to look closely at the y data in numerical form. So 'swarm'
>> preserves the original y values and just shoves points sideways to
>> get them off each other, while 'square' will also regularize the y
>> values to get the points into straight rows (more or less).
>
> Bee swarm plots were new to me. I came across one in a paper I was
> reading and made a note to myself to look into it.
> The resulting gnuplot implementation was guided by what R does.
>
> A salient feature of bee swarm plots is that the jitter operation
> is reversible. If you consider any single point you can reconstruct
> its original [x,y] coordinates by projecting back onto the corresponding
> discrete x value.
>
> The "square" option loses this. It is essentially a representation
> of binned data with a small number of points in each bin. There is
> nothing to distinguish two points in the same bin from each other,
> as their original coordinates have been lost.
>
> As the number of points becomes large, both options are inferior
> to a violin plot. The violinplot demo compares them and also
> shows a Gaussian jitter.
>
>> And then, given a pile-up of data points at some discrete {x,y}
>> value, there's no option to nudge them apart in both dimensions to
>> form a cloud?
>
> This sounds nice, but if x and y are both continuous I don't think
> it is a well-defined operation. For a small-ish number of points you
> could define an energy function that has of a steep penalty gradient
> for overlap and then minimize the total energy by monte carlo.
> That rapidly becomes compute-intensive as the number of points
> increases.
>
> For x and y discrete there's a better option, sometimes called a
> bubble plot. At each discrete [x,y], draw a circle with size
> proportional to the number of points that piled up there.
> The "size" is a sore point, however. radius or area?
> I have not given much thought to whether that can be done with
> existing options in gnuplot or whether it would require new code
> or an external data processing stage.
Thanks again. All very clear.
It seems that what I was after in the doubly discrete case is really
a bubble plot (and I'd vote for area!).
--
Allin Cottrell
Department of Economics
Wake Forest University
|
|
From: Ethan A M. <me...@uw...> - 2020-10-15 20:52:24
|
On Thursday, 15 October 2020 12:26:22 PDT Allin Cottrell wrote:
> On Thu, 15 Oct 2020, Ethan A Merritt wrote:
>
> > On Thursday, 15 October 2020 08:02:27 PDT Allin Cottrell wrote:
> >> Maybe I'm missing something, but isn't the documentation for
> >> "jitter" backwards with respect to the swarm/square choice?
> >>
> >> The text reads thus: "The default jittering operation displaces
> >> points only along x. This produces a distinctive pattern sometimes
> >> called a "bee swarm plot". The optional keyword square adjusts the y
> >> coordinate of displaced points in addition to their x coordinate so
> >> that the points lie in distinct layers..."
> >
> > The text is correct as written. Perhaps the attached figure,
> > combining two plots from jitter.dem, will clarify.
> >
> > Left panel:
> > original data, randomly distributed on y, all x values the same
> > Center panel:
> > "beeswarm" result from displacing points along x
> > if they would otherwise overlap.
> > Points are still randomly distributed on y.
> > Right panel:
> > "square" plot uses the x displacements that would
> > generate a beeswarm plot, and adds an y displacement
> > that is effectively a floor(y) operation where the unit of
> > the floor operation is the "overlap" parameter to jitter.
> >
> >>
> >> In the demo and in my own usage it seems the default is in fact to
> >> displace in both the x and y dimensions while "square" limits the
> >> scatter to the x dimension. (Except that in some cases I'm not
> >> getting any y displacement with either choice, but that's another
> >> issue.)
>
> Thanks, Ethan. I think I get it now. But this is potentially quite
> confusing -- to understand exactly what jitter is doing one really
> has to look closely at the y data in numerical form. So 'swarm'
> preserves the original y values and just shoves points sideways to
> get them off each other, while 'square' will also regularize the y
> values to get the points into straight rows (more or less).
Bee swarm plots were new to me. I came across one in a paper I was
reading and made a note to myself to look into it.
The resulting gnuplot implementation was guided by what R does.
A salient feature of bee swarm plots is that the jitter operation
is reversible. If you consider any single point you can reconstruct
its original [x,y] coordinates by projecting back onto the corresponding
discrete x value.
The "square" option loses this. It is essentially a representation
of binned data with a small number of points in each bin. There is
nothing to distinguish two points in the same bin from each other,
as their original coordinates have been lost.
As the number of points becomes large, both options are inferior
to a violin plot. The violinplot demo compares them and also
shows a Gaussian jitter.
> And then, given a pile-up of data points at some discrete {x,y}
> value, there's no option to nudge them apart in both dimensions to
> form a cloud?
This sounds nice, but if x and y are both continuous I don't think
it is a well-defined operation. For a small-ish number of points you
could define an energy function that has of a steep penalty gradient
for overlap and then minimize the total energy by monte carlo.
That rapidly becomes compute-intensive as the number of points
increases.
For x and y discrete there's a better option, sometimes called a
bubble plot. At each discrete [x,y], draw a circle with size
proportional to the number of points that piled up there.
The "size" is a sore point, however. radius or area?
I have not given much thought to whether that can be done with
existing options in gnuplot or whether it would require new code
or an external data processing stage.
cheers,
Ethan
|
|
From: Allin C. <cot...@wf...> - 2020-10-15 19:56:31
|
On Thu, 15 Oct 2020, Ethan A Merritt wrote:
> On Thursday, 15 October 2020 08:02:27 PDT Allin Cottrell wrote:
>> Maybe I'm missing something, but isn't the documentation for
>> "jitter" backwards with respect to the swarm/square choice?
>>
>> The text reads thus: "The default jittering operation displaces
>> points only along x. This produces a distinctive pattern sometimes
>> called a "bee swarm plot". The optional keyword square adjusts the y
>> coordinate of displaced points in addition to their x coordinate so
>> that the points lie in distinct layers..."
>
> The text is correct as written. Perhaps the attached figure,
> combining two plots from jitter.dem, will clarify.
>
> Left panel:
> original data, randomly distributed on y, all x values the same
> Center panel:
> "beeswarm" result from displacing points along x
> if they would otherwise overlap.
> Points are still randomly distributed on y.
> Right panel:
> "square" plot uses the x displacements that would
> generate a beeswarm plot, and adds an y displacement
> that is effectively a floor(y) operation where the unit of
> the floor operation is the "overlap" parameter to jitter.
>
>>
>> In the demo and in my own usage it seems the default is in fact to
>> displace in both the x and y dimensions while "square" limits the
>> scatter to the x dimension. (Except that in some cases I'm not
>> getting any y displacement with either choice, but that's another
>> issue.)
Thanks, Ethan. I think I get it now. But this is potentially quite
confusing -- to understand exactly what jitter is doing one really
has to look closely at the y data in numerical form. So 'swarm'
preserves the original y values and just shoves points sideways to
get them off each other, while 'square' will also regularize the y
values to get the points into straight rows (more or less).
And then, given a pile-up of data points at some discrete {x,y}
value, there's no option to nudge them apart in both dimensions to
form a cloud? I had the idea that was what "bee swarm" was about,
but I guess I was mistaken.
--
Allin Cottrell
Department of Economics
Wake Forest University
|
|
From: Ethan A M. <me...@uw...> - 2020-10-15 16:46:35
|
On Thursday, 15 October 2020 08:02:27 PDT Allin Cottrell wrote: > Maybe I'm missing something, but isn't the documentation for > "jitter" backwards with respect to the swarm/square choice? > > The text reads thus: "The default jittering operation displaces > points only along x. This produces a distinctive pattern sometimes > called a "bee swarm plot". The optional keyword square adjusts the y > coordinate of displaced points in addition to their x coordinate so > that the points lie in distinct layers..." The text is correct as written. Perhaps the attached figure, combining two plots from jitter.dem, will clarify. Left panel: original data, randomly distributed on y, all x values the same Center panel: "beeswarm" result from displacing points along x if they would otherwise overlap. Points are still randomly distributed on y. Right panel: "square" plot uses the x displacements that would generate a beeswarm plot, and adds an y displacement that is effectively a floor(y) operation where the unit of the floor operation is the "overlap" parameter to jitter. > > In the demo and in my own usage it seems the default is in fact to > displace in both the x and y dimensions while "square" limits the > scatter to the x dimension. (Except that in some cases I'm not > getting any y displacement with either choice, but that's another > issue.) (figure attached) Ethan |
|
From: Allin C. <cot...@wf...> - 2020-10-15 16:38:41
|
I have a "jitter" test case with an integer-valued x variable. If I create a continuous y variable and plot with jitter, the swarm and square options give different plots (scatter in both dimensions with swarm, x dimension only with square). Fine (except it's the opposite of what "help jitter" says). However, if I make the y variable integer-valued swarm and square produce the same plot, with displacement along x only. Is that intended? It seems contrary to the general intent. (I might mention: 'vertical' produces y scatter OK in this case, but of course no x scatter.) -- Allin Cottrell Department of Economics Wake Forest University |
|
From: Allin C. <cot...@wf...> - 2020-10-15 15:29:21
|
Maybe I'm missing something, but isn't the documentation for "jitter" backwards with respect to the swarm/square choice? The text reads thus: "The default jittering operation displaces points only along x. This produces a distinctive pattern sometimes called a "bee swarm plot". The optional keyword square adjusts the y coordinate of displaced points in addition to their x coordinate so that the points lie in distinct layers..." In the demo and in my own usage it seems the default is in fact to displace in both the x and y dimensions while "square" limits the scatter to the x dimension. (Except that in some cases I'm not getting any y displacement with either choice, but that's another issue.) -- Allin Cottrell Department of Economics Wake Forest University |
|
From: Ethan A M. <me...@uw...> - 2020-10-10 02:30:31
|
Since splitting off the stable branch for version 5.4 a year ago,
I have been working on new directions for development.
One of these is the expansion of support for complex functions
and in particular for complex special functions.
These are generally incomplete or altogether missing in other packages,
so it is an area where gnuplot can fill a gap.
This work is now merged into the main git repository.
Demos for some of the additions are in the on-line collection:
http:/gnuplot.info/demo_5.5/
You can exercise them interactively in a new demo
load 'special_functions.dem'
Here is a summary from the documentation.
The full manual contains additional information about the implementations
with references.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This version of gnuplot provides a larger set of complex-valued functions
and updated versions of functions that were present in earlier versions.
* Updated incomplete gamma function with improved domain and precision.
Complex arguments accepted.
* Updated incomplete beta function with improved domain and precision.
* New function for the inverse incomplete gamma function.
* New function for the inverse incomplete beta function.
* New complex function LambertW(z,k) returns the kth branch of multivalued
function W_k(z).
Note that the older function lambertw(x) = real(LambertW( real(z), 0 )).
* New complex function lnGamma(z).
Note that existing function lgamma(x) = real(lnGamma(real(z)).
* Synchrotron function F(x).
* acosh(z) domain extended to cover negative real axis.
* asin(z) asinh(z) improved precision for complex arguments.
* Complex function conj(z) returns the complex conjugate of z.
* Predefined variable I = sqrt(-1) = {0,1} for convenience.
Additional special functions are supported if a suitable external
library is found at build time.
* Complex Bessel functions Iν(z), Jν(z), Kν(z), Yν(z) of order ν (real)
with complex argument z.
* Complex Hankel functions H1ν(z), H2ν(z) of order ν with complex z.
* Complex Airy functions Ai(z), Bi(z).
* Complex exponential integral of order n.
* Fresnel integrals C(x) and S(x).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
There is room for further development.
Please add comments and suggestions!
- Existing built-in functions, old and new, are inconsistent about how
they return very large values (floating overflow)
Some return VERYLARGE (system-dependent but generally 9.e+307)
Some return NaN
Some return +Inf
It would be nice to agree on a uniform convention and on how
to handle it while plotting.
- Support for complex igamma(z) in the domain real(z) < 0
- Support for complex elliptic integrals
- Modify "fit" to automatically handle complex-valued functions
- Support is dependent on external libraries found during configuration
(libcerf libopenspecfun libamos). Many linux distros have packages
for libcerf and libopenspecfun. I don't know how available they are
for Windows or OSX. Much of the code in these libraries originally
came from netlib and could be included in the gnuplot repository if
we wanted to do so.
Ethan
|
|
From: Ethan A M. <me...@uw...> - 2020-09-24 23:52:26
|
On Wednesday, 23 September 2020 18:39:55 PDT Erik Luijten wrote: > Dear Ethan et al., > > A Mac OS X package for version 5.4.0 is now available at > https://csml-wiki.northwestern.edu/index.php/Binary_versions_of_Gnuplot_for_OS_X > > If you encounter any problem, please let me know. > > There is one small compilation issue that *seems* to be due to the way that > src/Makefile is constructed. On the more recent versions of OS X, the X11 > libraries and header files are in /opt/X11, which ./configure does not > detect. This is fine, since I can use the options '--x-include=/opt/X11/include > --x-libraries=/opt/X11/lib' to specify this. However, the X11 library > location does not get used in the compilation of gnuplot (only for > gnuplot_x11, via the XLIBS variable), even though the main executable needs > the Xpm library. Manually adding -L/opt/X11/lib to LDFLAGS in src/Makefile > fixes this, but should not be necessary. > > Regards, > > Erik Does the patch below fix it? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/Makefile.am b/src/Makefile.am index 0b261ea47..3a8b9b499 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -69,6 +69,7 @@ pkglibexec_PROGRAMS += gnuplot_x11 gnuplot_x11_SOURCES = gplt_x11.c gplt_x11.h gpexecute.c gpexecute.h mousecmn.h version.c ver sion.h XLIBS = @LIBRARIES_FOR_X@ gnuplot_x11_LDADD = getcolor_x11.o $(XLIBS) +gnuplot_LDADD += $(XLIBS) endif getcolor_x11.o: getcolor.c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Ethan |
|
From: Ethan M. <eam...@gm...> - 2020-09-24 21:55:02
|
On Thursday, 24 September 2020 11:30:11 PDT Henri Menke wrote:
> Dear Ehtan,
>
> I just wanted to ask what is the status of this patch? It doesn't
> change the default behaviour but makes the notransparent option actually
> do something. If you want I can write sentence in the documentation
> about the layer ordering.
As I understand it, you want this not because of a problem in the gnuplot
latex output but rather because of a bug/misfeature/quirk of some downstream
program that fails to validate the pdf file produced by running pdflatex on
the gnuplot output. Do I have that right?
The thing is, if a user selects the "notransparent" option with your patch
applied then the output from gnuplot is incorrect.
It loses the "back" layer of text, including the default axis tic labels.
This can be partially worked around by
set tics front
set grid front
but then the axis borders and tics in a 3D plot incorrectly occlude the
plotted surface. This has the paradoxical effect of making the
"notransparent" option cause a pm3d surface to look transparent!
Therefore I do not like the patch as it stands. In order to produce
correct 3D output further changes to the program would be required
to separate the handling of border text and lines.
Would it not be better to document that for some purposes
it may be helpful to post-process the png image?
mogrify -flatten myfigure-inc.png
I think that achieves exactly the same result (including the problematic 3D border)
at the cost of one extra step. But I could be wrong; maybe your validation program
still doesn't like it eve after flattening?
] cheers,
Ethan
>
> Cheers, Henri
>
> On 21/08/20, 13:34, Henri Menke wrote:
> > Currently the cairolatex terminal does not respect transparency options
> > given in the terminal setting. In this minimal example the
> > notransparent option is ignored:
> >
> > set terminal cairolatex png notransparent
> > set output "test.tex"
> > plot sin(x)
> >
> > Running this through gnuplot and then using `file' reveals that the
> > alpha channel is still present:
> >
> > $ gnuplot test.gnuplot && file test.png
> > test.png: PNG image data, 1500 x 900, 8-bit/color RGBA, non-interlace
> >
> > With this patch the transparency setting will be honoured. The current
> > default setting of implicitly assuming transparency is unaltered.
> > ---
> > term/cairo.trm | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/term/cairo.trm b/term/cairo.trm
> > index ee748dfe2..3ef76ecc6 100644
> > --- a/term/cairo.trm
> > +++ b/term/cairo.trm
> > @@ -849,7 +849,7 @@ void cairotrm_graphics()
> > plot.background.g = cairo_params->background.g;
> > plot.background.b = cairo_params->background.b;
> > gp_cairo_set_background(cairo_params->background);
> > - if (ISCAIROLATEX || cairo_params->transparent)
> > + if (cairo_params->transparent)
> > gp_cairo_clear_background(&plot);
> > else
> > gp_cairo_solid_background(&plot);
>
>
> _______________________________________________
> gnuplot-beta mailing list
> gnu...@li...
> Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-beta
>
|
|
From: Henri M. <hen...@gm...> - 2020-09-24 18:30:41
|
Dear Ehtan, I just wanted to ask what is the status of this patch? It doesn't change the default behaviour but makes the notransparent option actually do something. If you want I can write sentence in the documentation about the layer ordering. Cheers, Henri On 21/08/20, 13:34, Henri Menke wrote: > Currently the cairolatex terminal does not respect transparency options > given in the terminal setting. In this minimal example the > notransparent option is ignored: > > set terminal cairolatex png notransparent > set output "test.tex" > plot sin(x) > > Running this through gnuplot and then using `file' reveals that the > alpha channel is still present: > > $ gnuplot test.gnuplot && file test.png > test.png: PNG image data, 1500 x 900, 8-bit/color RGBA, non-interlace > > With this patch the transparency setting will be honoured. The current > default setting of implicitly assuming transparency is unaltered. > --- > term/cairo.trm | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/term/cairo.trm b/term/cairo.trm > index ee748dfe2..3ef76ecc6 100644 > --- a/term/cairo.trm > +++ b/term/cairo.trm > @@ -849,7 +849,7 @@ void cairotrm_graphics() > plot.background.g = cairo_params->background.g; > plot.background.b = cairo_params->background.b; > gp_cairo_set_background(cairo_params->background); > - if (ISCAIROLATEX || cairo_params->transparent) > + if (cairo_params->transparent) > gp_cairo_clear_background(&plot); > else > gp_cairo_solid_background(&plot); > -- > 2.28.0 > |
|
From: Erik L. <eri...@gm...> - 2020-09-24 01:40:25
|
Dear Ethan et al., A Mac OS X package for version 5.4.0 is now available at https://csml-wiki.northwestern.edu/index.php/Binary_versions_of_Gnuplot_for_OS_X If you encounter any problem, please let me know. There is one small compilation issue that *seems* to be due to the way that src/Makefile is constructed. On the more recent versions of OS X, the X11 libraries and header files are in /opt/X11, which ./configure does not detect. This is fine, since I can use the options '--x-include=/opt/X11/include --x-libraries=/opt/X11/lib' to specify this. However, the X11 library location does not get used in the compilation of gnuplot (only for gnuplot_x11, via the XLIBS variable), even though the main executable needs the Xpm library. Manually adding -L/opt/X11/lib to LDFLAGS in src/Makefile fixes this, but should not be necessary. Regards, Erik On Thu, Jul 16, 2020 at 2:28 PM Ethan A Merritt <me...@uw...> wrote: > Gnuplot version 5.4 - first release > > I have placed a source tarball for 5.4 on SourceForge > > > https://sf.net/projects/gnuplot/files/gnuplot/5.4.0/gnuplot-5.4.0.tar.gz > > Release Notes with new feature list > > http://gnuplot.info/ReleaseNotes_5_4.html > > Version 5.4.0 is the start of a new "major release" series. > It supersedes version 5.2, first released in September 2017. > > I realize that there may be unresolved issues with building Windows > binaries > for Windows 10, but I decided that it is not reasonable to hold up release > any > longer for issues that appear to be more related to system configuration > than to > the gnuplot source. If necessary we can put out a Windows-specific > patchlevel 1. > As always, I am totally reliant on and extremely grateful to the volunteers > who put together Windows binaries from a source release package. > > cheers, and happy plotting > > Ethan > > > > > > > > > _______________________________________________ > gnuplot-beta mailing list > gnu...@li... > Membership management via: > https://lists.sourceforge.net/lists/listinfo/gnuplot-beta > |