Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
@steelbreeze/landscape
Advanced tools
Landscape map visualisation of data.
This library produces visualisations of data that conform to the Archimate Landscape Map Viewpoint.
The tool takes as an input a cube of data generated by @steelbreeze/pivot along with the axes used to create it. It generates the layout, first creating duplicate rows or columns where there is more than one value in a cell and then merging adjacent cells on the x and/or y axes.
The final render operation is left to the user, using the tools and techniques of your choice. The returned data structure is a jagged array with values for cols
and rows
denoting how many column and rows the cell spans.
These visualisations are an invaluable communication tool offering insight into the health of a portfolio.
If you like @steelbreeze/landscape, please star it.
To install from npm:
npm install @steelbreeze/landscape
For web via a CDN:
import * as pivot from 'https://cdn.skypack.dev/@steelbreeze/landscape@3.2?min';
@steelbreeze/landscape is dependant on @steelbreeze/pivot, also installable via npm or skypack. The @steelbreeze/landscape API requires cubes and dimensions generated by @steelbreeze/pivot.
This simple example is taken from the steelbreeze.net homepage:
// create pre-defined dimensions
const axes = {
x: ["Rates", "FX", "MM", "Credit", "Equities"].map(landscape.criteria("Product")),
y: ["Market gateway", "Order execution", "Order management", "Confirmations"].map(landscape.criteria("Capability"))
};
// pivot the data using the product and capability dimensions as the x and y axes respectively
const cube = pivot.cube(data, axes.y, axes.x);
// create a table of data from the pivot cube
const table = landscape.table(cube, axes, key, true);
// merge cells on both axes where possible
landscape.merge(table, true, true);
// render the table in the target element
document.getElementById('tablan').replaceWith(render.table(table, 'tablan', 'landscape'));
...
// create text and style to be used when rendering the table
function key(record) {
return { text: record.Name, style: record.Status };
}
Note that while the key function must comply with the Key
interface, specifing values for text
and style
, other properties can be added and these will be available at the time of rendering. When merging adjacent cells, in the merge
function, only text
and style
are compared.
The full API documentation can be found here.
MIT License
Copyright (c) 2022 David Mesquita-Morris.
FAQs
Landscape map viewpoint visualisation
The npm package @steelbreeze/landscape receives a total of 6 weekly downloads. As such, @steelbreeze/landscape popularity was classified as not popular.
We found that @steelbreeze/landscape demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.