This extension adds support for applying basic geometric transformations (flipping, rotation and scaling) to graph elements.
Click here for a demo.
cytoscape-transform.mov
cy.transform(options)
To initialize the extension with given options.
let api = cy.transform('get')
To get the extension instance after initialization.
api.flipVertical(nodes)
Flip the given nodes vertically across the horizontal line passing through the center of their bounding box.
api.flipHorizontal(nodes)
Flip the given nodes horizontally across the vertical line passing through the center of their bounding box.
api.rotate(nodes, angle)
Rotate the given nodes around the center of their bounding box by the given angle (a positive angle rotates clockwise).
api.scale(nodes, scalingFactor)
Scale the given nodes about the center of their bounding box by the given scaling factor.
api.setOption(optionName, optionValue)
Change the given option with the given value.
var options = {
animate: true, // whether to animate during transformations
animationDuration: 1000, // when animate is true, the duration in milliseconds of the animation
};- Cytoscape.js ^3.3.0
Download the library:
- via npm:
npm install cytoscape-transform, - via bower:
bower install cytoscape-transform, or - via direct download in the repository (probably from a tag).
Import the library as appropriate for your project:
ES import:
import cytoscape from 'cytoscape';
import transform from 'cytoscape-transform';
cytoscape.use( transform );CommonJS require:
let cytoscape = require('cytoscape');
let transform = require('cytoscape-transform');
cytoscape.use( transform ); // register extensionAMD:
require(['cytoscape', 'cytoscape-transform'], function( cytoscape, transform ){
transform( cytoscape ); // register extension
});Plain HTML/JS has the extension registered for you automatically, because no require() is needed.
This project is set up to automatically be published to npm and bower. To publish:
- Build the extension :
npm run build - Commit the build :
git commit -am "Build for release" - Bump the version number and tag:
npm version major|minor|patch - Push to origin:
git push && git push --tags - Publish to npm:
npm publish . - Make a new release for Zenodo.