DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Data Engineering
  3. Data
  4. D3.js Is Way More Than Just Another Visualization Framework

D3.js Is Way More Than Just Another Visualization Framework

John Esposito user avatar by
John Esposito
·
Mar. 15, 12 · Interview
Like (0)
Save
Tweet
Share
25.10K Views

Join the DZone community and get the full member experience.

Join For Free

If you're an experienced web developer, you probably (a) are intimately familiar with the DOM, and (b) still find data-driven JavaScript apps a little unusual.

You may know about how Backbone.js has brought MVC architecture to the web -- and if you like data-driven programming, but aren't already using Backbone, you really need to check it out. (And if you're thinking about Backbone but can't quite dive fully into its particular brand of JavaScript MVC: DZone is hoping to publish a Backbone Refcard some time soon, so stay tuned!)

But even if you already develop web apps that handle lots of data, you may still think of complex visualization as a thin skin on top of the DOM.

Well, not so thin with Mike Bostock's D3.js in town. ('D3' = 'Data-Driven Documents'.)

In the abstract, D3's idea is simple:

D3 allows you to bind arbitrary data to a Document Object Model (DOM), and then apply data-driven transformations to the document. As a trivial example, you can use D3 to generate a basic HTML table from an array of numbers. Or, use the same data to create an interactive SVG bar chart with smooth transitions and interaction.


But the design details and syntax get pretty weird pretty quick, at least to the dev-eye still habituated to the notion that 'visualization is a thin skin'.

So, for instance, when I first ran into D3, I felt an immediate surge of excitement, followed by a quick back-burnering, sensing that programming with D3 would require a bit of a brain-paradigm shift.

But if you think data-driven documents sound cool,and want to learn more quickly, check out this talk by Mike Dewar (from a recent New York Open Statistical Programming Meetup):

Mike hacks an impressively systematic, extremely clear path straight from JSON data through a prettily-formatted document. Well worth the 56 minutes (especially with all Mike's code samples on github).

Finally, when you're a little more comfortable with the API, here's a neat D3.js playground for you (complete with CSS editor), with a few notes from the creator.

Tons of fun, and potentially extremely useful tool. Enjoy!

D3.js Visualization (graphics) Framework

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How Chat GPT-3 Changed the Life of Young DevOps Engineers
  • Keep Your Application Secrets Secret
  • Best Navicat Alternative for Windows
  • Use AWS Controllers for Kubernetes To Deploy a Serverless Data Processing Solution With SQS, Lambda, and DynamoDB

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: