Thanks for the fix!
Thank you for reply. The presence of minor tics with no corresponding major tics was, in fact, one of the complaints in Bug 2717. Well, I guess that’s true. The length of the "1" tic in mylogtics is the same as that of the major tics OK, this is not a very important point. I may have been asking for too much, so I’ll take it back. Reviced Proposed Syntax Ver.2 set mylogtics m1 m2 m3 ... This command would generate minor tics at positions such as 'm1* 10^k', 'm2 * 10^k', 'm3 * 10^k' between each major...
I personally consider example plots 1, 2, and 3 in the emulation script to be terrible - to the point that I would consider it a bug if the program produced such a plot. The presence of minor tics with no corresponding major tics was, in fact, one of the complaints in Bug 2717. Plot 4 is fine. But you can get that exact plot now with the script below. set format x "10^{%L}" set format y "10^{%L}" set xtics border out scale 2,1 mirror set ytics border out scale 2,1 mirror set log xy set ytics 1000...
set command to specify minor tics on logarithmic axes
Hmm, that brings us back to the original discussion. Just as an example, would it be possible to introduce a third option to the set xtics command, something like autologscale? autologscale: Switches between logscale and noloscale based on the number of major tics (default) logscale: Forces logarithmic tics nologscale: Forces additive (linear) tics
-e argument string ignores newlines with unhappy results
Plotting heatmap with sparse matrix fails if either (min_x, min_y) or (max_x, max_y) are missing
OK to have missing corners in a image represented by a sparse matrix
No luck, I continue to have the problem regardless of font type
Try a different kind of font? In particular compare the results using a font known to be provided as *.ttf known to be provided as *.otf known to be provided as *.pfb (these are mostly TeX fonts I think)
I'm on Arch so my versions are much later. However I downgraded everything to match the exact versions you posted and I still have the same problem. Any other ideas?
The prime suspects would be the flow of text rendering through cairo->pango->[harfbuzz?] support libraries. It could be that one of the component libraries is a bad version all by itself, but it is also possible that each of the libraries is fine on its own but there is a mismatch between them. pango and harfbuzz in particular have undergone a lot of churn in recent years and there have been a lot of problems reported with font kerning and hinting. I haven't seen a report of bad coloring, but going...
The prime suspects would be the flow of text rendering through cairo->pango->[harfbuzz?] support libraries. It could be that one of the component libraries is a bad version all by itself, but it is also possible that each of the libraries is fine on its own but there is a mismatch between them. pango and harfbuzz in particular have undergone a lot of churn in recent years and there have been a lot of problems reported with font kerning and hinting. I haven't seen a report of bad coloring, but going...
Whoops, here's the file
Hi Ethan, thanks for the continued help! Your dump.kitty looks fine on my machine, but my output does not! So the file itself has the text drawn wrong somehow. Attaching just so you can confirm. At this point I'm assuming you'll need more system info to debug, so let me know how I can provide that.
Issues with qt
Data points are not appeared when using yerrorbars
This is a duplicate of Bug 2749 https://sourceforge.net/p/gnuplot/bugs/2749/ Fix will be in 6.0.3
For the "too many marks" case above, I think the recommendation would be to use set xtics logscale 100; set mxtics For the "no mark" case above, I think the recommendation would be set xtics logscale 1.0; set mxtics
You are right that correct that in the case of logscale x and "set xtics nolog" the same adjustment to minor tic placement and range checks is needed as in the earlier fix. I have made that change. As to the other examples you show, I agree that there are cases where the current behavior produces too many tick marks. But the "traditional way" produced even worse results in a bunch of other cases. See for example Bugs #2372 and #2717. That was the motivation for the original change. I feel like this...
more fixups for placement of minor tics when logscale axis uses linear tic spacing
I think the first thing to do is to pin down whether the output from gnuplot is already corrupt, or the gnuplot output is fine but something goes wrong when displayed in a particular terminal or display. Could you please attach the kitty output from your machine here as a text file? That way I can view it on my system and see whether it looks correct on not. set term kittycairo transparent size 1000,700 set output 'dump.kitty' set title "Longer title so I can see it better " textcolor rgb "#ffffff"...
I think the first thing to do is to pin down whether the output from gnuplot is already corrupt, or the gnuplot output is fine but something goes wrong when displayed in a particular terminal or display. Could you please attach the kitty output from your machine here as a text file? That way I can view it on my system and see whether it looks correct on not. set term kittycairo transparent size 1000,700 set output 'dump.kitty' set title "Longer title so I can see it better " textcolor rgb "#ffffff"...
I can see that this implementation should be sufficient for simple cases. This is not my area of expertise, so I do not feel confident of judging whether it is sufficient or optimal as the number of terms becomes very large or the magnitude of the individual terms becomes large. I worry that sequential multiplication can lead to overflow more often than sequential addition. There also may be concerns about loss of precision. For example, I wonder if there is a good way to decide when it would be...
Ok, I don't think it's Qtile, I've tested also with Sway and Hyprland and I'm getting the same results. Btw, the terminal has partial transparency, not full.
Oddly enough, I just tested this on my laptop and I'm getting the same problem, this time on Wayland. So it must be either a) a problem with gnuplot or b) a problem with my window manager, Qtile.
I just tested with Konsole and ghostty and had the same problem, so looks like it's not a problem with the terminal emulator. In each case transparency was set using the terminal emulator config. So what should I look at next? The compositor?
Please see comments attached to this support request: https://sourceforge.net/p/gnuplot/support-requests/300/ The word "interactive" means different things to different people, and to different programs. The gnuplot variable "interactive" is TRUE if the next command will be read from stdin, FALSE if the next command will be read from some file handle other than stdin. This is probably not what a typical user would expect it to mean.
GPVAL_INTERACTIVE
prod for calculate product similarly to sum
I observed the bug reported by the original poster may not be fully resolved yet. If the test script's "set xtics ... logscale" is changed to "set xtics ... nologscale", a similarly broken plot is still produced. When the plot size is reduced, as in the following script, it becomes more apparent that grid lines are drawn outside the intended plot area. This behavior is also reproducible in the older version 5.2.8, so it appears to be a long-standing issue. set size 0.5,0.5 set origin 0.2,0.1 set...
Example in "Complex values" section doesn't work as presented in text
Plot text not rendering nicely in kitty
While it is possible that the values for hinting or antialiasing sent from the gnuplot kittycairo terminal to the cairo library might have a slight effect on the result, I don't think that is what you see here. I would guess that it is a compositing failure by the terminal emulator you are using to run gnuplot in. I can't tell from your screenshot whether the visible background is being managed by your terminal emulator or whether the terminal emulator is set to transparent and you are seeing through...
"set boxwidth" is now applied to "plot ... bins ... with hsteps"
hsteps: Enable "set boxwidth" when the bins filter is applied
misplaced mxtics/mytics on short logscale
Thanks for the test case. Fixed now in 6.1 and will be included for 6.0.3 As to the switch from x10 to +10, that is intentional. The idea is that since 6.0.2 the program checks to see how many logscale axis tics would be placed using the default algorithm. If this would be less than three ticmarks it reverts to placing a larger number of linear-spaced marks instead (+10). The bug was that it didn't properly correct the placement of minor tics to match this.
when logscale tic placement is adjusted, mtics placement must change also
Plot text not rendering nicely in kitty
Plotting heatmap with sparse matrix fails if either (min_x, min_y) or (max_x, max_y) are missing
Hey! I noticed the same problem (for the y axis). The commands set logscale y set ytics 10 logscale actually produces a tic at every +10 and not ×10, makes that helps to find the origin of this problem. Thanks, Alex
hsteps: Enable "set boxwidth" when the bins filter is applied
Pass udf as an argument
Control horizontal separation of outliers in boxplots
Queued for 6.0.2 "set jitter" applies to boxplot outliers
Data points are not appeared when using yerrorbars
This is a duplicate of Bug 2749 https://sourceforge.net/p/gnuplot/bugs/2749/ Fix will be in 6.0.3
boxplot does not add label when using the every specificier
Fix broken cases of "set colorbox invert"
But I can totally see how providing a string constant in parentheses would seem like it would substitute for a real fourth column just the way providing a numerical constant in parentheses substitutes for numerical values in a real data column. Your explanation really cleared things up for me. In a plot command such as: plot $data using (1):2:(0.5):("A") with boxplot the fourth column, ("A"), can be interpreted as indicating that every record belongs to the category (or factor) "A". Anyhow, that's...
Data points are not appeared when using yerrorbars
I took the intended meaning of the documentation sentence you quote to be You can place an identifying label at this position under the boxplot by adding an xticlabel specifier in the plot command (two or three column syntax) or by providing labels in a fourth column of the data file (four column syntax). But I can totally see how providing a string constant in parentheses would seem like it would substitute for a real fourth column just the way providing a numerical constant in parentheses substitutes...
Actually, I had assumed that the original poster's syntax should work as intended. This is because the "help boxplot" documentation contains the following description regarding x-axis labels: You can place an identifying label at this position under the boxplot by adding an xticlabel specifier in the plot command (two or three column syntax) or by providing it as a string in a separate data column (four column syntax). While the latter part of the documentation mentions that the fourth field can...
Huh. I see what your patch is doing, but I am not sure that is really the issue here. It depends on what the original poster was actually aiming for. The fourth field of the boxplot "using" specifier is intended to be a column identifier, not a label. Are you assuming the original intent was this command? plot $data using (1):2:(0.5):xticlabel("A") every :::0::0 with boxplot, \ $data using (2):2:(0.5):xticlabel("B") every :::1::1 with boxplot That indeed uncovers a bug, which can be worked around...
boxplot: using (start):2:3:4 every :::n::n should work
boxplot: using 1:2:3:xticlabel("foo") should work
I'm not the original poster, but I was able to reproduce the issue. In the following script: $data <<EOD 1 1 2 8 3 6 4 6 5 5 6 8 7 9 8 7 9 6 10 5 1 4 2 3 3 4 4 5 5 6 6 6 7 7 8 2 9 3 10 5 EOD set yrange [0:*] set offset 0,0,1,1 unset key plot $data using (1):2:(0.5):("A") every :::0::0 with boxplot, \ $data using (2):2:(0.5):("B") every :::1::1 with boxplot pause -1 set xrange [-1000:3] replot pause -1 Label "A" is placed correctly, but label "B" is placed at x = -999 instead of its expected position....
Filled Contours
error messages on using a wrong array index
pgf is unable to check gnuplot version
Wrinting to a pipe in UTF-16 is incorrect indeed. Re-opening.
lua / tikz / pgf terminal not generating latex-compilable DVI and PostScript
spiderplot sampe in gnuplot.doc and null lines in the key box
bad stats output number format
contourplot: contour levels with only one label: set cntrlabel interval -1 doesn't work
remote hang for splot command when 'set view map'
windows: error in LaTeX when gnuplot is used with (semi)log axis in pgfplots
Yeah, but as I said that doesn't exactly match what "interactive" means to gnuplot. To first approximation what gnuplot knows is whether the input stream it is expecting to read the next command from is a terminal. Code excerpt from start of program here: #if defined(_WIN32) && !defined(WGP_CONSOLE) TextShow(&textwin); interactive = TRUE; #else interactive = isatty(fileno(stdin)); #endif But then the "interactive" flag is reevaluated every time the input source changes, which includes load commands...
With "when the console is open" I mean that gnuplot offers a line input where the user can type in commands, e.g., when gnuplot is called without any options. Compare this to "batch mode" when gnuplot is called with a filename of a file containing gnuplot commands. Here, the use cannot type in any commands as no line input (my term: "console") is available. Does that explain what I mean with "interactive"?
docs: error in example plot command for "with boxplot"
docs: error in example plot command for "with boxplot"
I can't diagnose this for certain without a copy of your data file 'box.txt'. Can you attach it here? In case it helps, let me try to clarify what command you show implies about the data file. The fourth field in the using specifier refers to a column in the input file. In your first command you have asked it to look for category strings in a column of the input file with columnheader "A". In the second command you have asked it to look for category strings in a column with columnheader "B". Is that...
It would be possible to provide a user-visible version of gnuplot's internal state variable "interactive". However I very much suspect that this doesn't exactly match what you want. For example gnuplot considers itself to be "not interactive" while it is executing a load <file> command, even if the load command was typed interactively by the user. Conversely, gnuplot can switch to what it considers interactive mode even when running in batch mode or from a pipe, if it needs to handle possible user/mouse/keyboard...
boxplot does not add label when using the every specificier
Detect (non-) interactive mode in script
I need to think about it some more and go back to look at the earlier modification.
It is the definition isnan(X) = (X==X)?0:1 that is incorrect. I believe this function definition is actually working as intended. isnan(x) = x==x ? 0 : 1 f(x) = (x==0)? NaN : x print "isnan(1)", isnan(1) # => 0 print "isnan(NaN)", isnan(NaN) # => 1 print "isnan(f(1))", isnan(f(1)) # => 0 print "isnan(f(0))", isnan(f(0)) # => 1 $data <<EOD 1 NaN 3 NaN 5 EOD s = "" plot $data using (0):(s=s.sprintf("%d %d\n",isnan($1),valid(1)),0) print s # => # 0 1 # 1 0 # 0 1 # 1 0 # 0 1 To me, it seems that the...
It is the definition isnan(X) = (X==X)?0:1 that is incorrect. This does not work in a using specifier exactly because evaluation of X==X sets an error flag. This is exactly why the separate function valid(x) was introduced. The recent change to serial evaluation makes it possible to define isnan(X) to work the way you want, which is good, and "fixes" case 2 of the multiplot example. I am not following the rationale for the proposed patch. I can see how case (2) shows that it might be useful to provide...
Figures are attached here.
The script compares the values in the second and third columns, and plots the valid and larger one. Attached are the outputs from gnuplot 6.0.2 and gnuplot 6.1.0 with patch [commit "3e1f93bd" & my patch]. These two figures match the expected changes resulting from the patch. In "case1" and "case2", all input data is referenced using "column(N)". This is the usage pattern addressed by this ticket. Case1 involves reading missing data and is therefore unaffected by the patch. In contrast, case2 involves...
I am confused. I wonder if you are seeing the same result from running that script that I do? You say "after applying the patch case 3 will produce the same plot as case 2 and 4", but for me cases 2 and 4 yield different plots. This is true either for gnuplot 6.0 or 6.1 (output attached) Using the current git tip commit 2cf853b0 I can make the output for 2 be the same as 4 by correcting the definition of isnan() to use serial evaluation: isnan(X) = (TEMP=(X==X)?0:1),TEMP). But now cases 2 3 and 4...
I think your plot isn’t working as expected due to two key points that need a small adjustment. 1. Use of "rgbcolor variable": To specify point colors, you should use the linecolor option (abbreviated as lc) together with "rgbcolor variable". So make sure your plot command includes something like: lc rgbcolor variable 2. Handling of the fourth column in "using": In your data, the fourth column appears to be a hexadecimal color code in double quotes, like "0xFF0000". Gnuplot treats this as a string....
I agree with you that would make sense from the user's point of view. Unfortunately I don't immediately see how to make that happen given the way the program is structured. The elements of the using specification are evaluated and applied as the data is read in (datafile.c). This includes xticlabel . The if filter is applied only after the data is passed back to plot2d.c or plot3d.c, but by that time any side effects of evaluating the using specification have already happened, including the creation...
Another alternative came to my mind: honor command line flags and options when called by a script, e.g., plot.gp -c data.txt foo.png Yet I don't even know if that is possible in Windows.
Windows: Access to positional command-line arguments (ARGV/ARGC)
Thank you for looking into this so quickly. If you have further thoughts on the matter, please attach them here or raise the issue for discussion on the gnuplot-beta mailing list. Here is how I think missing and invalid data should be handled in the using specification. Handling of Missing and Invalid Data in Parentheses Evaluation in the using Specification Missing Data When missing data is referenced using $N or column(N), the evaluation of the parentheses is determined as missing, even during...
There may be several related issues here, but the heart of the matter is your very pertinent observation that the comma operator for serial evaluation is not acting as a proper sequence point. In particular, error conditions are not cleared in between successive expression in (<exp1>,<exp2>,<exp3>,...). This is fixable, and the fix is now in version 6.1 via commit 2cf853b028 With that in place, it is possible to modify the definition of isnan in your sample script as follows: isnan(x) = (TEMP=(x==x)?0:1...
There may be several related issues here, but the heart of the matter is your very pertinent observation that the comma operator for serial evaluation is not acting as a proper sequence point. In particular, error conditions are not cleared in between successive expression in (<exp1>,<exp2>,<exp3>,...). This is fixable, and the fix is now in version 6.1 via commit 3e1f93bd. With that in place, it is possible to modify the definition of isnan in your sample script as follows: isnan(x) = (TEMP=(x==x)?0:1...
Guarantee that comma operator is a sequence point in serial evaluation
Guarantee that comma operator is a sequence point in serial evaluation
Apply 'if filter' to 'xticlabels()' as well
splot: black box around 3d plot in side-on viewing angle
using: Unexpected evaluation as “undefined” due to $N returning NaN
I am trying to use splot to display 3 dimension data, with a colorspec in the 4th column. For example, the first three lines of my "data" file read: 33.152 116.649 0.6 "0xFF0000" 33.150 116.654 0.8 "0xFD0402" 33.152 116.649 0.5 "0xFB0804" The 4th column is a 24 bit RGB color value. I have tried to set up the appropriate splot command, but I have been unable to get the plot line to satisfactorily display the data % splot "data" using 1:2:3:4 with dots lw 5 rgbcolor variable for example What would...
I think the document describes the correct behaviour, and that the tikz driver should be fixed. Right now, with the cairolatex driver, one can do things such as set term cairolatex png mono set term cairolatex size 5,3 and the second invocation kept the png and mono options, as expected from reading the documentation. This works with several other drivers that I just tested, only tikz is different. I really believe, that an homogeneous behaviour is desirable as much as possible, and that tikz should...
Support a header file in epslatex terminal
Provide "probability" scaling and axes
Patch for problems with _Bool
enable global setting of enhanced/noenhanced