Commit Graph

356 Commits

Author SHA1 Message Date
Brian Taylor 14316d7518 Merge branch 'pre-master-42' into bt_dev 2023-09-28 11:25:18 -07:00
Holger Vogt 01bdd44ef9 Modify the previous commit a616a0abe:
no spaces in the first column
2023-09-15 23:41:12 +02:00
Brian Taylor 9646e86884 Merge branch 'pre-master-42' into bt_dev 2023-09-15 10:34:57 -07:00
Vogt a616a0abe3 Add variable wr_onspace to allow printing the vetor name with
one space delimiter
2023-09-14 15:22:14 +02:00
Brian Taylor fe2b30bdd3 If a ".plot tran list_of_vectors" command contains an event node name in the list of vectors, then ft_agraf crashes when trying to create the output fields for an lpr style plot. Now event node vectors are ignored. Most users will use a .control section when plotting analog and digital vectors in non-lpr style. 2023-08-18 16:13:42 -07:00
Holger Vogt 62f803dfa5 Remove gcc compiler warnings 2023-08-12 15:11:04 +02:00
Holger Vogt 550f563e0d Remove gcc compiler warnings 2023-08-12 12:30:47 +02:00
Giles Atkinson 1c1a53bac8 Set default colours for the button box in the X11 plot window that
match the default dark background of the plot.
2023-07-15 11:30:29 +02:00
Giles Atkinson 5114d6c2f4 Add an option to the iplot command: -d sets the number of simulation
steps before the window is shown.  The value can be chosen to
limit rapid resizing when starting and that is used in the PLL examples.
2023-07-15 11:29:32 +02:00
Giles Atkinson e5a931e537 Improve commands for vector scales. "setscale" can now change
or clear the scale of an individual vector and "compose" can
explicitly create a vector from XSPICE event node history.
2023-07-15 11:28:48 +02:00
Giles Atkinson e0cc583669 Set default colours for the button box in the X11 plot window that
match the default dark background of the plot.
2023-06-24 17:24:09 +02:00
Giles Atkinson 1a056f935c Add an option to the iplot command: -d sets the number of simulation
steps before the window is shown.  The value can be chosen to
limit rapid resizing when starting and that is used in the PLL examples.
2023-06-20 20:01:41 +02:00
Giles Atkinson 8ce190e7d6 Improve commands for vector scales. "setscale" can now change
or clear the scale of an individual vector and "compose" can
explicitly create a vector from XSPICE event node history.
2023-06-20 20:01:31 +02:00
Giles Atkinson 45015f974d Add a "-w" option to the iplot command. It sets a width for the
window (in the current scale units) so that it does not re-scale
on overflow, but instead plots recently-generated data on a fixed scale.
2023-05-27 10:46:45 +02:00
Giles Atkinson 7a5514a1ff In graf.c change local function set() to do what you might expect,
rather than the opposite.  Also fix a debug message.
2023-05-27 10:46:24 +02:00
Giles Atkinson fdb8ee3806 Add a "-w" option to the iplot command. It sets a width for the
window (in the current scale units) so that it does not re-scale
on overflow, but instead plots recently-generated data on a fixed scale.
2023-05-02 13:13:02 +01:00
Giles Atkinson 81e07e8ece In graf.c change local function set() to do what you might expect,
rather than the opposite.  Also fix a debug message.
2023-05-02 12:52:45 +01:00
Giles Atkinson 79fcb5d4bd Fix plotting bug reported by Robert Turnbull: ngspice-devel 2023-02-10. 2023-03-18 14:34:50 +01:00
Giles Atkinson 2233e2f825 Fix Bug #624 - "Destroy All Fails with an Open Plot Window" for X11.
Move XftDrawDestroy() call to a point where the window still exists.
2023-03-18 14:34:20 +01:00
Holger Vogt a5eaac128a For monotonic plotting find out the majority of increasing or decreasing
x-axis values, add a warning to add 'retraceplot' to plot all if more than
10% of the values deviate from the majority.
2022-12-11 15:37:14 +01:00
Holger Vogt 7f65a68ad6 Improve (a little) the plotting of digital data with plot option digiplot:
Repair scaling on MS Windows:
Suppress y axis lettering and unit:
Allow or dis-allow grid.
2022-10-07 13:05:56 +02:00
Giles Atkinson 88481d4bfb Further change for #578 "Crash while plotting single complex vector".
Move the check on vector lengths to ensure all cases are covered.
2022-05-09 10:07:33 +02:00
Giles Atkinson 41e48b954d Rename a variable so that it does not clash with one in outer scope. 2022-04-26 10:37:28 +02:00
Giles Atkinson 519915202f Fix Bug #577 "Zooming iplot drops vectors" and three crashes when
the iplot window is closed during simulation.
2022-04-26 10:36:55 +02:00
Giles Atkinson c65155880c Make "nogrid" plotting option work. The deleted code was in the original
commit, so the reason for it can not be traced.
2022-04-26 10:32:39 +02:00
Holger Vogt 20d5919e59 Terminal setting to X11 fails in macOS, and is not required
on Linux.
Setting terminal here is redundant, so remove this setting.
2022-02-22 15:22:21 +01:00
Holger Vogt 12a93c9fe6 Update to plotting of event nodes:
Distance is now 1.5, scaling and cutouts are possible
(with some lack of precision).

