{"cells":[{"cell_type":"markdown","source":["# Advanced interactive graphics"],"metadata":{"id":"epe_wojsFp4P"}},{"cell_type":"markdown","source":["In your other DS courses, you've learned how to create static graphics\n","uses R, ggplot, matplotlib, seaborn ... You've probably also learned\n","how to create client side interactive graphics using libraries like\n","plotly and maybe also learned client-server interactivity with shiny,\n","dash, streamlet, etcetera.\n","\n","In this section we're going to dig deeper into client side graphics,\n","which are almost always done via html, css, javascript and a\n","javascript plotting library. We're going to focus on d3.js, a well\n","known javascript library for creating interactive data\n","visulalizations.\n","\n","Tools like d3 are mostly for creating professional data web\n","graphics. So, most of our daily graphics use will just use\n","python/R/julia/matlab ... or plotting libraries like plotly. Usually,\n","you want to prototype graphics outside of d3. Here, we'll give you a\n","smidge of using d3 to get you started if your goal is to become a\n","graphics expert.\n","\n","Let's get started. I'm going to assume that you have a basic knowledge\n","of html, css and a little bit of javascript. D3 works by manipulating\n","html elements. Let's select every paragraph element in a document. Try uncommenting each of the three `let pselect` lines (and commenting the others) to see what they do."],"metadata":{"id":"cg_gylyKHUPe"}},{"cell_type":"raw","metadata":{"id":"nOPkAyLY_SJk"},"source":["\n","```\n","\n","\n","
\n"," \n","\n","\n","\n","Advanced
\n","Data science
\n"," \n"," \n","\n","```"]},{"cell_type":"markdown","source":["```{raw} html\n","