X-Y Plot Region - Extends SMath Studio with a X-Y Plot Region. - Messages
#661 Posted: 8/4/2025 11:19:22 AM
The topic of scaling is quite difficult to implement and more details are needed to repeat.
In addition, I found that the document contains a ppi value in the header and it changes depending on the resolution at which the document was saved. Perhaps this also affects the display of the document.
In addition, I found that the document contains a ppi value in the header and it changes depending on the resolution at which the document was saved. Perhaps this also affects the display of the document.
Russia ☭ forever, Viacheslav N. Mezentsev
2 users liked this post
#662 Posted: 8/4/2025 9:12:39 PM
There are two more ppi problems in my setup with changing display devices:
- PNGs produced by by the Snapshot region are of different size depending on where they are created. At least their size in a book processed with pdflatex is different. I have to find out whether this is actually caused by different number of pixels or by some metadata in the PNG file (which I am not aware of so far)
- Screenshots created interactively using Greenshot have correct size if pasted back to SMath in one setup and appear enlarged in the other.
Edit:
It seems that the problems are related to having set a scale factor of 150% if using the internal monitor because of it's limited size (14") . The screenshot pasting and the snapshot region problems are solved, they now behave with the internal monitor the same way as using the external one.
The X-Y plot region, however, now is back to the original problem of much to small axis and tick labels. If I want the axis label to be of the same size as in a text region I have to set the font size to something between 13 (a little smaller) and 14 (a little larger).
BTW, now my dpi setting in the file and in the system information changed from 144 to 96.
- PNGs produced by by the Snapshot region are of different size depending on where they are created. At least their size in a book processed with pdflatex is different. I have to find out whether this is actually caused by different number of pixels or by some metadata in the PNG file (which I am not aware of so far)
- Screenshots created interactively using Greenshot have correct size if pasted back to SMath in one setup and appear enlarged in the other.
Edit:
It seems that the problems are related to having set a scale factor of 150% if using the internal monitor because of it's limited size (14") . The screenshot pasting and the snapshot region problems are solved, they now behave with the internal monitor the same way as using the external one.
The X-Y plot region, however, now is back to the original problem of much to small axis and tick labels. If I want the axis label to be of the same size as in a text region I have to set the font size to something between 13 (a little smaller) and 14 (a little larger).
BTW, now my dpi setting in the file and in the system information changed from 144 to 96.
Edited 8/4/2025 9:49:03 PM
Martin KraskaPre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#664 Posted: 8/5/2025 7:14:55 AM
Wrote... - implementation of a fully functional Animation;
- export to animated GIF; ...
It works fine.

pQuiverAnim.sm (58 KiB) downloaded 79 time(s).
Best regards.
Alvaro.
5 users liked this post
francesco rapuano 8/5/2025 2:50:30 PM, Вячеслав Мезенцев 8/5/2025 7:22:17 AM, sergio 8/5/2025 11:25:44 AM, NDTM Amarasekera 8/5/2025 4:59:45 PM, Davide Carpi 8/5/2025 5:10:45 PM
#665 Posted: 8/5/2025 12:29:06 PM
5 users liked this post
Rafael H Padilla Velázquez 8/5/2025 2:54:49 PM, Alvaro Diaz Falconi 8/5/2025 4:39:06 PM, Davide Carpi 8/5/2025 5:10:46 PM, ioan92 8/5/2025 2:39:44 PM, sergio 8/5/2025 1:56:02 PM
#666 Posted: 8/5/2025 8:51:20 PM
And various other things...
Now the new and old functionality of the plugin is being processed by a neural network. The code has become too complex for one person to maintain. Now I only give instructions and am a tester.
I try to check what the AI has written there, it does it in many ways better than me, but it often makes mistakes due to insufficiently clearly stated tasks.

Now the new and old functionality of the plugin is being processed by a neural network. The code has become too complex for one person to maintain. Now I only give instructions and am a tester.
I try to check what the AI has written there, it does it in many ways better than me, but it often makes mistakes due to insufficiently clearly stated tasks.

Edited 8/5/2025 9:05:26 PM
Russia ☭ forever, Viacheslav N. Mezentsev
2 users liked this post
#667 Posted: 8/6/2025 1:56:29 AM


Starting at (-2,2)

Van der Pol oscillator.sm (60 KiB) downloaded 75 time(s).
with an improved quiver version.
Best regards.
Alvaro.
Edited 8/6/2025 6:17:18 AM
#668 Posted: 8/6/2025 8:52:51 PM