Still missing: y axis labeling (no numbers, but node names).
2022-02-21 20:19:56 +01:00
Holger Vogt 0557bc60bf Prevent crash if nsp is evaluated to 0 2022-02-21 16:56:16 +01:00
Holger Vogt 917dab9da7 new flag 'digitop' for the 'plot' command:
Plot digital (event nodes) vertically, separated by 0.1
The grid is adapted acordingly.
set xbrushwidth=3 will yield good results.
2022-02-19 17:25:57 +01:00
Brian Taylor b774d03162 Change the y-axis direction for a 2d Cider gnuplot. The device surface is at the top and downwards is into the material, which is the normal presentation. Note that the x/y mesh commands in a Cider model also affect the orientation. 2022-02-17 15:45:28 +01:00
Holger Vogt 62f326b9d0 Fix a bug from previous commit: min -> MIN 2022-02-07 22:39:27 +01:00
Holger Vogt 640fa7e17b bug 578 crash when scale is too short
Warning message if scale and vector length do not match.
Restrict number of points plotted to the smaller of both.
2022-02-07 15:59:43 +01:00
Holger Vogt 4f82a24df2 Add parameter 'isgrid' to plotting of arcs.
Smithgrid and polar plots could not discern between xgridwidth and
xbrushwidth. This is now available, similar to straight line plotting.
Tested also for PS and SVG.
2022-02-01 12:23:29 +01:00
Giles Atkinson 6494befb2f Request backing store for X11 plot windows. When supported by the X server
windows are redrawn vey quickly without replotting.
2022-01-28 12:24:58 +01:00
Giles Atkinson f4285384e7 Add code in graf.c to merge connected lines with the same slope before
plotting.  This speeds output and reduces file size when the vector
length is much larger than the number of pixels.  It should help with
Feature Request #58:
  "Graph plotting under windows redraw very slow and hard to work with",
but is not a full fix.
2022-01-28 12:24:51 +01:00
Brian Taylor 8e75cad453 Fix missing initializer warning. 2021-12-13 21:50:30 +01:00
Holger Vogt 57f6d41e69 Enable math characters in vector (node) names for plotting
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:28 +01:00
Brian Taylor 38848259e4 With the ngspice gnuplot command, enable x/y contour plots for 2d Cider save file data. Usage: gnuplot <file> xycontour <expr>. xycontour is a new flag which is ignored if the plot data is not from 2d Cider. For contours, only a single plotarg <expr> is allowed. With <expr1> vs <expr2>, only <expr1> is plotted and <expr2> is ignored. 2021-10-30 13:21:32 +02:00
Holger Vogt 58bdf9e0e6 Remove 'goto end' and 'end:' statements. 2021-07-05 14:11:48 +02:00
Holger Vogt d0da4bebd3 make variable 'dir' local 2021-07-05 14:10:44 +02:00
Holger Vogt e91ec306ba Remove some compiler warnings 2021-07-02 11:58:10 +02:00
Holger Vogt 1ba168ff30 clarify call to gnuplot on Linux/Cygwin 2021-03-14 15:33:17 +01:00
Holger Vogt 7b9d1fb74a enable variable 'nolegend' for gnuplot 2021-03-14 15:33:10 +01:00
Holger Vogt f61ea3aa96 if 'set nounits' is given, plotting of the units is suppressed
(they may be added manually to the y and x labels for SI conformity).
2021-03-14 15:32:49 +01:00
Holger Vogt 43f3fceb75 enable svg also for console app on Windows 2021-03-14 15:32:31 +01:00
Holger Vogt f31ae08f0b remove unused args 2021-03-14 15:32:15 +01:00
Holger Vogt 1607b3a21f X11: Add a button for writing an SVG file to the plot window.
Update button texts.
Add a function hardcopySVG to write the SVG file, called by
clicking the SVG button.
2021-03-14 15:32:03 +01:00
Holger Vogt dacd727d87 separate svg and postscript
suitable text placement for svg
2021-03-14 15:30:06 +01:00
Holger Vogt 87b59d22a5 add generation of svg graphics file
based on patch no. 97 by Giles Atkinson
2021-03-14 15:29:53 +01:00
Holger Vogt a77b529928 set the locale to "C" locally, if shared ngspice 2021-01-29 10:44:28 +01:00