Please disable your adblock and script blockers to view this page

I want to learn D3. I don`t want to learn Observable. Is that ok?


D3
Observablehqcom
Observablehq.com
CS
d3
Interactive Data Visualization
API
HTML
OP
Muhmud
@muhmud
the D3 Graph Gallery
JavaScript


Mike Bostock
Javascribe
Scott Murray
DOM.svg(width
Tom MacWright
Carlos Sandoval Olascoaga
Jeremy’s Handy
Amelia Wattenberger’s
Fullstack D3

No matching tags

No matching tags


JS.As
them?Observable


d3.js

No matching tags

Positivity     49.00%   
   Negativity   51.00%
The New York Times
SOURCE: https://talk.observablehq.com/t/i-want-to-learn-d3-i-don-t-want-to-learn-observable-is-that-ok/1957/2
Write a review: Hacker News
Summary

Forcing everyone who want to learn D3 must learn how to use Observablehq.com first?Hi there TigerZhao007,Welcome to Observable. I’d recommend Interactive Data Visualization for the Web by Scott Murray, which has a free online edition.Hello!As we’ve been creating more D3 documentation and examples on observable (and more is coming…), I agree we have to be careful about this issue.First, note that there is a lot of fantastic learning material out there — in very different forms (blocks, codepens, independent web pages, etc) — and a lot of them are linked from D3’s gallery and READMEs. But many authors are moving to Observable and creating exciting new stuff (testimony to how useful and productive the system is), so it’s unavoidable that more links will be made with these new examples.Strictly speaking about the series of examples at https://observablehq.com/@d3 that are linked to from the API documentation:Ideally, one should be able to read them statically (as if in a book), and copy-paste to a web page or a node script without needing too many adaptations.In general, we’re trying to avoid Observable’s facilities, and prefer e.g. d3.create("svg").attr("width", width).attr("height", height).node() over DOM.svg(width, height) so that the code works almost immediately in the browser or in node.However, sometimes it would add too much complexity not to use them: I can not do anything with observable […] I am sure most of serious coders will blow a fuzz with this non sense […] step toward the glory useful pastI can’t figure out what you are trying to say.If you want to write javascript code down in a text file and run it in your browser, nobody is stopping you…2 posts were merged into an existing topic: Copyright and software licensesWell… I agree with the original poster (this frustration lead me to this thread as the first search result) so to put it other words what is being said through an example… currently the new tutorial of d3.js begins with a feature unique to observable javascript…All I was looking from a “getting started” tutorial was how to create a d3 element in a web page… Which is specifically not covered…In general, we’re trying to avoid Observable’s facilities, and prefer e.g. d3.create("svg").attr("width", width).attr("height", height).node() over DOM.svg(width, height) so that the code works almost immediately in the browser or in node.This seems not to be the case… import {chart as temperatureHistogram} with {temperatures as data, height} from “@d3/histogram”So anyway, I wrote this just to let you know that probably many people who already know what interactive data visualization means and have already developed websites will experience the kind of feelings expressed in this thread.I’ve created an account just to express my frustration over this.Why can we not simply download vanilla code examples without any “Observableness” in them?Is that really too much to ask?Why can we not simply download vanilla code examples without any “Observableness” in them?Observable notebooks are like spreadsheets, where cells run automatically whenever you edit or values change. For my demo, I ended up hacking around the d3 code from here to get what I wanted to work, which led to frustration and a desire for things to go back to how they used to be with the d3 example code.Thanks,Muhmud.I greatly admire the Observable team and all the amazing work being done here, but I couldn’t agree more with @muhmud! As it stands right now, I feel like I would have to suspend a lot of my work in order to fully dive into and embrace Observable - unfortunately that is just not an option for many programmers like myself.If there is a reason why the Observable team does not want to provide ‘regular’ code with Observable code, it would be great to know what the reason is - part of the frustration comes from feeling that this is such a small ask, and yet we’re not getting it.Thanks again for the awesome work.If there is a reason why the Observable team does not want to provide ‘regular’ code with Observable code, it would be great to know what the reason is - part of the frustration comes from feeling that this is such a small ask, and yet we’re not getting it.Maintaining two parallel sets of examples, one Observable and one vanilla, is no small task. The D3 examples represent thousands of hours of work (418 notebooks on Observable and counting), and over the last few years we’ve committed to Observable because we think the examples will be better the community’s help and it’s a better way to learn D3.There are plenty of vanilla D3 examples available on the web, such as the D3 Graph Gallery, and resources for using D3 with other frameworks, such as Amelia Wattenberger’s Fullstack D3 and Data Visualization. While it is true that there are many other D3 examples on the web, the bl.ocks.org examples that have been removed are the closest thing to the new Observable samples that we can use as a reference for understanding the transition.All the blocks with D3 examples still exist as gists.

As said here by