Plugin updated. [BETA]
Changes:
- the animation control menu has been completely redesigned into a single, comprehensive "Animation" dropdown for a cleaner and more intuitive user experience;
- implemented a dynamic Play/Pause button that intelligently changes its text and function based on the current animation state;
- added Spacebar as a hotkey to toggle Play/Pause functionality, providing a standard and convenient control method;
- menu items for playback control (Stop, Next/Previous Frame, Export) are now dynamically enabled/disabled based on whether animation frames have been generated, preventing user confusion;
- improved animation state management: the "Stop" command now resets the animation to the first frame and pauses it without deleting the generated frames, allowing for immediate playback or frame-by-frame review. A full ResetAnimation is now triggered by deselecting the animation variable;
- implemented multiple ways to cancel an animation ("Cancel", unchecking and Animate.Variable:="");
- exporting a frame as an image (png,bmp,jpg,jpeg) is also supported, you need to specify the frame number at the end of the file name after the extension ("#n"). I haven't tested it myself yet;
- KeepAspectRatio property added.
The Gif encoder is a very basic implementation. Don't expect good quality until I find an accessible source.
My thanks to the developers of Gemini: xyplot-animate-heartbeat.sm (8 KiB) downloaded 93 time(s).
xyplot-aminate-circle.sm (10 KiB) downloaded 87 time(s).
xyplot-properties-vec2vec.sm (11 KiB) downloaded 84 time(s).
Edited 8/7/2025 12:33:58 AM
Russia ☭ forever, Viacheslav N. Mezentsev
5 users liked this post
Rafael H Padilla Velázquez 8/7/2025 4:13:33 PM, Alvaro Diaz Falconi 8/7/2025 5:31:51 PM, Martin Kraska 8/9/2025 5:38:22 PM, Davide Carpi 8/7/2025 9:25:41 AM, Oscar Campo 8/13/2025 11:28:21 AM
#669 Posted: 8/7/2025 9:29:59 AM
WroteThe Gif encoder is a very basic implementation. Don't expect good quality until I find an accessible source.
ScreenToGif utility has multiple good encoding algorithms, and is public. You can check if there is something useful here.
Edited 8/7/2025 9:31:46 AM
If you like my plugins please consider to support the program buying a license; for personal contributions to me: paypal.me/dcprojects
1 users liked this post
Martin Kraska 8/9/2025 5:38:14 PM
#670 Posted: 8/10/2025 2:39:56 PM
Animations: Changes in the frame rate are ignored until the next stop/start
The last Update of the plugin changed the behaviour of curve filling.
What I have now is

before the fill was under the curve. In the new version this is only possible if the curve does not exceed the upperl limit of the y axis

Actually I just want to fill a range between two x values.
I'd recommend to add an attribute to fill, i.e. the index of another trace to fill the area between the current and the referenced trace. Index 0 would mean the x axis y=0.
4-1.sm (36 KiB) downloaded 52 time(s).
The last Update of the plugin changed the behaviour of curve filling.
What I have now is

before the fill was under the curve. In the new version this is only possible if the curve does not exceed the upperl limit of the y axis

Actually I just want to fill a range between two x values.
I'd recommend to add an attribute to fill, i.e. the index of another trace to fill the area between the current and the referenced trace. Index 0 would mean the x axis y=0.
4-1.sm (36 KiB) downloaded 52 time(s).
Edited 8/10/2025 2:41:30 PM
Martin KraskaPre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
2 users liked this post
#671 Posted: 8/17/2025 9:44:34 PM
Feature proposal: Indicate the fill style in the legend. It may be a matter of taste but I think that in the example below the Maxima version of the legend is easier to comprehend.
In general, the X-Y Plot is getting better at an amazing pace. There is not much need to use Maxima 2D graphics any more, except for logarithmic axes and prettyprinted labels for a_b and a^b


QM-Linie_RK.sm (411 KiB) downloaded 29 time(s).
In general, the X-Y Plot is getting better at an amazing pace. There is not much need to use Maxima 2D graphics any more, except for logarithmic axes and prettyprinted labels for a_b and a^b


QM-Linie_RK.sm (411 KiB) downloaded 29 time(s).
Martin KraskaPre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
3 users liked this post
#672 Posted: 8/18/2025 2:00:43 PM




Plugin updated. [BETA]
Changes:
- added multiple fill modes controlled by FillStyle.Mode;
- animation frame rate now updates instantly when changed from the context menu;
- refactored drawing logic;
- the appearance of the curve in the legend has been changed.
Modes ToNextTrace and ToTrace not implemented. Auto - the default mode for normal filling of implicit curves.

