Picviz Advanced
Picviz has advanced features, such as filters. Filters can help to understand data you are dealing with by reducing the amount of data you want to display. You can either show or hide data on a specific axis.
Filters
If you want to filter the input value, you can use pattern matching (slow) or do direct string comparison.
The filter syntax is the following: display type relation (string|integer|percentage) axis number and|or ... .
Where:
- display: Can be show or hide. show will only show wanted data, where hide will, well.. hide them.
- type: Can be value, plot (more coming later). Filter data on their originate value, or according to the way they are rendered.
- relation: Can be =, !=, >, <, <= or >=. To give a relation on data you want to see.
- string: Can be anything you want to sort, can contain regular expression if you use the pcre module (-Wpcre).
- integer: Y value you want to select on the given axis.
- number: Axis number you want your filter to apply.
- percentage: The percentage of what you see displayed
Examples
To show only data starting with the value foo on the third axis:
pcv -Tsvg -Wpcre samples/test1.pcv 'show value = "foo.*" on axis 3'
Will result in:
You can try by yourself filtering the nmap scan provided as examples in Picviz sources (samples/network-scan/):
We apply a filter:
pcv -Tplplot nmap-scan.pcv 'show plot > 250 on axis 3'
Since our page is 500 pixels height, using 50% is exactly the same:
pcv -Tplplot nmap-scan.pcv 'show plot > 50% on axis 3'
Engine
The engine section allows some great tricks, such as changing the string positioning algorithm.
data {
axis1="123", axis2="Flanders";
axis1="123", axis2="Bart";
axis1="123", axis2="Lisa";
axis1="123", axis2="Homer";
axis1="123", axis2="Marge";
}
Default
By default, previous strings are drawn like this:
Relative
To activate the relative mode, add the following after the header section:
engine {
relative = "1";
}
Using the relative mode, strings are positioned as far possible from each other:
Basic
Or, you can use the basic algorithm, which is not collision-proof but the best to show scanning activities:
engine {
string_algo = "basic";
}
Which will draw:
Attachments
- filtered-pcre1.png (7.2 kB) - added by toady on 09/15/08 22:47:29.
- nmap-scan.png (106.2 kB) - added by toady on 09/16/08 23:17:23.
- nmap-filtered.png (105.6 kB) - added by toady on 09/16/08 23:17:36.
- picviz-string_algo1.png (10.9 kB) - added by toady on 09/20/08 09:01:27.
- picviz-string_algo-basic.png (16.5 kB) - added by toady on 09/20/08 09:01:39.
- picviz-string_algo-relative.png (25.9 kB) - added by toady on 09/20/08 09:01:52.






