Участник:StasFomin/Bookmarks/Algorithms — различия между версиями
StasFomin (обсуждение | вклад) (Добавлена цитата к закладке Is there a JS better than D3.js for graph visualization? - Quora) |
StasFomin (обсуждение | вклад) (Добавлена закладка Как выучить иностранный язык: алгоритм / Хабр) |
||
Строка 2: | Строка 2: | ||
=== 2021-02 === | === 2021-02 === | ||
+ | * 2021-02-20, 17:12:08: [https://habr.com/ru/post/530898/?utm_campaign=530898&utm_source=habrahabr&utm_medium=rss Как выучить иностранный язык: алгоритм / Хабр] | ||
* 2021-02-20, 10:40:05: [https://www.quora.com/Is-there-a-JS-better-than-D3-js-for-graph-visualization Is there a JS better than D3.js for graph visualization? - Quora] | * 2021-02-20, 10:40:05: [https://www.quora.com/Is-there-a-JS-better-than-D3-js-for-graph-visualization Is there a JS better than D3.js for graph visualization? - Quora] | ||
*: <html><div><div class="q-box puppeteer_test_question_main" style="box-sizing: border-box;"><div class="q-text qu-display--flex qu-px--large qu-pb--large qu-flexDirection--row qu-fontSize--regular" style="box-sizing: initial; width: 1002px; margin-left: auto; margin-right: auto; padding-top: 30px; align-items: stretch;" width="1002"><div class="q-box" style="box-sizing: border-box; width: 602px;" width="602"><div class="q-box qu-borderBottom qu-pb--small" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-flex qu-flexWrap--wrap qu-alignItems--center" style="box-sizing: border-box; display: flex;"><div class="q-box qu-mr--tiny qu-mb--tiny" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/topic/D3-js-JavaScript-library" target="_top"><div class="q-inlineFlex qu-py--tiny qu-px--small qu-color--gray qu-bg--gray_ultralight qu-borderRadius--small qu-whiteSpace--nowrap qu-hover--color--blue" style="box-sizing: border-box; display: inline-flex;"><div class="q-text qu-fontSize--small" style="box-sizing: border-box;"><span class="q-text" style="box-sizing: border-box; word-break: break-word;"><span>D3.js (JavaScript library)</span></span></div></div></a></div><div class="q-box qu-mr--tiny qu-mb--tiny" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/topic/Data-Visualization" target="_top"><div class="q-inlineFlex qu-py--tiny qu-px--small qu-color--gray qu-bg--gray_ultralight qu-borderRadius--small qu-whiteSpace--nowrap qu-hover--color--blue" style="box-sizing: border-box; display: inline-flex;"><div class="q-text qu-fontSize--small" style="box-sizing: border-box;"><span class="q-text" style="box-sizing: border-box; word-break: break-word;"><span>Data Visualization</span></span></div></div></a></div><div class="q-box qu-mb--tiny" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/topic/JavaScript-programming-language" target="_top"><div class="q-inlineFlex qu-py--tiny qu-px--small qu-color--gray qu-bg--gray_ultralight qu-borderRadius--small qu-whiteSpace--nowrap qu-hover--color--blue" style="box-sizing: border-box; display: inline-flex;"><div class="q-text qu-fontSize--small" style="box-sizing: border-box;"><span class="q-text" style="box-sizing: border-box; word-break: break-word;"><span>JavaScript (programming language)</span></span></div></div></a></div></div><div class="q-text qu-bold qu-fontSize--xlarge qu-color--gray_dark_dim qu-passColorToLinks qu-userSelect--text qu-lineHeight--regular" style="box-sizing: border-box; word-break: break-word;"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 TitleText___StyledCssInlineComponent-sc-1hpb63h-0 jPnwvF"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">Is there a JS better than D3.js for graph visualization?</span> </span></div></div></div></span></div></div></div><div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-box qu-bg--white" style="box-sizing: border-box;"><span data-nosnippet="true"><div class="q-box ad question_page_ad top_slot" style="display: none !important;"><div><div><div class="q-box qu-pt--medium" style="box-sizing: border-box; padding-bottom: 0px; position: relative;"><div class="q-flex qu-mb--small" style="box-sizing: border-box; display: flex;"><div class="q-click-wrapper qu-display--block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: 100%; color: inherit; text-align: inherit;" width="100%" tabindex="0"><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;">Ad by InApps</div></div><div class="q-box qu-pl--tiny" style="box-sizing: border-box; margin-left: auto;"><div class="q-relative qu-size--18" style="box-sizing: border-box; position: relative;" size="18"><div class="q-absolute qu-center" style="box-sizing: border-box; position: absolute;"></div></div></div></div><div class="q-box" style="box-sizing: border-box;"><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: auto; color: inherit; text-align: inherit;" width="auto" tabindex="0"><div class="q-text qu-mb--tiny qu-bold qu-color--gray_dark_dim qu-passColorToLinks qu-userSelect--text qu-lineHeight--regular" style="box-sizing: border-box; font-size: 16px; word-break: break-word;"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 TitleText___StyledCssInlineComponent-sc-1hpb63h-0 jPnwvF">How is big data transforming web development in 2021?</span></div></div><div class="q-click-wrapper qu-display--block qu-tapHighlight--white qu-cursor--pointer" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: 100%; color: inherit; text-align: inherit;" width="100%" tabindex="0"><div class="q-box qu-mb--small" style="box-sizing: border-box;"><div class="q-text" style="box-sizing: border-box;">We are experts in front-end and back-end web development applying the latest technology and big data.</div></div></div></div><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: auto; color: inherit; text-align: inherit;" width="auto" tabindex="0"><div class="q-box qu-mt--n_small qu-py--tiny" style="box-sizing: border-box;"><button class="q-click-wrapper qu-active--textDecoration--none qu-focus--textDecoration--none base___StyledClickWrapper-lx6eke-1 cykKyr qu-borderRadius--pill qu-alignItems--center qu-justifyContent--center qu-whiteSpace--nowrap qu-userSelect--none qu-display--inline-flex qu-tapHighlight--white qu-textAlign--center qu-cursor--pointer qu-hover--textDecoration--none" style="box-sizing: border-box; font: inherit; outline: currentcolor none medium; padding: 0px 20px 0px 12px; height: 38px; min-width: 38px; position: relative; border-width: 0px; color: inherit; background-color: rgba(0, 0, 1, 0.03);" type="button" tabindex="0" role="button"><div class="q-flex qu-alignItems--center qu-justifyContent--center" style="box-sizing: border-box; display: flex; max-width: 100%;"><span class="q-inlineBlock qu-verticalAlign--text-bottom" style="box-sizing: border-box; display: inline-block; width: 24px; height: 24px; flex-shrink: 0; line-height: 0;" width="24px" name="ExternalLink"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 Icon___StyledCssInlineComponent-sc-11tmcw7-0 iMqyvJ"><svg width="24px" height="24px" viewBox="0 0 24 24"><g id="external_link" class="icon_svg-stroke" stroke="#666" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><polyline points="17 13.5 17 19.5 5 19.5 5 7.5 11 7.5"></polyline><path d="M14,4.5 L20,4.5 L20,10.5 M20,4.5 L11,13.5"></path></g></svg></span></span><div class="q-text qu-display--inline-flex qu-alignItems--center qu-overflow--hidden puppeteer_test_button_text qu-medium qu-color--gray qu-ml--tiny" style="box-sizing: border-box; font-size: 14px;"><div class="q-text qu-ellipsis qu-whiteSpace--nowrap" style="box-sizing: border-box;">Learn More</div></div></div></button></div></div></div></div></div></div></span></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-box qu-borderBottom qu-pt--small qu-pb--small" style="box-sizing: border-box;"><div class="q-flex qu-alignItems--center" style="box-sizing: border-box; display: flex;"><div class="q-box" style="box-sizing: border-box; flex: 1 1 0%;"><div class="q-text qu-medium qu-fontSize--regular qu-color--gray_dark qu-passColorToLinks" style="box-sizing: border-box;">5 Answers</div></div><div class="q-box qu-ml--small" style="box-sizing: border-box;"></div></div></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div><div><div><div><div class="q-box qu-pb--medium qu-borderBottom" style="box-sizing: border-box; margin-left: 0.1px; margin-right: 0.1px;"><div class="q-box qu-pt--medium qu-pb--medium" style="box-sizing: border-box; position: relative;"><div class="q-box" style="box-sizing: border-box;"><div><div class="q-box" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex;"><div class="q-box qu-mb--small" style="box-sizing: border-box; width: 100%;" width="100%"><div class="q-box spacing_log_answer_header" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex; align-items: start; width: 100%;" width="100%"><div class="q-inlineFlex qu-flex--none qu-mr--small qu-alignItems--center" style="box-sizing: border-box; display: inline-flex;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-relative qu-display--inline-flex" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><a class="q-box qu-display--inline-flex qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Adrian-M-P-Brasoveanu" target="_blank"><div class="q-inlineFlex qu-flex--none" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex qu-overflow--hidden qu-borderRadius--circle qu-borderWidth--retinaOverride" style="box-sizing: border-box; display: inline-flex; border-width: 2px; border-style: none; box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 0.5px;"><div class="q-box qu-bg--white__ignore_dark_mode qu-borderRadius--circle" style="box-sizing: border-box; position: absolute; inset: 1px;"></div><img class="q-image qu-display--block qu-size--36 qu-minWidth--36" style="box-sizing: border-box; max-width: 100%; position: relative;" src="https://qph.fs.quoracdn.net/main-thumb-6584511-200-gHdHqooFGwsq5j4909Ts9IId7tkpfuCS.jpeg" size="36"><div class="q-box qu-borderRadius--circle qu-borderAll qu-borderColor--darken Photo___StyledBox-sc-1x7c6d3-0 guhqSv" style="box-sizing: border-box; position: absolute; inset: 0px;"></div></div></div></div></a></div></div></div></div></div><div class="q-box qu-alignSelf--center qu-flex--auto" style="box-sizing: border-box; overflow-wrap: break-word;"><div class="q-text qu-fontSize--regular qu-truncateLines--3 qu-passColorToLinks" style="box-sizing: border-box; margin-bottom: 2px;"><span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD"><span class="q-text qu-bold" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Adrian-M-P-Brasoveanu" target="_blank"><span>Adrian M.P. Brasoveanu</span></a></div></div></div></div></span>, <span class="q-box qu-borderWidth--retinaOverride qu-borderWidth--regular" style="box-sizing: border-box; word-break: break-word;">works at MODUL University, Vienna</span></span></span></div><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/Is-there-a-JS-better-than-D3-js-for-graph-visualization/answer/Adrian-M-P-Brasoveanu" target="_top" rel="nofollow">Answered 3 years ago</a><span> · </span>Author has <span class="q-text qu-bold" style="box-sizing: border-box;">88</span> answers and <span class="q-text qu-bold" style="box-sizing: border-box;">110.9K</span> answer views</div></div></div></div></div></div><div class="q-relative spacing_log_answer_content puppeteer_test_answer_content" style="box-sizing: border-box; position: relative;"><div class="q-text" style="box-sizing: border-box; max-width: 100%;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 1em; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">It would be extremely difficult to come up with a better framework for graph visualization in JavaScript than D3 for several reasons:</span></p> <ul class="q-box" style="box-sizing: border-box; direction: ltr; overflow-wrap: break-word; list-style: outside none disc; margin-bottom: 1em; margin-right: 2em;"><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0.7em;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">D3 is built around all the normal web stuff like HTML, DOM, CSS, therefore there is no need to learn new technologies in order to use it.</span></li><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0.7em;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">D3 is rather like a programming language for graphics. Leave aside the fact it’s written in JS, and it looks more like a Processing type of interpreted programming language.</span></li><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0.7em;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">D3 has a big community behind it. While even 2–3 years there were still problems finding good documentation for it, right now however there shouldn’t be any issues with it.</span></li><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0px;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">As other answers have mentioned, you can think of D3 as more of a basic utility that can be used to develop higher level charts/libraries, and as it turns out there are many of them. They are not better than D3, but rather they use D3.</span></li></ul><p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 0px; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">In general if you need something better you need to define in which sense? If you need better speed? Better functionality? Faster rendering speed versus faster development time? Depending on the answer you might find faster graphics library, e.g., if they were developed directly in C, however I doubt that beside Processing or D3 you will find anything faster in the JavaScript world. Be aware though that both Processing and D3 have a steep learning curve, and Processing also requires you to use a lot of mathematics.</span></p> </span></div><div></div></div></div><div class="q-text qu-mt--small qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;"><span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD">8.8K views</span><span class="q-box qu-display--none" style="box-sizing: border-box;"> · </span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 diCWLm"><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; color: inherit; text-align: inherit;" tabindex="0">View 2 Upvoters</div></span></span><span> · </span>Answer requested by <div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Jeff-Kinney-7" target="_blank"><span>Jeff Kinney</span></a></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-box qu-pb--medium qu-borderBottom" style="box-sizing: border-box; margin-left: 0.1px; margin-right: 0.1px;"><div class="q-box qu-mt--small" style="box-sizing: border-box;"><div><div class="q-box qu-borderBottom qu-pb--small" style="box-sizing: border-box;"><div class="q-flex qu-alignItems--center" style="box-sizing: border-box; display: flex;"><div class="q-box" style="box-sizing: border-box; flex: 1 1 0%;"><div class="q-text qu-medium qu-fontSize--regular qu-color--gray_dark qu-passColorToLinks" style="box-sizing: border-box;">Related Questions</div></div><div class="q-box qu-ml--small" style="box-sizing: border-box;"><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; color: inherit; text-align: inherit;" tabindex="0"><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;">More Answers Below</div></div></div></div></div><div class="q-box" style="box-sizing: border-box;"><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/unanswered/Which-is-better-for-network-visualization-Vis-js-or-D3-js"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">Which is better for network visualization, Vis.js or D3.js?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/What-is-best-for-graph-rendering-sigma-js-or-d3-js-Why"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">What is best for graph rendering: sigma.js or d3.js? Why?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/Is-d3-js-worth-learning"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">Is d3.js worth learning?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/What-are-the-data-visualization-alternatives-to-D3-js"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">What are the data visualization alternatives to D3.js?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/What-is-better-for-data-visualization-R-Python-libraries-or-D3-js"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">What is better for data visualization: R/Python libraries or D3. js?</span> </span></div></div></div></span></div></div></div></div></div></a></div></div><div style="position: relative; top: -50px;"></div></div></div></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div><div><div><div><div class="q-box qu-pb--medium qu-borderBottom" style="box-sizing: border-box; margin-left: 0.1px; margin-right: 0.1px;"><div class="q-box qu-pt--medium qu-pb--medium" style="box-sizing: border-box; position: relative;"><div class="q-box" style="box-sizing: border-box;"><div><div class="q-box" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex;"><div class="q-box qu-mb--small" style="box-sizing: border-box; width: 100%;" width="100%"><div class="q-box spacing_log_answer_header" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex; align-items: start; width: 100%;" width="100%"><div class="q-inlineFlex qu-flex--none qu-mr--small qu-alignItems--center" style="box-sizing: border-box; display: inline-flex;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-relative qu-display--inline-flex" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><a class="q-box qu-display--inline-flex qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Taha-Kachwala" target="_blank"><div class="q-inlineFlex qu-flex--none" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex qu-overflow--hidden qu-borderRadius--circle qu-borderWidth--retinaOverride" style="box-sizing: border-box; display: inline-flex; border-width: 2px; border-style: none; box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 0.5px;"><div class="q-box qu-bg--white__ignore_dark_mode qu-borderRadius--circle" style="box-sizing: border-box; position: absolute; inset: 1px;"></div><img class="q-image qu-display--block qu-size--36 qu-minWidth--36" style="box-sizing: border-box; max-width: 100%; position: relative;" src="https://qph.fs.quoracdn.net/main-thumb-36335708-200-hytiefnyaoseitkgetzltsqfcpreptom.jpeg" size="36"><div class="q-box qu-borderRadius--circle qu-borderAll qu-borderColor--darken Photo___StyledBox-sc-1x7c6d3-0 guhqSv" style="box-sizing: border-box; position: absolute; inset: 0px;"></div></div></div></div></a></div></div></div></div></div><div class="q-box qu-alignSelf--center qu-flex--auto" style="box-sizing: border-box; overflow-wrap: break-word;"><div class="q-text qu-fontSize--regular qu-truncateLines--3 qu-passColorToLinks" style="box-sizing: border-box; margin-bottom: 2px;"><span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD"><span class="q-text qu-bold" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Taha-Kachwala" target="_blank"><span>Taha Kachwala</span></a></div></div></div></div></span>, <span class="q-box qu-borderWidth--retinaOverride qu-borderWidth--regular" style="box-sizing: border-box; word-break: break-word;">Digital Media Technologist</span></span></span></div><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/Is-there-a-JS-better-than-D3-js-for-graph-visualization/answer/Taha-Kachwala" target="_top" rel="nofollow">Answered 3 years ago</a><span> · </span>Upvoted by <span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD"><span class="q-text" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Ravi-Shankar-1920" target="_blank"><span>Ravi Shankar</span></a></div></div></div></div></span>, <span class="q-box qu-borderBottom qu-borderWidth--retinaOverride qu-borderWidth--regular" style="box-sizing: border-box; word-break: break-word;">Mater's Master of Science in Computer Science & D3.js, University of Massachusetts, Dartmouth (2018)</span></span></span><span> · </span>Author has <span class="q-text qu-bold" style="box-sizing: border-box;">63</span> answers and <span class="q-text qu-bold" style="box-sizing: border-box;">625.1K</span> answer views</div></div></div></div></div></div><div class="q-relative spacing_log_answer_content puppeteer_test_answer_content" style="box-sizing: border-box; position: relative;"><div class="q-click-wrapper qu-display--block qu-tapHighlight--white qu-cursor--pointer" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: 100%; color: inherit; text-align: inherit;" width="100%" tabindex="0"><div class="q-relative" style="box-sizing: border-box; position: relative;"><div class="q-box" style="box-sizing: border-box; max-width: 100%;"><div class="q-box qu-cursor--pointer QTextTruncated___StyledBox-sc-1pev100-0 ejgusd" style="box-sizing: border-box;"><div class="q-relative" style="box-sizing: border-box; position: relative;"><div class="q-box qu-overflow--hidden" style="box-sizing: border-box; max-height: 300px;"><div class="q-text" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 1em; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">You can imagine D3 to be more of a framework you can use to design any type of visualization. It will require you to invest time and effort in learning, manipulation and cleaning of data, scaling, labeling etc. You can basically build any 2D visualizations you like from simple charts like bar and pie, to complex PCP and even custom visualizations. It is free, open sourced, and comes with a lot of good documentation and help from stack overflow.</span></p> <div class="q-box" style="box-sizing: border-box; margin-bottom: 1em; transition-property: undefined; transition-duration: 1s; transition-timing-function: ease-out; filter: blur(0px);"><img class="q-image qu-display--block qu-borderRadius--small" style="box-sizing: border-box; max-width: 100%;" src="https://qph.fs.quoracdn.net/main-qimg-bd3c312e9d3c76d8840eaafa65b5b7b4"></div> <p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 1em; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">(I had created this DOTA2 map using D3 and had done some analysis - </span><span class="q-inline" style="box-sizing: border-box; display: inline;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit; font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;" title="www.academia.edu" href="https://www.academia.edu/22194561/DotA2_Spatio-Temporal_Game_Analysis" target="_blank" rel="noopener nofollow">DotA2 Spatio-Temporal Game Analysis</a><span class="q-inlineBlock qu-verticalAlign--text-bottom" style="box-sizing: border-box; display: inline-block; width: 16px; height: 16px; flex-shrink: 0; line-height: 0; margin-left: 2px;" width="16px" name="ExternalLink"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 Icon___StyledCssInlineComponent-sc-11tmcw7-0 lcSoNN"><svg width="24px" height="24px" viewBox="0 0 24 24"><g id="external_link" class="icon_svg-stroke" stroke="#666" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></g></svg></span></span></span></p></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></html> | *: <html><div><div class="q-box puppeteer_test_question_main" style="box-sizing: border-box;"><div class="q-text qu-display--flex qu-px--large qu-pb--large qu-flexDirection--row qu-fontSize--regular" style="box-sizing: initial; width: 1002px; margin-left: auto; margin-right: auto; padding-top: 30px; align-items: stretch;" width="1002"><div class="q-box" style="box-sizing: border-box; width: 602px;" width="602"><div class="q-box qu-borderBottom qu-pb--small" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-flex qu-flexWrap--wrap qu-alignItems--center" style="box-sizing: border-box; display: flex;"><div class="q-box qu-mr--tiny qu-mb--tiny" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/topic/D3-js-JavaScript-library" target="_top"><div class="q-inlineFlex qu-py--tiny qu-px--small qu-color--gray qu-bg--gray_ultralight qu-borderRadius--small qu-whiteSpace--nowrap qu-hover--color--blue" style="box-sizing: border-box; display: inline-flex;"><div class="q-text qu-fontSize--small" style="box-sizing: border-box;"><span class="q-text" style="box-sizing: border-box; word-break: break-word;"><span>D3.js (JavaScript library)</span></span></div></div></a></div><div class="q-box qu-mr--tiny qu-mb--tiny" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/topic/Data-Visualization" target="_top"><div class="q-inlineFlex qu-py--tiny qu-px--small qu-color--gray qu-bg--gray_ultralight qu-borderRadius--small qu-whiteSpace--nowrap qu-hover--color--blue" style="box-sizing: border-box; display: inline-flex;"><div class="q-text qu-fontSize--small" style="box-sizing: border-box;"><span class="q-text" style="box-sizing: border-box; word-break: break-word;"><span>Data Visualization</span></span></div></div></a></div><div class="q-box qu-mb--tiny" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/topic/JavaScript-programming-language" target="_top"><div class="q-inlineFlex qu-py--tiny qu-px--small qu-color--gray qu-bg--gray_ultralight qu-borderRadius--small qu-whiteSpace--nowrap qu-hover--color--blue" style="box-sizing: border-box; display: inline-flex;"><div class="q-text qu-fontSize--small" style="box-sizing: border-box;"><span class="q-text" style="box-sizing: border-box; word-break: break-word;"><span>JavaScript (programming language)</span></span></div></div></a></div></div><div class="q-text qu-bold qu-fontSize--xlarge qu-color--gray_dark_dim qu-passColorToLinks qu-userSelect--text qu-lineHeight--regular" style="box-sizing: border-box; word-break: break-word;"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 TitleText___StyledCssInlineComponent-sc-1hpb63h-0 jPnwvF"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">Is there a JS better than D3.js for graph visualization?</span> </span></div></div></div></span></div></div></div><div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-box qu-bg--white" style="box-sizing: border-box;"><span data-nosnippet="true"><div class="q-box ad question_page_ad top_slot" style="display: none !important;"><div><div><div class="q-box qu-pt--medium" style="box-sizing: border-box; padding-bottom: 0px; position: relative;"><div class="q-flex qu-mb--small" style="box-sizing: border-box; display: flex;"><div class="q-click-wrapper qu-display--block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: 100%; color: inherit; text-align: inherit;" width="100%" tabindex="0"><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;">Ad by InApps</div></div><div class="q-box qu-pl--tiny" style="box-sizing: border-box; margin-left: auto;"><div class="q-relative qu-size--18" style="box-sizing: border-box; position: relative;" size="18"><div class="q-absolute qu-center" style="box-sizing: border-box; position: absolute;"></div></div></div></div><div class="q-box" style="box-sizing: border-box;"><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: auto; color: inherit; text-align: inherit;" width="auto" tabindex="0"><div class="q-text qu-mb--tiny qu-bold qu-color--gray_dark_dim qu-passColorToLinks qu-userSelect--text qu-lineHeight--regular" style="box-sizing: border-box; font-size: 16px; word-break: break-word;"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 TitleText___StyledCssInlineComponent-sc-1hpb63h-0 jPnwvF">How is big data transforming web development in 2021?</span></div></div><div class="q-click-wrapper qu-display--block qu-tapHighlight--white qu-cursor--pointer" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: 100%; color: inherit; text-align: inherit;" width="100%" tabindex="0"><div class="q-box qu-mb--small" style="box-sizing: border-box;"><div class="q-text" style="box-sizing: border-box;">We are experts in front-end and back-end web development applying the latest technology and big data.</div></div></div></div><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: auto; color: inherit; text-align: inherit;" width="auto" tabindex="0"><div class="q-box qu-mt--n_small qu-py--tiny" style="box-sizing: border-box;"><button class="q-click-wrapper qu-active--textDecoration--none qu-focus--textDecoration--none base___StyledClickWrapper-lx6eke-1 cykKyr qu-borderRadius--pill qu-alignItems--center qu-justifyContent--center qu-whiteSpace--nowrap qu-userSelect--none qu-display--inline-flex qu-tapHighlight--white qu-textAlign--center qu-cursor--pointer qu-hover--textDecoration--none" style="box-sizing: border-box; font: inherit; outline: currentcolor none medium; padding: 0px 20px 0px 12px; height: 38px; min-width: 38px; position: relative; border-width: 0px; color: inherit; background-color: rgba(0, 0, 1, 0.03);" type="button" tabindex="0" role="button"><div class="q-flex qu-alignItems--center qu-justifyContent--center" style="box-sizing: border-box; display: flex; max-width: 100%;"><span class="q-inlineBlock qu-verticalAlign--text-bottom" style="box-sizing: border-box; display: inline-block; width: 24px; height: 24px; flex-shrink: 0; line-height: 0;" width="24px" name="ExternalLink"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 Icon___StyledCssInlineComponent-sc-11tmcw7-0 iMqyvJ"><svg width="24px" height="24px" viewBox="0 0 24 24"><g id="external_link" class="icon_svg-stroke" stroke="#666" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><polyline points="17 13.5 17 19.5 5 19.5 5 7.5 11 7.5"></polyline><path d="M14,4.5 L20,4.5 L20,10.5 M20,4.5 L11,13.5"></path></g></svg></span></span><div class="q-text qu-display--inline-flex qu-alignItems--center qu-overflow--hidden puppeteer_test_button_text qu-medium qu-color--gray qu-ml--tiny" style="box-sizing: border-box; font-size: 14px;"><div class="q-text qu-ellipsis qu-whiteSpace--nowrap" style="box-sizing: border-box;">Learn More</div></div></div></button></div></div></div></div></div></div></span></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-box qu-borderBottom qu-pt--small qu-pb--small" style="box-sizing: border-box;"><div class="q-flex qu-alignItems--center" style="box-sizing: border-box; display: flex;"><div class="q-box" style="box-sizing: border-box; flex: 1 1 0%;"><div class="q-text qu-medium qu-fontSize--regular qu-color--gray_dark qu-passColorToLinks" style="box-sizing: border-box;">5 Answers</div></div><div class="q-box qu-ml--small" style="box-sizing: border-box;"></div></div></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div><div><div><div><div class="q-box qu-pb--medium qu-borderBottom" style="box-sizing: border-box; margin-left: 0.1px; margin-right: 0.1px;"><div class="q-box qu-pt--medium qu-pb--medium" style="box-sizing: border-box; position: relative;"><div class="q-box" style="box-sizing: border-box;"><div><div class="q-box" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex;"><div class="q-box qu-mb--small" style="box-sizing: border-box; width: 100%;" width="100%"><div class="q-box spacing_log_answer_header" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex; align-items: start; width: 100%;" width="100%"><div class="q-inlineFlex qu-flex--none qu-mr--small qu-alignItems--center" style="box-sizing: border-box; display: inline-flex;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-relative qu-display--inline-flex" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><a class="q-box qu-display--inline-flex qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Adrian-M-P-Brasoveanu" target="_blank"><div class="q-inlineFlex qu-flex--none" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex qu-overflow--hidden qu-borderRadius--circle qu-borderWidth--retinaOverride" style="box-sizing: border-box; display: inline-flex; border-width: 2px; border-style: none; box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 0.5px;"><div class="q-box qu-bg--white__ignore_dark_mode qu-borderRadius--circle" style="box-sizing: border-box; position: absolute; inset: 1px;"></div><img class="q-image qu-display--block qu-size--36 qu-minWidth--36" style="box-sizing: border-box; max-width: 100%; position: relative;" src="https://qph.fs.quoracdn.net/main-thumb-6584511-200-gHdHqooFGwsq5j4909Ts9IId7tkpfuCS.jpeg" size="36"><div class="q-box qu-borderRadius--circle qu-borderAll qu-borderColor--darken Photo___StyledBox-sc-1x7c6d3-0 guhqSv" style="box-sizing: border-box; position: absolute; inset: 0px;"></div></div></div></div></a></div></div></div></div></div><div class="q-box qu-alignSelf--center qu-flex--auto" style="box-sizing: border-box; overflow-wrap: break-word;"><div class="q-text qu-fontSize--regular qu-truncateLines--3 qu-passColorToLinks" style="box-sizing: border-box; margin-bottom: 2px;"><span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD"><span class="q-text qu-bold" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Adrian-M-P-Brasoveanu" target="_blank"><span>Adrian M.P. Brasoveanu</span></a></div></div></div></div></span>, <span class="q-box qu-borderWidth--retinaOverride qu-borderWidth--regular" style="box-sizing: border-box; word-break: break-word;">works at MODUL University, Vienna</span></span></span></div><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/Is-there-a-JS-better-than-D3-js-for-graph-visualization/answer/Adrian-M-P-Brasoveanu" target="_top" rel="nofollow">Answered 3 years ago</a><span> · </span>Author has <span class="q-text qu-bold" style="box-sizing: border-box;">88</span> answers and <span class="q-text qu-bold" style="box-sizing: border-box;">110.9K</span> answer views</div></div></div></div></div></div><div class="q-relative spacing_log_answer_content puppeteer_test_answer_content" style="box-sizing: border-box; position: relative;"><div class="q-text" style="box-sizing: border-box; max-width: 100%;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 1em; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">It would be extremely difficult to come up with a better framework for graph visualization in JavaScript than D3 for several reasons:</span></p> <ul class="q-box" style="box-sizing: border-box; direction: ltr; overflow-wrap: break-word; list-style: outside none disc; margin-bottom: 1em; margin-right: 2em;"><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0.7em;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">D3 is built around all the normal web stuff like HTML, DOM, CSS, therefore there is no need to learn new technologies in order to use it.</span></li><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0.7em;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">D3 is rather like a programming language for graphics. Leave aside the fact it’s written in JS, and it looks more like a Processing type of interpreted programming language.</span></li><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0.7em;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">D3 has a big community behind it. While even 2–3 years there were still problems finding good documentation for it, right now however there shouldn’t be any issues with it.</span></li><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0px;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">As other answers have mentioned, you can think of D3 as more of a basic utility that can be used to develop higher level charts/libraries, and as it turns out there are many of them. They are not better than D3, but rather they use D3.</span></li></ul><p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 0px; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">In general if you need something better you need to define in which sense? If you need better speed? Better functionality? Faster rendering speed versus faster development time? Depending on the answer you might find faster graphics library, e.g., if they were developed directly in C, however I doubt that beside Processing or D3 you will find anything faster in the JavaScript world. Be aware though that both Processing and D3 have a steep learning curve, and Processing also requires you to use a lot of mathematics.</span></p> </span></div><div></div></div></div><div class="q-text qu-mt--small qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;"><span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD">8.8K views</span><span class="q-box qu-display--none" style="box-sizing: border-box;"> · </span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 diCWLm"><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; color: inherit; text-align: inherit;" tabindex="0">View 2 Upvoters</div></span></span><span> · </span>Answer requested by <div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Jeff-Kinney-7" target="_blank"><span>Jeff Kinney</span></a></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-box qu-pb--medium qu-borderBottom" style="box-sizing: border-box; margin-left: 0.1px; margin-right: 0.1px;"><div class="q-box qu-mt--small" style="box-sizing: border-box;"><div><div class="q-box qu-borderBottom qu-pb--small" style="box-sizing: border-box;"><div class="q-flex qu-alignItems--center" style="box-sizing: border-box; display: flex;"><div class="q-box" style="box-sizing: border-box; flex: 1 1 0%;"><div class="q-text qu-medium qu-fontSize--regular qu-color--gray_dark qu-passColorToLinks" style="box-sizing: border-box;">Related Questions</div></div><div class="q-box qu-ml--small" style="box-sizing: border-box;"><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; color: inherit; text-align: inherit;" tabindex="0"><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;">More Answers Below</div></div></div></div></div><div class="q-box" style="box-sizing: border-box;"><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/unanswered/Which-is-better-for-network-visualization-Vis-js-or-D3-js"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">Which is better for network visualization, Vis.js or D3.js?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/What-is-best-for-graph-rendering-sigma-js-or-d3-js-Why"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">What is best for graph rendering: sigma.js or d3.js? Why?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/Is-d3-js-worth-learning"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">Is d3.js worth learning?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/What-are-the-data-visualization-alternatives-to-D3-js"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">What are the data visualization alternatives to D3.js?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/What-is-better-for-data-visualization-R-Python-libraries-or-D3-js"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">What is better for data visualization: R/Python libraries or D3. js?</span> </span></div></div></div></span></div></div></div></div></div></a></div></div><div style="position: relative; top: -50px;"></div></div></div></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div><div><div><div><div class="q-box qu-pb--medium qu-borderBottom" style="box-sizing: border-box; margin-left: 0.1px; margin-right: 0.1px;"><div class="q-box qu-pt--medium qu-pb--medium" style="box-sizing: border-box; position: relative;"><div class="q-box" style="box-sizing: border-box;"><div><div class="q-box" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex;"><div class="q-box qu-mb--small" style="box-sizing: border-box; width: 100%;" width="100%"><div class="q-box spacing_log_answer_header" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex; align-items: start; width: 100%;" width="100%"><div class="q-inlineFlex qu-flex--none qu-mr--small qu-alignItems--center" style="box-sizing: border-box; display: inline-flex;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-relative qu-display--inline-flex" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><a class="q-box qu-display--inline-flex qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Taha-Kachwala" target="_blank"><div class="q-inlineFlex qu-flex--none" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex qu-overflow--hidden qu-borderRadius--circle qu-borderWidth--retinaOverride" style="box-sizing: border-box; display: inline-flex; border-width: 2px; border-style: none; box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 0.5px;"><div class="q-box qu-bg--white__ignore_dark_mode qu-borderRadius--circle" style="box-sizing: border-box; position: absolute; inset: 1px;"></div><img class="q-image qu-display--block qu-size--36 qu-minWidth--36" style="box-sizing: border-box; max-width: 100%; position: relative;" src="https://qph.fs.quoracdn.net/main-thumb-36335708-200-hytiefnyaoseitkgetzltsqfcpreptom.jpeg" size="36"><div class="q-box qu-borderRadius--circle qu-borderAll qu-borderColor--darken Photo___StyledBox-sc-1x7c6d3-0 guhqSv" style="box-sizing: border-box; position: absolute; inset: 0px;"></div></div></div></div></a></div></div></div></div></div><div class="q-box qu-alignSelf--center qu-flex--auto" style="box-sizing: border-box; overflow-wrap: break-word;"><div class="q-text qu-fontSize--regular qu-truncateLines--3 qu-passColorToLinks" style="box-sizing: border-box; margin-bottom: 2px;"><span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD"><span class="q-text qu-bold" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Taha-Kachwala" target="_blank"><span>Taha Kachwala</span></a></div></div></div></div></span>, <span class="q-box qu-borderWidth--retinaOverride qu-borderWidth--regular" style="box-sizing: border-box; word-break: break-word;">Digital Media Technologist</span></span></span></div><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/Is-there-a-JS-better-than-D3-js-for-graph-visualization/answer/Taha-Kachwala" target="_top" rel="nofollow">Answered 3 years ago</a><span> · </span>Upvoted by <span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD"><span class="q-text" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Ravi-Shankar-1920" target="_blank"><span>Ravi Shankar</span></a></div></div></div></div></span>, <span class="q-box qu-borderBottom qu-borderWidth--retinaOverride qu-borderWidth--regular" style="box-sizing: border-box; word-break: break-word;">Mater's Master of Science in Computer Science & D3.js, University of Massachusetts, Dartmouth (2018)</span></span></span><span> · </span>Author has <span class="q-text qu-bold" style="box-sizing: border-box;">63</span> answers and <span class="q-text qu-bold" style="box-sizing: border-box;">625.1K</span> answer views</div></div></div></div></div></div><div class="q-relative spacing_log_answer_content puppeteer_test_answer_content" style="box-sizing: border-box; position: relative;"><div class="q-click-wrapper qu-display--block qu-tapHighlight--white qu-cursor--pointer" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: 100%; color: inherit; text-align: inherit;" width="100%" tabindex="0"><div class="q-relative" style="box-sizing: border-box; position: relative;"><div class="q-box" style="box-sizing: border-box; max-width: 100%;"><div class="q-box qu-cursor--pointer QTextTruncated___StyledBox-sc-1pev100-0 ejgusd" style="box-sizing: border-box;"><div class="q-relative" style="box-sizing: border-box; position: relative;"><div class="q-box qu-overflow--hidden" style="box-sizing: border-box; max-height: 300px;"><div class="q-text" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 1em; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">You can imagine D3 to be more of a framework you can use to design any type of visualization. It will require you to invest time and effort in learning, manipulation and cleaning of data, scaling, labeling etc. You can basically build any 2D visualizations you like from simple charts like bar and pie, to complex PCP and even custom visualizations. It is free, open sourced, and comes with a lot of good documentation and help from stack overflow.</span></p> <div class="q-box" style="box-sizing: border-box; margin-bottom: 1em; transition-property: undefined; transition-duration: 1s; transition-timing-function: ease-out; filter: blur(0px);"><img class="q-image qu-display--block qu-borderRadius--small" style="box-sizing: border-box; max-width: 100%;" src="https://qph.fs.quoracdn.net/main-qimg-bd3c312e9d3c76d8840eaafa65b5b7b4"></div> <p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 1em; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">(I had created this DOTA2 map using D3 and had done some analysis - </span><span class="q-inline" style="box-sizing: border-box; display: inline;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit; font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;" title="www.academia.edu" href="https://www.academia.edu/22194561/DotA2_Spatio-Temporal_Game_Analysis" target="_blank" rel="noopener nofollow">DotA2 Spatio-Temporal Game Analysis</a><span class="q-inlineBlock qu-verticalAlign--text-bottom" style="box-sizing: border-box; display: inline-block; width: 16px; height: 16px; flex-shrink: 0; line-height: 0; margin-left: 2px;" width="16px" name="ExternalLink"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 Icon___StyledCssInlineComponent-sc-11tmcw7-0 lcSoNN"><svg width="24px" height="24px" viewBox="0 0 24 24"><g id="external_link" class="icon_svg-stroke" stroke="#666" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></g></svg></span></span></span></p></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></html> |
Версия 14:12, 20 февраля 2021
Содержание
2021
2021-02
- 2021-02-20, 17:12:08: Как выучить иностранный язык: алгоритм / Хабр
- 2021-02-20, 10:40:05: Is there a JS better than D3.js for graph visualization? - Quora
- Is there a JS better than D3.js for graph visualization?5 Answers, works at MODUL University, Vienna
It would be extremely difficult to come up with a better framework for graph visualization in JavaScript than D3 for several reasons:
- D3 is built around all the normal web stuff like HTML, DOM, CSS, therefore there is no need to learn new technologies in order to use it.
- D3 is rather like a programming language for graphics. Leave aside the fact it’s written in JS, and it looks more like a Processing type of interpreted programming language.
- D3 has a big community behind it. While even 2–3 years there were still problems finding good documentation for it, right now however there shouldn’t be any issues with it.
- As other answers have mentioned, you can think of D3 as more of a basic utility that can be used to develop higher level charts/libraries, and as it turns out there are many of them. They are not better than D3, but rather they use D3.
In general if you need something better you need to define in which sense? If you need better speed? Better functionality? Faster rendering speed versus faster development time? Depending on the answer you might find faster graphics library, e.g., if they were developed directly in C, however I doubt that beside Processing or D3 you will find anything faster in the JavaScript world. Be aware though that both Processing and D3 have a steep learning curve, and Processing also requires you to use a lot of mathematics.
Related QuestionsMore Answers Below, Digital Media TechnologistAnswered 3 years ago · Upvoted by , Mater's Master of Science in Computer Science & D3.js, University of Massachusetts, Dartmouth (2018) · Author has 63 answers and 625.1K answer viewsYou can imagine D3 to be more of a framework you can use to design any type of visualization. It will require you to invest time and effort in learning, manipulation and cleaning of data, scaling, labeling etc. You can basically build any 2D visualizations you like from simple charts like bar and pie, to complex PCP and even custom visualizations. It is free, open sourced, and comes with a lot of good documentation and help from stack overflow.
(I had created this DOTA2 map using D3 and had done some analysis - DotA2 Spatio-Temporal Game Analysis
-
- 2021-02-20, 10:32:26: Cytoscape.js
- 2021-02-20, 10:29:31: Vega
- 2021-02-20, 10:29:13: Sigma js
- 2021-02-11, 11:00:24: Сложность вычислений 1. Вводная лекция - YouTube
- 2021-02-09, 23:09:20: caiyangcy/VRP-Algorithms
- 2021-02-09, 23:08:38: Solution Methods for VRP | Vehicle Routing Problem
- 2021-02-09, 23:08:23: 494.pdf
- 2021-02-09, 00:34:16: django-mptt-admin
- filter_tree_queryset
- 2021-02-07, 11:22:47: Making Artistic Maps with Python. Rock Chalk Jayhawk! | by Frank Ceballos | Towards Data Science
- 2021-02-07, 11:21:11: Как создавать красивые карты с помощью Python / Блог компании SkillFactory / Хабр
- 2021-02-04, 20:32:08: Curved Links - bl.ocks.org
- 2021-02-03, 12:23:00: Travelling Salesman Problem
- 2021-02-02, 14:14:27: Как «Ревущий Котёнок» с Reddit заработал 28.500% на акциях GameStop: объясняю простым языком / Хабр
- С. Вайн, „Опционы. Курс для профессоналов“, 2003.
- Я свои деньги (401k) в фонде могу инвестировать в довольно широких пределах, от высокорисковых активов до низкорисковых и низкодоходных (типа гособлигаций).
2021-01
- 2021-01-30, 03:50:08: Box Stacking Problem | DP-22 - GeeksforGeeks
- 2021-01-26, 07:42:08: Welcome to the QGIS project!
- 2021-01-26, 07:28:36: Делаем маршрутизацию (роутинг) на OpenStreetMap. Введение / Хабр
- 2021-01-26, 06:38:53: Простая логистика своими руками / Хабр
- 2021-01-26, 06:32:51: Яндекс.Маршрутизация vs Sygic. Замещаем импортозамещение
- 2021-01-26, 06:05:38: pgr_dijkstra — pgRouting Manual (2.2)
- 2021-01-26, 05:34:10: Сотни тысяч маршрутов в секунду на ядро. Опыт Яндекс.Маршрутизации / Блог компании Яндекс / Хабр
- Еще раз — представленное решение настолько плохо, что любой Open Source роутинг типа PgRouting или Spatialite Routing будет на порядки быстрее (100-1000 раз, навскидку).
- 2021-01-26, 04:22:42: Как мы сэкономили время курьерам. Логистика в Яндекс.Еде / Блог компании Яндекс / Хабр
- Как мы сэкономили время курьерам. Логистика в Яндекс.Еде
- 2021-01-26, 04:22:39: Яндекс.Маршрутизация: как мы окунулись в логистику и решили поменять будущее / Блог компании Яндекс / Хабр
- Было бы интересно если бы вы выложили матрицу и точки для 3000 локаций, ваше решение, чтобы посмотреть бенчмарк (мы тоже занимаемся VRP задачами)
- Солвер Яндекс.Маршрутизации использует комбинацию алгоритма симуляции отжига и генетического алгоритма.
- заточенных именно под MVRP-задачи и готовых к интеграции с системами управления предприятием. В России известны VeeRoute, Maxoptra, Антор.
- Программа написана хорошими программистами, она умеет разбрасывать грузы по машинам и строить оптимальный (по времени или пробегу) маршрут объезда заказов, учитывая кучу параметров. Но логист этой функциональностью никак не пользуется. Зато он активно использует визуализацию заказов на карте.
- Яндекс.Маршрутизация: как мы окунулись в логистику и решили поменять будущее
- 2021-01-26, 04:22:37: Сотни тысяч маршрутов в секунду на ядро. Опыт Яндекс.Маршрутизации / Блог компании Яндекс / Хабр
- Сотни тысяч маршрутов в секунду на ядро. Опыт Яндекс.Маршрутизации
- 2021-01-13, 23:28:35: Что вас ждет на курсе Алгоритмов в Яндекс.Практикуме / Хабр
- Это вы еще в школе21 от Сбера не учились.
Там всё то же, но бесплатно, и преподавателей нет совсем - Оставлю ссылку openedu.ru/course/ITMOUniversity/PADS
Единственный момент, в 2017 году, когда я проходил, графов не было. Может сейчас добавили. - Вышеупомянутый leetcode, например, не оценивает производительность работы с консолью, оценивается только работа алгоритма. Также собственно и на hackerrunk, только там, в отличии от leetcode, функции чтения из консоли и далее вывод ответа в консоль реализованы заранее и скрыты от пользователя (но код можно развернуть и посмотреть).
- Подтверждаю — 50-100 решенных литкодов позволяют пройти алгоритм секцию в том же яндексе
- Это вы еще в школе21 от Сбера не учились.
- 2021-01-12, 16:25:42: Аксиома выбора и принципиальные ограничения человеческого разума / Хабр
- 2021-01-12, 11:33:42: Computational Complexity: Impagliazzo's Five Worlds
2020
2020-12
- 2020-12-15, 21:12:50: Как попадает товар в магазины «Леруа Мерлен» с точки зрения математики заказа / Блог компании Леруа Мерлен / Хабр
- 2020-12-01, 22:40:34: BI 3 (45) 2018 RU.indd - 2.pdf
2020-11
- 2020-11-26, 02:18:46: Заметки Датасатаниста: что делать, если перед вами оказалась NP-полная задача / Блог компании RUVDS.com / Хабр
- 2020-11-26, 02:15:02: Что такое логическое программирование и зачем оно нам нужно / Хабр
- 2020-11-26, 01:52:18: ITMO Smart Waste Management system
- 2020-11-26, 01:25:36: Circulation problem - Wikipedia
- 2020-11-26, 01:24:20: gboeing/osmnx: OSMnx: Python for street networks. Retrieve, model, analyze, and visualize street networks and other spatial data from OpenStreetMap.
- 2020-11-26, 01:24:15: OSMnx: New methods for acquiring, constructing, analyzing, and visualizing complex street networks - ScienceDirect
- 2020-11-17, 09:41:05: A method for designing minimum‐cost multisource multisink network layouts - Heijnen - 2020 - Systems Engineering - Wiley Online Library
- 2020-11-17, 09:40:42: algorithms - Minimizing transportation cost through a network, multiple source/sinks - Computer Science Stack Exchange
- 2020-11-17, 08:55:10: (1) (PDF) The Logistic Model for Decision Making in Waste Management
2020-10
- 2020-10-13, 14:31:27: vasil-sd/engineering-sw-hw-model-checking-letures: Lectures in MIPT: intro to engineering software using model-checking.
- Обзорный курс по model-checking/model-finding, читаемый осенью 2020 для студентов 2-го курса МФТИ.
- 2020-10-13, 14:10:16: The Science of Deep Specification
- 2020-10-13, 14:06:36: engineering-sw-hw-model-checking-letures/Lecture1.pdf at master · vasil-sd/engineering-sw-hw-model-checking-letures
- 2020-10-13, 14:00:10: «Введение в верификацию программ» - YouTube
- 2020-10-13, 13:54:55: jsCoq – Use Coq in Your Browser
- 2020-10-13, 02:45:30: Приближенное решение задач комбинаторной оптимизации: алгоритмы и трудность, осень 2016
- 2020-10-13, 02:40:51: Введение в язык формальной верификации Coq, осень 2019
- 2020-10-13, 02:35:10: Алгоритмы: дополнительные главы, осень 2020
- 2020-10-13, 02:33:55: Fine-grained complexity, осень 2020
- 2020-10-13, 02:33:04: Эффективные алгоритмы и коммуникационная сложность, весна 2019
- 2020-10-13, 02:32:30: Вероятностные алгоритмы, весна 2020
- 2020-10-13, 02:08:22: Проблема останова лжеца Гёделя и брадобрея Кантора / Хабр
- 2020-10-12, 00:49:47: Исследователи смогли преодолеть барьер в улучшении решения задачи коммивояжера / Хабр
- Исследователи смогли преодолеть барьер в улучшении решения задачи коммивояжера
- 2020-10-04, 14:13:10: Sphere Online Judge (SPOJ)
2020-09
- 2020-09-12, 08:21:26: Специалисты по информатике хотят загнать в угол гипотезу Коллатца / Хабр
- 2020-09-01, 20:36:26: Интерактивная визуализация алгоритмов на базе Jupyter / Хабр
2020-08
- 2020-08-01, 17:35:26: Книга «Гид по Computer Science для каждого программиста» / Блог компании Издательский дом «Питер» / Хабр
2020-07
- 2020-07-08, 10:38:47: Hoare: Hoare Logic, Part I
- 2020-07-03, 10:27:44: Дерандомизация и псевдослучайность (Д.В. Мусатов, осень 2018) — Кафедра дискретной математики
-
Дерандомизация и псевдослучайность (Д.В. Мусатов, осень 2018)
Лектор - доц. Д.В. Мусатов
Спецкурс проходит по четвергам в 16:00 в ШАД, Яндекс. Начало - 13.09.2018.
-
- 2020-07-02, 22:58:04: Multiresolution alignment for multiple unsynchronized audio sequences using sequential Monte Carlo samplers - Multiresolution-alignment-for-multiple-unsynchronized-audio-sequences-using-Sequential-Monte-Carlo-samplers.pdf
- See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/321767378Multiresolution alignment for multiple unsynchronized audio sequencesusing Sequential Monte Carlo samplers
- 2020-07-02, 21:35:32: Участник:StasFomin/Bookmarks/DocStruct — DISCOPAL
- 2020-07-02, 19:44:44: Проблема перебора
- 2020-07-02, 19:37:12: Lecture26
- 2020-07-02, 18:25:13: Algorithms | Coursera