Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I have to create an interface similar to what http://www.madeiracloud.com provides for drawing a network architecture (for different purposes than what they are doing).
Basically users should be able to drag & drop elements to a canvas and connect them using directional arrows.
What library should I use for this? I'm looking at d3, raphael and ocanvas.
Raphaël ( http://raphaeljs.com/ )in combination with the Dracula Graph Library( http://dracula.ameisenbar.de/ ) will get you started.
and also thejit is perfect:
Multi-Trees
The JavaScript InfoVis Toolkit provides tools for creating Interactive Data Visualizations for the Web.
http://thejit.org/
Edit:
you can also take a look at Processing.js
http://processingjs.org/
Processing.js is the sister project of the popular Processing visual programming language, designed for the web. Processing.js makes your data visualizations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins. You write code using the Processing language, include it in your web page, and Processing.js does the rest.
You should take a look at the MindMap project which use Raphael.js internally.
You can find the demo at http://kenneth.kufluk.com/google/js-mindmap/
In a commercial context you should also take a look at what yFiles for HTML has to offer.
It's a generic graph drawing and editing javascript library which solves your "drag and drop and connect" use-case easily. There is also a specific mind map example available online:
but in this application nodes are not created via drag and drop. This however of course is possible, too, as can be seen in this online demo.
The specific strengths of that library are automatic layout/arrangement of nodes and connections, so if you are creating larger networks or populating the graph automatically from an external data-source these come in very handy. However if you don't require this feature set, simpler solutions may work, too, of course. Note that d3 has the focus on viewing data, and is not so much about user interaction and creating graphs interactively.
Disclaimer: I work for the company that creates that library, however I do not represent my employer on SO. My comments are my own.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 months ago.
Improve this question
I am looking for an approach or Javascript library that I can use to build a scientific modeling application. I suppose this is analogues to the way flowcharting software like Visio works. Add elements and connect them with click and drag.
I need to be able to define certain elements and add them to the "canvas" by selecting the element and dragging them onto the canvas.
When I click on an element I need to be able to set certain parameters for that element.
I also need to be able to connect one element to another by clicking on one and dragging a line to the second element.
I am looking for some advise on the best javascript library or approach to use. I will probably build the app in Vue.js as I have some experience using it.
Given a bit more complicated feature set, I've opted for mxgraph (the draw.io library). It's old, it's heavy, it's complicated, it's written in vanilla javascript, and to make it work with Vue you'll probably need to write the integration yourself. But it works, and there is light at the end of the tunnel.
Most important parts for me were: custom complex shape support (like, with groups, and "handles" - you know, these yellow dots you use to "adjust" some shape pieces in Visio for example), undo/redo, save/load, print.
joint.js ("rappid" now) may be my second bet if mxgraph won't cut it (not sure how it compares, but the feature list includes the items I needed)
There is also always an option to do it all with plain javascript; you have basic libraries like svg.js, snap.svg, etc that would allow that. moving shapes with drag-drop is no problem even with plain javascript. But in this case connector routing and undo/redo would be on you, and that's a bit harder.
If you find something better than these options please let me know!
btw, Visio Online does not support custom shapes at all now.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I have done POC with highcharts and works fine and looks great.
I am looking for better open source library/framework using which i can develop my dashboard showing different graphs.
The UI framework must handle the real time data (like Ajax calls or REST).
Any helpful suggestion appreciated.
D3 (Data-Driven Documents) is excellent if you have a bit of time to learn it.
Some examples:
http://bl.ocks.org/3287802
http://jondot.github.com/graphene/
After you pick your graphing solution (plots, charts, ...) some drag-and-droop grid to put it all together on one dashboard:
gridster.js (MIT licensed) may come in handy
Packery non-profit GPL v3 licensed or one-time purchase for a commercial license
here's another awesome looking one (quite win8 themed) : dashing
http://www.flotcharts.org/ provides a popular open source javascript charts library.
There are many charts plugins out there. http://www.queness.com/post/10781/13-chart-and-graph-plotting-javascript-plugins
My recommendations:
JQPlot: jQuery plugin. Uses canvas element or VML
gRaphael: uses raphaeljs JS library. SVG W3C Recommendation and VML as a base for creating graphics. - Lots of options.
If you only need an charts api
try https://developers.google.com/chart/
Its also support real-time updates
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Does anyone have experience with a JavaScript library for Augmented Reality?
If so, can you recommend one?
EDIT:
Not sure how to better clarify this... By Augmented Reality I mean using device webcam (laptop, smartphone, tablet) and overlapping elements over the video feed on screen. Ofen, the overlapping is done based on a marker the algorithm searches for within each frame and makes calculations about its position in space.
Hope that's enough.
Thanks.
I think this is what you might be looking for. JSARToolkit is a direct port of Flash FLARToolkit from Ilmari Heikkinen. Great tutorial you may also want to check out and a link to the Git repo.
http://weblog.bocoup.com/javascript-augmented-reality/
https://github.com/kig/JSARToolKit
You can try skarf.js, a framework that I have created for handling JavaScript augmented reality libraries in Three.js.
It currently integrates JSARToolKit and js-aruco, so you can easily switch between these two libraries to decide on the more suitable one to use.
This framework takes care of a number of things for you, including automatic loading of models when the associated markers are detected (association is specified in a JSON file). There is also a GUI marker system which allows users to control settings using AR markers.
Integration with Three.js is just one line of code to create a Skarf instance and another line of code to update.
There are videos, live demos, source codes, examples and documentation available. Check out http://cg.skeelogy.com/skarfjs/ for more info.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I am looking for a Library that allows me to create Charts like the "Annotated Time Lines" that are e.g. used on Google Finance. I can't use the Google API because it relies on Flash and my chart should not only work on all common browsers but also be usable with mobile devices like the ipad.
I don't need all of the features of Google's Solution, but displaying linked event flags in the chart is an essential requirement and the ability to arbitrarily zoom and pan the chart would also be nice, the latter feature is however not a must on mobile devices and older browsers.
A serverside solution that transparently generates plain image charts if flash (or other client features like canvas-elements) is not available on the client would also be ok, I have asp.net mvc 2 running on the serverside.
An open source solution would be great, but a commercial library or component is also an option.
Any Suggestions?
What about http://highcharts.com, their API is very complete
A popular opensource Javascript plotting library is the flot library (JQuery plugin). More information:
Flot Sample with a basic annotated time line
Flot usage on the web (many samples)
www.hightcharts.com is amazing
mmm, I think you can extend the Highcharts library with no hassle, they have pretty good documentation, and also Is really easy to understand their api and code. I suggest you, first implement the linked events, and then with some free time study the code to add that functionality.
I recommend http://g.raphaeljs.com/
(I've used Raphael.js extensively for http://radiancejs.com.)
You'll have to do the scrolling to zoom thing yourself, however.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
My friend and I have plan to build a web shop. One of the shop's main feature is the ability for the customer to design their own stuff. My friend took polyvore website as an example.
The above link point to an editor page. In polyvore, the customer can drag and drop items from right-hand side to a 'canvas' in the left-hand side of the page. the image have simple handler for resizing, rotate and move.
This is the main feature that we want to achieve. I want to know if there are any free JavaScript library out there that provide these functionality? We don't need too advance stuffs, because the goal is not making something like online Photoshop application. The polyvore editor has most of the features that we need.
When it comes to transformations, fabricJS looks very good: http://fabricjs.com/
For effects, CamanJS seems to give a lot of control and also includes preset filters : http://camanjs.com/examples/
Pixastic has a simple Javascript image editor that uses Canvas.
You can use DarkRoom. it's a simple and powerful image editor in the web. you can find it from the below link :
https://mattketmo.github.io/darkroomjs/
If you develop your app using a full-featured JavaScript-based framework, like Cappuccino or SproutCore, this kind of lightweight image manipulation should be trivial to implement.
If you want a bit more flexibility with the site implementation, go with a smaller library like jQuery UI or Interface Elements (that's a very incomplete list - there are tons of similar libraries around).
This won't be a full answer, but should guide you. Ext-js has an object called Ext.Resizable, http://www.extjs.com/deploy/dev/docs/?class=Ext.Resizable, you can apply it to any node and it will add handles for resizing it. This is not present in their core (jsquery-like) distro, you need the full distribution.
Rotating the images is quite more complicated as that is not supported in all browsers (webkit allows rotation through css). What I suggest is that you use a cross browser canvas library, like http://me.eae.net/projects/iecanvas/demo.html, that allows you to rotate images that are drawn on the canvas. However, you can't really combine the two that I've mentioned, I suggest you look at both of them for inspiration and roll out your own (unless somebody else finds a tool that does it already)