Changelog¶
algviz 0.3.1¶
New interfaces:
Vector.marks: emphasize one or more cell(s) in the Vector by mark it’s background color.
Table.marks: emphasize one cell in the table by mark it’s background color.
Graph.markNodes: emphasize some nodes by mark it’s background color.
Graph.markEdges: emphasize some edges by mark it’s stoke color.
setUpRandomSeed: set up the random seed when program startup or manually.
Visualizer.removeCursors: remove some cursor objects from viewport.
New feature:
Fixed bugs:
algviz 0.3.0¶
Support to layout different display objects and assemble the animation sequences. To use this feature, you need to do these things:
The layout engine is platform specific, please make sure your OS is
Windows
orLinux
and your platform isamd64/x86_64
architecture.
#. Add the
layout=True
parameter when creating the ``Visualizer` <https://algviz.readthedocs.io/en/0.3.0/api.html#algviz.visual.Visualizer>`_ object (the default value oflayout
isFalse
for compatibility). #.Add the ``Visualizer.layout` <https://algviz.readthedocs.io/en/0.3.0/api.html#algviz.visual.Visualizer.layout>`_ function in your code where you want to assemble the animation sequences (usually at the end of the code path).
algviz 0.2.3¶
Adaptation to recent versions of the ipython library (8.0.0 ~ 8.12.0).
New feature: Added the ``generateRandomGraph` <https://algviz.readthedocs.io/en/0.2.3/api.html#algviz.graph.generateRandomGraph>`_ interface, related issue7.
Fix bug: Access table with cursor throw exception when “show_index=False”
algviz 0.2.2¶
Add a new class Map which can be used like the Python
dict
builtin.Fix bugs:
table.reshape
error, algviz.parseBinaryTree issue.
algviz 0.2.1¶
Layout and display optimizations for RecursiveTree and undirected graph.
Fix some typos and small mistakes.
algviz 0.2.0¶
New feature: add animation effect for text labels in Vector, Table and Graph nodes.
New interfaces: Vector.removeMarks, Table.removeMarks, SvgGraph.removeMarks can remove multiple color marks in the display object.
Change interface: Table.mark adds two parameters
r2
andc2
to support marking multiple elements in the given rectangle area.Fixed bugs:
Unit tests failed for Logger.
Display area is clipped in some Logger object.
Refresh error when calling Logger.clear.
algviz 0.1.8¶
New interfaces:
TreeNode.childCount returns the children nodes count.
GraphNode.neighborCount returns the neighbors count of this node.
Logger new display style: set the log font size and wheather to show log line num in the Visualizer.createLogger interface.
algviz 0.1.7¶
New interfaces TreeNode.childAt, TreeNode.childIndex and TreeNode.removeAt for
TreeNode
.New interfaces GraphNode.neighborAt, GraphNode.neighborIndex and GraphNode.removeAt for
GraphNode
.
algviz 0.1.6¶
Interfaces change
Visualizer.createCursor swap the position of parameters
offset
andname
.Visualizer.cursorRange swap the position of parameters
step
andname
.Add a new class RecursiveTree, which can make it easier to track the recursive algorithm.
Fixed bugs:
Crash when the TreeNode value is an empty string.
CursorRange iterator range error.
algviz 0.1.5¶
Fixed some known bugs about cursor.
Update some constructor interfaces.
algviz 0.1.4¶
This version adjusts the interfaces to create or remove cursors. Instead of creating the identical cursors bound with different Vector or Table objects, you can create the cursor one time then it will be bound with display objects which been accessed by the cursor.
Interfaces change:
`Cursor <https://algviz.readthedocs.io/en/0.1.4/api.html#algviz.cursor.Cursor>`_ operations extend:
Add assignment operation:
<<
Add mathmatics operations:
%
,+=
,-=
,*=
,//=
,%=
Added interfaces: Visualizer.createCursor, Visualizer.removeCursor, Visualizer.cursorRange
Deprecated interfaces: Vector.new_cursor, Vector.remove_cursor, Table.new_col_cursor, Table.new_row_cursor, Table.remove_cursor, Cursor.dec, Cursor.inc, Cursor.update.
Added new class: AlgvizTypeError.
Fixed bugs:
Can not access Table row/column index with Cursor object.
Cursor move distance error when cell width is not equal with cell height in Table/Vector.
algviz 0.1.3¶
Interfaces change:
Remove colorsInfo() and
colors
, usecolor_black
,color_red
and so on instead.Update interface Visualizer.createTable: change the type of paramter
cell_size
from float into tuple(float, float), in order to support setting the cell height of table elements.Update interface Visualizer.createVector:
Change the type of paramter
cell_size
from float into tuple(float, float), in order to support setting the cell height of vector elements.Change the paramter
bar
intohistogram
(type is bool, means display the data in the form of a histogram).
Update interfaces
Vector.mark
,Table.mark
,SvgGraph.markNode
andSvgGraph.markEdge
: change the default value of paramterhold
from True into False.
Display change:
Change
Logger
display format into normal string.Display the name of visualizer objects by string instead of
Table
.No longer mark items cell automatically when access or modify data in items.
Remove useless comments and titles in the SVG output result of
SvgGraph
..
algviz 0.1.2¶
SVG animation visual effection optimization: divide the animation of disappearing, moving and appearing into different animation sequences.
Add new exceptions: AlgvizParamError, AlgvizRuntimeError, AlgvizFatalError.
algviz 0.1.1¶
Add cursor support for Vector and Table.
Add Cursor class to display the cursor position change in Vector and Table.
Add interface new_cursor, remove_cursor in Vector.
Add interface new_row_cursor, new_col_cursor in Table.
Add reshape interface in Table.
Compress SVG size for tables with very many cells.
Changed the index range check rule for insert, pop, swap interfaces in Vector, raise exception when index out of range.
algviz 0.1.0¶
This is the first public release of algviz. Support animation generation for vector, table, linked list, tree and graph data structures in jupyter notebook.