Edited 8/18/2025 2:19:45 PM
Russia ☭ forever, Viacheslav N. Mezentsev
6 users liked this post
Rafael H Padilla Velázquez 8/18/2025 4:45:38 PM, sergio 8/18/2025 5:48:18 PM, Davide Carpi 8/18/2025 6:10:31 PM, NDTM Amarasekera 8/19/2025 1:33:19 AM, ioan92 8/19/2025 9:36:50 AM, Martin Kraska 8/20/2025 10:03:30 AM
#674 Posted: 8/20/2025 10:17:24 AM
Uni, thanks for the recent fixes/implementations. Now I have to fix the manual font size adjustments
No complaint, that should be easy with just some commands copied to the top of each worksheet.
I observe that one can remove the format commands once they were applied. They don't just override the dialog settings as long as they exist but rather change them permanently. Is this by design? Anyways, I am fine with how it is.
I observe a problem. If I try to copy the trace properties in the dialog window (top level entry for a single trace) the I get an error (recoverable soft crash):
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei XYPlotPlugin.SeriesEditor.(Object , EventArgs )
bei System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
bei System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
bei System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
bei System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
bei System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
bei System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ToolStrip.WndProc(Message& m)
bei System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I observe that one can remove the format commands once they were applied. They don't just override the dialog settings as long as they exist but rather change them permanently. Is this by design? Anyways, I am fine with how it is.
I observe a problem. If I try to copy the trace properties in the dialog window (top level entry for a single trace) the I get an error (recoverable soft crash):
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei XYPlotPlugin.SeriesEditor.(Object , EventArgs )
bei System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
bei System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
bei System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
bei System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
bei System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
bei System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ToolStrip.WndProc(Message& m)
bei System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Martin KraskaPre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#675 Posted: 8/20/2025 11:24:17 AM




QuoteI observe a problem. If I try to copy the trace properties in the dialog window (top level entry for a single trace) the I get an error (recoverable soft crash)
Plugin updated. Try it now.
Changes:
- the "format" dialog window (Traces Editor) has been reworked.
QuoteI observe that one can remove the format commands once they were applied. They don't just override the dialog settings as long as they exist but rather change them permanently. Is this by design? Anyways, I am fine with how it is.
Yes, this is the only way to manage properties accurately so far. Unfortunately, when adding a component, its name is not automatically changed, as one might expect. This happens because at the time of its creation there is no access to the sheet and it is impossible to find out the list of already created components located on it.
This leads to the problem that all components that have the same name will be available for changing properties.
In addition, due to the peculiarities of the computing process and storage of variables, the application of properties may not occur as it is recorded on the sheet. This is due to the fact that a variable in the list during the calculation of the document occupies a specific place in the internal storage. If we replace the value of this variable, its position will not change. The order corresponds to the order of their creation. This can lead to unobvious effects when setting properties if they are applied more than once in one document.
In general, using this method of settings is not quite typical. We lack an architect to design user interaction. I only suggest what can be practically implemented and is not too complicated, and is also extensible.
Edited 8/20/2025 11:34:28 AM
Russia ☭ forever, Viacheslav N. Mezentsev
#676 Posted: 8/20/2025 11:48:42 AM
#677 Posted: 8/20/2025 12:21:08 PM
#678 Posted: 8/20/2025 3:41:26 PM




Plugin updated.
Changes:
- Completely refactored the drawing logic for X, Y, and Y2 axes;
- Implemented intelligent clipping and clamping for axis labels;
- The logic for drawing text labels (LabelSeries) has been improved;
- Text labels now automatically adjust their position based on the size of the associated series symbol;
- The rendering logic now correctly handles different scenarios: drawing only a symbol, only text, or a symbol with an adjacent text label;
- The activation areas for per-axis zooming (hovering over an axis and using the mouse wheel) are now calculated dynamically.
Russia ☭ forever, Viacheslav N. Mezentsev
6 users liked this post
sergio 8/20/2025 5:10:56 PM, Rafael H Padilla Velázquez 8/20/2025 7:08:34 PM, Davide Carpi 8/20/2025 9:02:49 PM, Alvaro Diaz Falconi 8/21/2025 1:46:51 AM, francesco rapuano 8/21/2025 12:46:00 PM, Andrey Ivashov 8/20/2025 8:45:49 PM
-
New Posts
-
No New Posts