tag:blogger.com,1999:blog-239036802024-02-07T23:14:55.622-06:00Drew's DayUnknownnoreply@blogger.comBlogger393125tag:blogger.com,1999:blog-23903680.post-1389784381716587812024-01-18T16:48:00.006-06:002024-01-18T16:48:55.167-06:00Energy usage dashboards for teaching physics?<p> I just learned about three pretty cool dashboard webpages for showing students energy production / consumption which might be useful for discussing how electrical energy usage is related to climate change. </p><p>The first one covers a large part of the globe: <a href="https://app.electricitymaps.com/map">https://app.electricitymaps.com/map</a></p><p>The next two are specific to the United Kingdom: <a href="https://renewables-map.robinhawkes.com/#5.97/54.23/-3.617">https://renewables-map.robinhawkes.com/#5.97/54.23/-3.617</a> and <a href="https://grid.iamkate.com/">https://grid.iamkate.com/</a></p><p>I'd love to know about other options and if anything like the last two exist for North America or the U.S. Let me know if you've seen anything like these that I should be aware of!</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-50407506210962057962023-12-04T07:30:00.004-06:002023-12-04T07:30:00.133-06:00Really interesting OpenBook titled "Engaging with Everyday Sounds"<p>I have had a tab open in my browser for several months to a book called <a href="https://books.openbookpublishers.com/10.11647/obp.0288/contents.xhtml">Engaging with Everyday Sounds</a>. I'm sure that I discovered this book through one of the podcasts that I subscribe to related to acoustics, but I have since forgotten which podcast it was. </p><p>This book is interesting not only due to the content but also because it is an OpenBook and therefore free to read online. Perhaps what is most unique about this book is that embedded within are sound recordings related to the chapter material.</p><p>This is neat work, and I would like to read it more closely rather than just the light skimming that I do every time I return to the tab.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-49757782097116113192023-12-01T16:06:00.007-06:002023-12-01T16:06:53.172-06:00Social Justice in Acoustics and Soundscape Research<p>I recently listened to a great episode of one of my favorite podcasts - <a href="https://99percentinvisible.org/">99% Invisible</a> - that I just can't get out of my head. The episode was called <a href="https://99percentinvisible.org/episode/home-on-the-range/">Home on the Range</a> - if you have yet to hear it, you should go listen to it now.</p><p>The episode is a profile of a suburb of Cincinnati, a majority-Black town neighbored by a gun range used by the Cincinnati police department. For a variety of structural and historically racist reasons, the town had to build housing incredibly close to the gun range. The focus of the episode is mainly on the reasons why that came to be, how the situation has gotten worse over time, and, finally, a possible resolution to the issue. </p><p>What struck me about this was that it seems clear to me that this is a type of social justice issue that the community of people who work in the field of acoustics and especially those in the field of soundscapes should have been aware of years (or decades!) ago. Some people in the acoustics research community may have heard of this town and the noise situation, but for me, it was a totally new story.</p><p>I don't mean to compare this to the story of Black Wall Street in Tulsa, OK - but I definitely feel echoes of that history in my reaction to the podcast episode. When I think of soundscapes as related to social justice, I can think of examples of airplane flight paths over low-income neighborhoods and I can think of examples of urban soundscape research with possible links to increased health risks, but I feel that I don't have a handle on the state of soundscape work and where there are opportunities to use acoustics to make people's lives better.</p><p>If anyone out there does this sort of work, let me know!</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-10081226330617939072023-04-10T09:00:00.001-05:002023-04-10T09:00:00.201-05:00Something I'm reading intersected with stuff I"m listening to<a href="https://www.amazon.com/Golden-Power-Silence-World-Noise-ebook/dp/B09CPZZSPS?crid=3CY2O6N0BE096&keywords=golden&qid=1680924095&s=digital-text&sprefix=golden%2Cdigital-text%2C105&sr=1-4&linkCode=li2&tag=drewsday03-20&linkId=97930121a81eec68202e997a7e13febb&language=en_US&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=B09CPZZSPS&Format=_SL160_&ID=AsinImage&MarketPlace=US&ServiceVersion=20070822&WS=1&tag=drewsday03-20&language=en_US" /></a><img alt="" border="0" height="1" src="https://ir-na.amazon-adsystem.com/e/ir?t=drewsday03-20&language=en_US&l=li2&o=1&a=B09CPZZSPS" style="border: none; margin: 0px;" width="1" /><p>Around the end of the year, I listened to <a href="https://99percentinvisible.org/episode/mini-stories-volume-15/">this episode of 99% Invisible</a> which featured a story about how emergency vehicle sirens use higher sound levels than they historically did. The podcast mentioned the story was a part of the book "Golden" about the theme of silence in the world today. That sounded interesting, so I purchased the ebook to read.</p><p>I've been reading the book and enjoying it. The book is less about the acoustics of silence and more about the psychological aspects of searching for silence (or peace) in a loud and chaotic world. Still, it has been a worthwhile read so far.</p><p>I was a bit surprised to find <a href="https://www.20k.org/episodes/golden">an episode of Twenty Thousand Hertz also titled "Golden,"</a> which was also based on the book. It, too, was a really great episode - I recommend checking it out.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-43546810700462333922023-03-17T08:15:00.006-05:002023-03-17T08:15:00.196-05:00Link dump from "Back to Work" podcast (episode 605)<iframe frameborder="0" height="200" scrolling="no" src="https://player.fireside.fm/v2/2_Lriy7y+o17xjB1M?theme=dark" width="740"></iframe><p>I've listened to the "Back to Work" podcast since it started. If you have never listened to this podcast, it's a bit hard to explain. Initially, it was about productivity at work. Over time it has become less about that and more about all sorts of issues related to existing in the varied environments that we all exist in. The topics cover a wide range: work, home, online, offline, hobbies, Apple, markdown, and productivity. This particular episode had a great set of shared links that I wanted to remember. My favorites from the episode were:</p><p></p><ul style="box-sizing: inherit; caret-color: rgb(34, 34, 34); color: #222222; font-size: 17px; list-style-image: initial; list-style-position: initial; margin: 1em 0px; padding: 0px; text-align: left;"><li style="box-sizing: inherit; font-size: 1em; line-height: 1.5; margin: 0.5em 1em 0.5em 1.5em;"><span style="font-family: inherit;"><a href="https://en.wikipedia.org/wiki/List_of_common_misconceptions" rel="nofollow" style="box-shadow: rgba(41, 136, 204, 0.2) 0px 1px; box-sizing: inherit; color: #2988cc; text-decoration: none;" title="List of common misconceptions - Wikipedia">List of common misconceptions - Wikipedia</a> — This is quite a long list from many different fields. The whole page is like the top of a thousand rabbit holes into which I could disappear.</span></li></ul><p></p><ul style="box-sizing: inherit; caret-color: rgb(34, 34, 34); color: #222222; font-size: 17px; list-style-image: initial; list-style-position: initial; margin: 1em 0px; padding: 0px;"><li style="box-sizing: inherit; font-size: 1em; line-height: 1.5; margin: 0.5em 1em 0.5em 1.5em;"><span style="font-family: inherit;"><a href="https://samenright.com/2023/01/23/the-cabinet-of-wikipedian-curiosities/" rel="nofollow" style="box-shadow: rgba(41, 136, 204, 0.2) 0px 1px; box-sizing: inherit; color: #2988cc; text-decoration: none;" title="The Cabinet of Wikipedian Curiosities – Sam Enright">The Cabinet of Wikipedian Curiosities – Sam Enright</a> — Mostly a bunch of really strange bits of history documented on Wikipedia.</span></li><li style="box-sizing: inherit; font-size: 1em; line-height: 1.5; margin: 0.5em 1em 0.5em 1.5em;"><span style="box-shadow: rgba(41, 136, 204, 0.2) 0px 1px; box-sizing: inherit; color: #2988cc; font-family: inherit; text-decoration: none;"><a href="https://pluralistic.net/2023/01/21/potemkin-ai/#hey-guys" rel="nofollow" style="box-shadow: rgba(41, 136, 204, 0.2) 0px 1px; box-sizing: inherit; color: #2988cc; text-decoration: none;" title="Pluralistic: Tiktok’s enshittification (21 Jan 2023) – Pluralistic: Daily links from Cory Doctorow">Pluralistic: Tiktok’s enshittification (21 Jan 2023) – Pluralistic: Daily links from Cory Doctorow</a> </span>— Really great essay by Cory Doctorow, which explains a lot of how/why online services that start great end up becoming terrible.</li><li style="box-sizing: inherit; font-size: 1em; line-height: 1.5; margin: 0.5em 1em 0.5em 1.5em;"><span style="font-family: inherit;"><a href="https://www.quantamagazine.org/the-thoughts-of-a-spiderweb-20170523/" rel="nofollow" style="box-shadow: rgba(41, 136, 204, 0.2) 0px 1px; box-sizing: inherit; color: #2988cc; text-decoration: none;" title="The Thoughts of a Spiderweb | Quanta Magazine">The Thoughts of a Spiderweb | Quanta Magazine</a> — I am saving this article mostly to come back and follow up on the links it contains related to how spiders use/detect vibrations.</span></li></ul>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-7487941612305909712023-03-15T08:47:00.001-05:002023-03-15T08:47:00.203-05:00Why does Rice play Texas?? A podcast episode about Kennedy's moon speech.<iframe height="200px" scrolling="no" src="//shows.cadence13.com/player/it-was-said/episodes/f365b949-2709-421f-9e6d-7314a683cbf0?theme=dark&customColor=%231196ec" width="100%"></iframe>
<p>This episode of the podcast "<a href="https://www.history.com/it-was-said-podcast">It Was Said</a>" has been in my playlist for months now. I've listened to pretty much the whole episode, and I think it's great. I'm biased, though, as a complete fan of Kennedy's "We choose to go to the moon" speech. I just wanted to be sure I could find this episode for sharing with students in physics or astronomy class.</p><br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-43261120067555065742023-03-14T08:52:00.007-05:002023-03-14T08:52:00.197-05:00<div class="separator" style="clear: both; text-align: left;"><a href="https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1539234122l/42275837._SY475_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Cover of the book "Sundown Towns" by James Loewen" border="0" data-original-height="475" data-original-width="314" height="320" src="https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1539234122l/42275837._SY475_.jpg" width="212" /></a><a href="https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1624500842l/58412441._SY475_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img alt="Cover of book titled "I alone can fix it" by Carol Leaning and Philip Rucker" border="0" data-original-height="475" data-original-width="312" height="320" src="https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1624500842l/58412441._SY475_.jpg" width="210" /></a><a href="https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1590712629l/53595348._SY475_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Copy of book titled "Caste" by Isabel Wilkerson" border="0" data-original-height="475" data-original-width="312" height="320" src="https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1590712629l/53595348._SY475_.jpg" width="210" /></a><br /><br /></div><p>I'll admit up front that I'm over three months past when most people do a year-end review. But it's spring break for me, and I almost feel like I have time to think about things like this for a few seconds. </p><p>I like to read books. I'm certainly not the fastest reader out there, nor do I end up reading a huge amount of books each year, but usually, I'm able to finish at least 25 books a year. <a href="https://www.goodreads.com/user/year_in_books/2022/2379625">Last year, I only read 17 books</a>.</p><p>As the end of the year approached, I looked back at the books I had picked and noticed that the lengths of books I was reading were trending upward. In 2020, the books I read had an average length of 314 pages. In 2021 it was 337 pages. Last year it was 342 pages. </p><p>The longest book I read was "<a href="https://www.goodreads.com/book/show/42275837-sundown-towns">Sundown Towns</a>" by James Loewen. Not only was that book long, it was also a slow read for me. I can't exactly explain it - the book never seemed to drag, but yet it was the type of book that took more deliberate reading.</p><p>Another long book was "<a href="https://www.goodreads.com/book/show/58412441-i-alone-can-fix-it">I Alone Can Fix It</a>" by Carol Leonnig and Philip Rucker. This was about the last year of the Trump presidency. I try not to read too many contemporary political books, but in 2021 I had read <a href="https://www.goodreads.com/book/show/50972164-american-carnage">a book about the first three years of the Trump administration</a>, so I figured the Leonnig and Rucker book would be a good way to finish the story of what happened in the White House. In retrospect, I'm a bit ambivalent about my decision to read both of those books. I think they were fine choices for what they were, but I'm not sure how much they will stick with me long term.</p><p>The last specific example of a long book I read was "<a href="https://www.goodreads.com/book/show/53595348-caste">Caste</a>" by Isabel Wilkerson. Out of the 17 books I finished in 2022, this was the book with the highest average rating on Goodreads. I enjoyed this book, although there were some chapters in the middle which I felt dragged a bit. Wilkerson wrote about an event that happened to her at an unnamed business in Chicago towards the start of the book. I am positive that I had either heard her tell that story on a podcast or in a radio interview well before her book was published, but I couldn't find where I had heard it before. I definitely recommend this book even though it was a bit long and had a few slow parts to it. There is a reason it was so highly rated by many people.</p><p>I think another reason I ended up finishing fewer books than I wanted was that I am mostly reading books that I check out from the library as ebooks. Often times, I don't finish a book before it is due and then there is a hold on the book while others read it. I end up with a number of books-in-progress that I'm always planning to come back to after finishing the library books. </p><p>So far this year, I've only finished three books. I'm probably already behind in my goal for finishing 25 books this year. That's okay, though. I still like reading whatever I can.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-86045269042940644122023-03-13T08:25:00.007-05:002023-03-13T08:25:00.189-05:00The value of doing science - a podcast recommendation<p>I listen to a lot of podcasts - so many that I'm usually weeks (or months) behind on several that I subscribe to. A fairly recent episode of Radiolab definitely caught my attention, though.</p><iframe frameborder="0" height="130" scrolling="no" src="https://www.wnyc.org/widgets/ondemand_player/wnycstudios/#file=/audio/json/1300251/&share=1" width="100%"></iframe>
<div><br /></div><div>This episode started by introducing listeners to the "Golden Fleece" Award, a made-up award by a long-time senator from Wisconsin. The premise of the award was that there were scientists squandering taxpayer money on frivolous research. Having seen and heard politicians do this for as long as I have been involved in science, I was bracing for bad news. At best, I figured that the episode would debunk the idea of frivolous studies but then go back and say that the politicians have a duty to make sure the money is not wasted.</div><div><br /></div><div>The episode was so much better than that. </div><div><br /></div><div>I don't want to spoil it for you if you haven't heard it already - just go listen to it! There's stuff to share with your students if you teach or your family if you do (or just love) science. I learned about a type of snail I had never heard of, the cone snail, which is just super fascinating! </div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-50322031829347186542023-03-11T20:20:00.000-06:002023-03-11T20:20:06.400-06:00Bioacoustics of whales in the news!<p>Last week I caught <a href="https://wapo.st/3ZxqmMp">this article in the Washington Post about how whales can use "vocal fry"</a> in some of their sound production. The Washington Post article definitely used the hook of vocal fry as being associated with something that (often, young) women face criticism for. I have never understood why so many people seem to have extreme opinions about how people's speech sounds in terms of the creakiness or register of the voice. I am just not sensitive to it, and although I have heard people with distinctive voices, I guess I default to trying to judge them by what they say rather than how they sound as they say it.</p><p>Anyway, back to the science presented in the article. The source of the research was <a href="https://www.science.org/doi/10.1126/science.adc9570#bibliography">a recent paper in the journal Science</a>. I don't have access to this journal, but I did poke around a bit on the page enough to read the abstract and "Secrets of whale vocal anatomy" paragraph. I downloaded the videos included in the supplementary materials. If you're a fan of seeing how science is done, it's always interesting to get a peek into the process by watching videos like these. The footage is raw and different from what you might expect in a science documentary. I love stuff like this! </p><p>I also skimmed through the references and noted several citations to articles from JASA - I'm sure there were several ASA members pleased to see their work cited in Science. </p><p>Anyway, bioacoustics is a really fascinating field and I'm happy to see it get noticed by these publications. I sort of wish the fraught topic of vocal fry in humans hadn't been used to make the science seem catchier, though.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-39435104329788726972023-02-17T10:56:00.004-06:002023-02-17T10:56:32.865-06:00This new meta-analysis of the effectiveness of mask-wearing was more interesting than I expected<p>There is <a href="https://www.cochranelibrary.com/cdsr/doi/10.1002/14651858.CD006207.pub6/full">an updated meta-analysis</a> of how respiratory illnesses spread and the effectiveness of prevention techniques such as hand-washing and mask-wearing. I didn't expect to be thinking much about the effectiveness of mask-wearing or not anymore, but I was reading <a href="https://www.theatlantic.com/newsletters/archive/2023/02/a-new-turn-in-the-fight-over-masks/673104/">a recent newsletter from The Atlantic</a> which featured an interview with the author of <a href="https://www.theatlantic.com/health/archive/2023/02/covid-mask-guidelines-fight-cochrane-review/673039/">an article breaking down the meta-analysis paper</a>. (Subscription probably required for The Atlantic.)</p><p>I did spend what felt like a lot of time before the Fall semester began in 2022 trying to figure out what sort of language I was going to put in my syllabus regarding masks. What I finally came up with was this simple policy: "Masks are optional, but respect for others is not. Some people may choose to wear a mask some or all of the time, and some people may choose never to wear a mask. Either choice at any time should be respected." That language seemed to work well, and I've been reasonably happy with it. </p><p>I had a more difficult time figuring out if I should be wearing a mask or not. On the one hand, I am reasonably healthy and not at a high risk for hospitalization with a COVID infection. On the other hand, long COVID is a real thing and as a scientist I should probably be practicing what the science says is best policy. What I finally came to realize was that the worst part of wearing a mask while teaching was that it made it difficult (in some cases almost impossible) to build relationships with students in my classes. So, I'm taking a calculated risk that the benefit of more easily building trust and rapport with students in my classes outweighs the risk of getting (and spreading) COVID.</p><p>What I found fascinating about the new meta-analysis was the conclusion that it was difficult (or impossible) to make any population-level conclusions about the effectiveness of wearing masks. That doesn't negate the science which says on an individual level that masks provide reasonable protection for the wearer. I'm hoping that what I read is not just a confirmation of a prior belief - I'm trying very hard to be open minded and not just falling for a confirmation bias trap. But still, it does seem a lot more in-line with what I have already been doing regarding masks - not masking when building relationships is important and masking in crowded/not-well-ventilated spaces where I'm not trying to build rapport with anyone I interact with.</p><p>I also think this sort of balance of when to mask or not helps remind me that other people can choose to wear masks for individual reasons. None of those reasons need to be known to me or anyone else, really. And whether or not the individual masking has a measurable population-level effect doesn't really matter, I suppose. But I also figure it can't make the spread worse, right?</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-20831701737543144462023-02-15T17:03:00.001-06:002023-02-15T17:03:37.845-06:00It's like "Slow TV" but for space geeks...<p>Remember a few years back when the Scandinavian import to Netflix was "Slow TV" featuring long train rides or marathon knitting sessions? All of these were shown in real-time, using high-quality cameras, except nothing was edited for time.</p><p>May I present to you the Slow TV equivalent for space geeks - an 8 hour spacewalk shown in real-time:</p><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/VFnE1bCQEyY" title="YouTube video player" width="560"></iframe><div><br /></div><div>I left this running for a bit in a background window today, and it was very soothing! I wish my workday was in microgravity!!</div><div><br /></div><div>I can only imagine what it would be like to have a camera following me for 8 hours during my workday. There would be interesting times during the day, like during classes and labs. Then, there would be the hours of tedious email answering and trying to get stuff prepped for the next class. Clearly there is a reason that type of Slow TV has never been attempted. 😄</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-36976724953443187342023-02-14T21:04:00.002-06:002023-02-14T21:04:23.406-06:00I miss old twitter<p> I was one of the users of the Tweetbot client for Twitter. Back in January the access to twitter got switched off from the app and since then any user will see this when launching the app:</p><p><img height="268" src="blob:https://www.blogger.com/22777221-854d-4a57-a843-f86b4c38121e" width="397" /></p><p>I used to read twitter in chronological order. It's not clear to me that I can do that anymore and I'm not really interested in letting an algorithm decide what is important for me to read. </p><p>I'm not writing this to say I'm “leaving twitter” but I'm not really able to use it the way I want anymore. That bums me out, but eventually I hope to figure things out. </p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-42208385367457066742023-01-16T15:53:00.004-06:002023-01-16T15:53:55.697-06:00Ways to make graphs for class use<p>I seem to at least once a semester realize that I have forgotten all the apps and websites that I've seen that help to produce graphs for class use. These graphs can be used for formative assessments or quizzes/exams in class. In no particular order:</p><p><a href="https://motionmapmaker.com">Motion map maker</a> (credit ???)</p><p><a href="https://www.desmos.com/calculator/s3edi7wfna">Graph template on Desmos</a> (credit <a href="https://twitter.com/fnoschese/status/1287453728946245633">@fnoschese</a>)</p><p><a href="https://www.desmos.com/calculator/r0i8gofv7o">Adjustable graph template on Desmos</a> (credit <a href="https://twitter.com/MrJoeMilliano/status/1441910544752128015">@MrJoeMilliano</a>)</p><p><a href="https://www.desmos.com/calculator/sdbaibec1r">Remix of above</a> (credit <a href="https://twitter.com/a_freeparticle/status/1575987283207294976">@a_freeparticle</a>)</p><p><a href="http://GraphSketch.com">GraphSketch.com</a> (I have not used it, I just sort of discovered it by googling.)</p><p>There is a pretty good Mac app called <a href="https://github.com/graphsketcher/GraphSketcher">GraphSketcher</a>, which is no longer in development, but mostly still works. <a href="https://alternativeto.net/software/omnigraphsketcher/">Alternatives to GraphSketcher</a> are mostly programming environments.</p><p>There's another Mac app called Grapher which is basic but sometimes useful. </p><p>I have downloaded a spreadsheet with adjustable sliders (filename Adjustable XVT Graphs_2020_Sliders_VBA.xlsm) for making kinematic graphs. (credit <a href="https://twitter.com/elbee818/status/237585393145479169">Dan Hosey</a>) I can't find a current link to that spreadsheet, but <a href="http://www.mrhosey.com/desmos78">here is version Dan put on Desmos</a>.</p><p>Here's a <a href="https://youtu.be/QPmYUTDDbxE">video demonstrating how to make nice graphs in Inkscape</a>. (Credit Marco Almeida)</p><p>The oPhysics site has <a href="https://ophysics.com/t3.html">a graph drawing page</a>. (credit ???) Also, that site has OTHER physics drawing tools that I should try to remember.</p><p>I'll try to update this page in the future as I (re)discover other options.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-82974377051412270762019-02-02T12:01:00.001-06:002019-02-02T12:12:35.277-06:00STEM Scholar Colloquium Series Spring 2019<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMTAvi-v6eE-oOxh5E4M6vudFFgDym3eY4ff-971I2N2_EU1D60Q_EES1dOQZ6YUAVAZTpnHL0po_xG2JGWQldJ9y0b1Q2nG5RrOb8EdvK4rbhHjQiqH3HzU0BbGTwfwr2wdhL/s1600/Screenshot+2019-02-02+11.55.29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1318" data-original-width="1052" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMTAvi-v6eE-oOxh5E4M6vudFFgDym3eY4ff-971I2N2_EU1D60Q_EES1dOQZ6YUAVAZTpnHL0po_xG2JGWQldJ9y0b1Q2nG5RrOb8EdvK4rbhHjQiqH3HzU0BbGTwfwr2wdhL/s640/Screenshot+2019-02-02+11.55.29.png" width="508" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I'm pretty excited to see our line-up of speakers that we have invited this semester for the STEM Scholar Colloquium Series at JJC this semester. It's great that we were able to invite an engineer from Lockheed Martin - we haven't had any engineers come speak at JJC that I can remember since I started there. I'm also personally looking forward to the physics talk in March. Finally, I know that everything I hear in April will be new to me, since I've never done anything related to biochemistry. I'm really excited to hear from all of the speakers! </div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-51291354912154311122018-12-30T20:24:00.001-06:002018-12-30T20:24:18.378-06:00Popover breakfast!<div class="mobile-photo">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3PTUArTt2vFyu72AlVm23GzdML3wPaHtkDffelzxlzdmfCMa-V-mTHjTatZxPus1U9Wmz2Gv7asw_NbAFCvHG09cLwUN5mUVBWBlNQBYZql_5nfKPi9Gc5Os32quTY4XU9YDL/s1600/IMG_6509-767650.JPG"><span style="font-family: inherit;"><img alt="" border="0" id="BLOGGER_PHOTO_ID_6640976221931667810" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3PTUArTt2vFyu72AlVm23GzdML3wPaHtkDffelzxlzdmfCMa-V-mTHjTatZxPus1U9Wmz2Gv7asw_NbAFCvHG09cLwUN5mUVBWBlNQBYZql_5nfKPi9Gc5Os32quTY4XU9YDL/s320/IMG_6509-767650.JPG" /></span></a></div>
<span style="font-family: inherit;">This morning we had homemade popovers for breakfast - they were great!! So great that I forgot to take a picture until after I finished one and had ripped open the second.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="-webkit-text-size-adjust: auto;"><span style="font-family: inherit;">I’m not making any promises, but if you’re at our house in the winter months and you ask nicely, you too could enjoy this treat.</span></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-7253412419588531312018-12-21T13:14:00.001-06:002018-12-21T13:27:38.029-06:00"...if you want to learn something, I can't stop you. If you don't...I cannot teach you."<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIeOWwckMSl9Ri0xn01C653_Dj3CgKeie6Lh7nxsu-O2eU0dwsj_HP2zyrFtj0j0rXCs7z8hxw1T61OKAYd6J9X-F5dJrurMsBlsnfsH1PMkPx81ValQNzTP-3ANTuEwk6EQs3/s1600/Wynton+Marsalis+Quote+image-achmorrison.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="789" data-original-width="940" height="536" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIeOWwckMSl9Ri0xn01C653_Dj3CgKeie6Lh7nxsu-O2eU0dwsj_HP2zyrFtj0j0rXCs7z8hxw1T61OKAYd6J9X-F5dJrurMsBlsnfsH1PMkPx81ValQNzTP-3ANTuEwk6EQs3/s640/Wynton+Marsalis+Quote+image-achmorrison.png" width="640" /></a></div>
<br />
As I was catching up on some podcasts after finals week, the episode of Freakonomics called "<a href="http://freakonomics.com/podcast/creativity-2/">Where Does Creativity Come From? (And Why Do Schools Kill It Off)?</a>" which had the following line from legendary trumpeter Wynton Marsalis: "...if you want to learn something, I can't stop you. If you don't want to learn it, I cannot teach you." Whoa! That is so true. I can't count the number of times that I have students in my class who are there because they have to fulfill a science credit (for various reasons) and have very little interest in the physics I am trying to discuss. I think that I have tried for years to foster a classroom environment where learning can happen, but I sometimes forget that students have to WANT to learn what I am offering to teach.<br />
<br />
Following my continuing philosophy to not hide anything in terms of pedagogy, learning, or teaching from my students, I plan to hang some printouts of these images I made and have them in the classroom as a reminder that the choice to engage in learning is solely up to the learner.<br />
<br />
After hearing this episode, I thought for sure that some other teacher had discovered this great podcast episode and the Marsalis line before I did. I did a quick search and the only post I could find was <a href="https://medium.com/@shaunm44/creative-motivation-356c7cfdb5a8?email=achmorrison%40gmail.com&g-recaptcha-response">this one on Medium from Shaun Mosley</a>. I like how he tied the process of developing creativity and learning to the differences between extrinsic and intrinsic motivations. It is something I have certainly thought a lot about as I have planned my classes and made the shift to Standards-Based Assessment and Reporting.<br />
<br />
To all the teachers out there: if you have a chance to listen to the podcast episode, I'd love to know what you think about it and what you are doing in your class to engage learners in creativity. Let me know!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiCdE1DPI-UTzGPQB7rCDjhL4EazbDdjA4IY7AwwQWsHuk7brxa3SgGdSTWX09EPxL_ZKGZ02KvoxI1Ob8jHdiRHt52ytVRy7GmreJr9PhtaqkPGc6IfKOQ6QqXZqhkr-TDXQ5/s1600/Wynton+Marsalis+-+Learning+and+Teaching-achmorrison.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiCdE1DPI-UTzGPQB7rCDjhL4EazbDdjA4IY7AwwQWsHuk7brxa3SgGdSTWX09EPxL_ZKGZ02KvoxI1Ob8jHdiRHt52ytVRy7GmreJr9PhtaqkPGc6IfKOQ6QqXZqhkr-TDXQ5/s320/Wynton+Marsalis+-+Learning+and+Teaching-achmorrison.png" width="240" /></a></div>
<br />
<span style="font-size: x-small;"><i>Photo source/credit: <a href="https://commons.wikimedia.org/wiki/Category:Wynton_Marsalis#/media/File:Wynton_Marsalis_2009_09_13.jpg">Eric Delmar public domain image from Wikimedia Commons.</a><br />Images on this page are licensed under a <a href="http://creativecommons.org/licenses/by-nd/4.0/" rel="license">Creative Commons Attribution-NoDerivatives 4.0 International License</a>.<br /></i></span><br />
<a href="http://creativecommons.org/licenses/by-nd/4.0/" rel="license"><span style="font-size: x-small;"><i><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nd/4.0/88x31.png" style="border-width: 0;" /></i></span></a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-15002337067028988062018-08-28T19:49:00.001-05:002018-08-28T19:49:05.096-05:00Some observations of doing a bit of data analysis with DBSCAN and pandas in a Jupyter notebook<head>
<title>Sorting Classifications for making graphs-VolunteerClassifications</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<style type="text/css">
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
color: black;
}
.ansired {
color: darkred;
}
.ansigreen {
color: darkgreen;
}
.ansiyellow {
color: #c4a000;
}
.ansiblue {
color: darkblue;
}
.ansipurple {
color: darkviolet;
}
.ansicyan {
color: steelblue;
}
.ansigray {
color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
background-color: black;
}
.ansibgred {
background-color: red;
}
.ansibggreen {
background-color: green;
}
.ansibgyellow {
background-color: yellow;
}
.ansibgblue {
background-color: blue;
}
.ansibgpurple {
background-color: magenta;
}
.ansibgcyan {
background-color: cyan;
}
.ansibggray {
background-color: gray;
}
div.cell {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
border-radius: 2px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: transparent;
width: 100%;
padding: 5px;
/* This acts as a spacer between cells, that is outside the border */
margin: 0px;
outline: none;
border-left-width: 1px;
padding-left: 5px;
background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
border-left-color: #90CAF9;
border-left-color: #E3F2FD;
border-left-width: 1px;
padding-left: 5px;
border-right-color: #E3F2FD;
border-right-width: 1px;
background: #E3F2FD;
}
@media print {
div.cell.jupyter-soft-selected {
border-color: transparent;
}
}
div.cell.selected {
border-color: #ababab;
border-left-width: 0px;
padding-left: 6px;
background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
div.cell.selected {
border-color: transparent;
}
}
div.cell.selected.jupyter-soft-selected {
border-left-width: 0;
padding-left: 6px;
background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
border-color: #66BB6A;
border-left-width: 0px;
padding-left: 6px;
background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
.edit_mode div.cell.selected {
border-color: transparent;
}
}
.prompt {
/* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
min-width: 14ex;
/* This padding is tuned to match the padding on the CodeMirror editor. */
padding: 0.4em;
margin: 0px;
font-family: monospace;
text-align: right;
/* This has to match that of the the CodeMirror class line-height below */
line-height: 1.21429em;
/* Don't highlight prompt number selection */
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/* Use default cursor */
cursor: default;
}
@media (max-width: 540px) {
.prompt {
text-align: left;
}
}
div.inner_cell {
min-width: 0;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
border: 1px solid #cfcfcf;
border-radius: 2px;
background: #f7f7f7;
line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
is no content in the output_subarea and the prompt. The main purpose of this is
to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
padding-top: 0;
padding-bottom: 0;
}
div.unrecognized_cell {
padding: 5px 5px 5px 0px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
div.unrecognized_cell .inner_cell {
border-radius: 2px;
padding: 5px;
font-weight: bold;
color: red;
border: 1px solid #cfcfcf;
background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
color: inherit;
text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
color: inherit;
text-decoration: none;
}
@media (max-width: 540px) {
div.unrecognized_cell > div.prompt {
display: none;
}
}
div.code_cell {
/* avoid page breaking on code cells when printing */
}
@media print {
div.code_cell {
page-break-inside: avoid;
}
}
/* any special styling for code cells that are currently running goes here */
div.input {
page-break-inside: avoid;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
@media (max-width: 540px) {
div.input {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
color: #303F9F;
border-top: 1px solid transparent;
}
div.input_area > div.highlight {
margin: 0.4em;
border: none;
padding: 0px;
background-color: transparent;
}
div.input_area > div.highlight > pre {
margin: 0px;
border: none;
padding: 0px;
background-color: transparent;
}
/* The following gets added to the <head> if it is detected that the user has a
* monospace font with inconsistent normal/bold/italic height. See
* notebookmain.js. Such fonts will have keywords vertically offset with
* respect to the rest of the text. The user should select a better font.
* See: https://github.com/ipython/ipython/issues/1503
*
* .CodeMirror span {
* vertical-align: bottom;
* }
*/
.CodeMirror {
line-height: 1.21429em;
/* Changed from 1em to our global default */
font-size: 14px;
height: auto;
/* Changed to auto to autogrow */
background: none;
/* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
/* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
/* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
overflow-y: hidden;
overflow-x: auto;
}
.CodeMirror-lines {
/* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
/* we have set a different line-height and want this to scale with that. */
padding: 0.4em;
}
.CodeMirror-linenumber {
padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
}
.CodeMirror pre {
/* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
/* .CodeMirror-lines */
padding: 0;
border: 0;
border-radius: 0;
}
/*
Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
Adapted from GitHub theme
*/
.highlight-base {
color: #000;
}
.highlight-variable {
color: #000;
}
.highlight-variable-2 {
color: #1a1a1a;
}
.highlight-variable-3 {
color: #333333;
}
.highlight-string {
color: #BA2121;
}
.highlight-comment {
color: #408080;
font-style: italic;
}
.highlight-number {
color: #080;
}
.highlight-atom {
color: #88F;
}
.highlight-keyword {
color: #008000;
font-weight: bold;
}
.highlight-builtin {
color: #008000;
}
.highlight-error {
color: #f00;
}
.highlight-operator {
color: #AA22FF;
font-weight: bold;
}
.highlight-meta {
color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
color: #00f;
}
.highlight-string-2 {
color: #f50;
}
.highlight-qualifier {
color: #555;
}
.highlight-bracket {
color: #997;
}
.highlight-tag {
color: #170;
}
.highlight-attribute {
color: #00c;
}
.highlight-header {
color: blue;
}
.highlight-quote {
color: #090;
}
.highlight-link {
color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
color: #008000;
font-weight: bold;
}
.cm-s-ipython span.cm-atom {
color: #88F;
}
.cm-s-ipython span.cm-number {
color: #080;
}
.cm-s-ipython span.cm-def {
color: #00f;
}
.cm-s-ipython span.cm-variable {
color: #000;
}
.cm-s-ipython span.cm-operator {
color: #AA22FF;
font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
color: #333333;
}
.cm-s-ipython span.cm-comment {
color: #408080;
font-style: italic;
}
.cm-s-ipython span.cm-string {
color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
color: #f50;
}
.cm-s-ipython span.cm-meta {
color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
color: #555;
}
.cm-s-ipython span.cm-builtin {
color: #008000;
}
.cm-s-ipython span.cm-bracket {
color: #997;
}
.cm-s-ipython span.cm-tag {
color: #170;
}
.cm-s-ipython span.cm-attribute {
color: #00c;
}
.cm-s-ipython span.cm-header {
color: blue;
}
.cm-s-ipython span.cm-quote {
color: #090;
}
.cm-s-ipython span.cm-link {
color: #00c;
}
.cm-s-ipython span.cm-error {
color: #f00;
}
.cm-s-ipython span.cm-tab {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
background-position: right;
background-repeat: no-repeat;
}
div.output_wrapper {
/* this position must be relative to enable descendents to be absolute within it */
position: relative;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
/* ideally, this would be max-height, but FF barfs all over that */
height: 24em;
/* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
width: 100%;
overflow: auto;
border-radius: 2px;
-webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
margin: 0px;
padding: 0px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
div.out_prompt_overlay {
height: 100%;
padding: 0px 0.4em;
position: absolute;
border-radius: 2px;
}
div.out_prompt_overlay:hover {
/* use inner shadow to get border that is computed the same on WebKit/FF */
-webkit-box-shadow: inset 0 0 1px #000;
box-shadow: inset 0 0 1px #000;
background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
padding: 0px;
page-break-inside: avoid;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
div.output_area .MathJax_Display {
text-align: left !important;
}
div.output_area .rendered_html table {
margin-left: 0;
margin-right: 0;
}
div.output_area .rendered_html img {
margin-left: 0;
margin-right: 0;
}
div.output_area img,
div.output_area svg {
max-width: 100%;
height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
max-width: none;
}
/* This is needed to protect the pre formating from global settings such
as that of bootstrap */
.output {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
@media (max-width: 540px) {
div.output_area {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
}
div.output_area pre {
margin: 0;
padding: 0;
border: 0;
vertical-align: baseline;
color: black;
background-color: transparent;
border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
the prompt div. */
div.output_subarea {
overflow-x: auto;
padding: 0.4em;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
output types */
/* all text output has this class: */
div.output_text {
text-align: left;
color: #000;
/* This has to match that of the the CodeMirror class line-height below */
line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
background: #fdd;
/* very light red background for stderr */
}
div.output_latex {
text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
padding: 0;
}
.js-error {
color: darkred;
}
/* raw_input styles */
div.raw_input_container {
line-height: 1.21429em;
padding-top: 5px;
}
pre.raw_input_prompt {
/* nothing needed here. */
}
input.raw_input {
font-family: monospace;
font-size: inherit;
color: inherit;
width: auto;
/* make sure input baseline aligns with prompt */
vertical-align: baseline;
/* padding + margin = 0.5em between prompt and cursor */
padding: 0em 0.25em;
margin: 0em 0.25em;
}
input.raw_input:focus {
box-shadow: none;
}
p.p-space {
margin-bottom: 10px;
}
div.output_unrecognized {
padding: 5px;
font-weight: bold;
color: red;
}
div.output_unrecognized a {
color: inherit;
text-decoration: none;
}
div.output_unrecognized a:hover {
color: inherit;
text-decoration: none;
}
.rendered_html {
color: #000;
/* any extras will just be numbers: */
}
.rendered_html em {
font-style: italic;
}
.rendered_html strong {
font-weight: bold;
}
.rendered_html u {
text-decoration: underline;
}
.rendered_html :link {
text-decoration: underline;
}
.rendered_html :visited {
text-decoration: underline;
}
.rendered_html h1 {
font-size: 185.7%;
margin: 1.08em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h2 {
font-size: 157.1%;
margin: 1.27em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h3 {
font-size: 128.6%;
margin: 1.55em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h4 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h5 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h6 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h1:first-child {
margin-top: 0.538em;
}
.rendered_html h2:first-child {
margin-top: 0.636em;
}
.rendered_html h3:first-child {
margin-top: 0.777em;
}
.rendered_html h4:first-child {
margin-top: 1em;
}
.rendered_html h5:first-child {
margin-top: 1em;
}
.rendered_html h6:first-child {
margin-top: 1em;
}
.rendered_html ul {
list-style: disc;
margin: 0em 2em;
padding-left: 0px;
}
.rendered_html ul ul {
list-style: square;
margin: 0em 2em;
}
.rendered_html ul ul ul {
list-style: circle;
margin: 0em 2em;
}
.rendered_html ol {
list-style: decimal;
margin: 0em 2em;
padding-left: 0px;
}
.rendered_html ol ol {
list-style: upper-alpha;
margin: 0em 2em;
}
.rendered_html ol ol ol {
list-style: lower-alpha;
margin: 0em 2em;
}
.rendered_html ol ol ol ol {
list-style: lower-roman;
margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
list-style: decimal;
margin: 0em 2em;
}
.rendered_html * + ul {
margin-top: 1em;
}
.rendered_html * + ol {
margin-top: 1em;
}
.rendered_html hr {
color: black;
background-color: black;
}
.rendered_html pre {
margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
border: 0;
background-color: #fff;
color: #000;
font-size: 100%;
padding: 0px;
}
.rendered_html blockquote {
margin: 1em 2em;
}
.rendered_html table {
margin-left: auto;
margin-right: auto;
border: 1px solid black;
border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
border: 1px solid black;
border-collapse: collapse;
margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
text-align: left;
vertical-align: middle;
padding: 4px;
}
.rendered_html th {
font-weight: bold;
}
.rendered_html * + table {
margin-top: 1em;
}
.rendered_html p {
text-align: left;
}
.rendered_html * + p {
margin-top: 1em;
}
.rendered_html img {
display: block;
margin-left: auto;
margin-right: auto;
}
.rendered_html * + img {
margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
max-width: 100%;
height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
max-width: none;
}
div.text_cell {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
@media (max-width: 540px) {
div.text_cell > div.prompt {
display: none;
}
}
div.text_cell_render {
/*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
outline: none;
resize: none;
width: inherit;
border-style: none;
padding: 0.5em 0.5em 0.5em 0.4em;
color: #000;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
a.anchor-link:link {
text-decoration: none;
padding: 0px 20px;
visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
visibility: visible;
}
.text_cell.rendered .input_area {
display: none;
}
.text_cell.rendered .rendered_html {
overflow-x: auto;
overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
font-weight: bold;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cm-header-1 {
font-size: 185.7%;
}
.cm-header-2 {
font-size: 157.1%;
}
.cm-header-3 {
font-size: 128.6%;
}
.cm-header-4 {
font-size: 110%;
}
.cm-header-5 {
font-size: 100%;
font-style: italic;
}
.cm-header-6 {
font-size: 100%;
font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
.notebook_app {
padding-left: 0px;
padding-right: 0px;
}
}
#ipython-main-app {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 100%;
}
div#notebook_panel {
margin: 0px;
padding: 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 100%;
}
div#notebook {
font-size: 14px;
line-height: 20px;
overflow-y: hidden;
overflow-x: auto;
width: 100%;
/* This spaces the page away from the edge of the notebook area */
padding-top: 20px;
margin: 0px;
outline: none;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
min-height: 100%;
}
@media not print {
#notebook-container {
padding: 15px;
background-color: #fff;
min-height: 0;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
}
@media print {
#notebook-container {
width: 100%;
}
}
div.ui-widget-content {
border: 1px solid #ababab;
outline: none;
}
pre.dialog {
background-color: #f7f7f7;
border: 1px solid #ddd;
border-radius: 2px;
padding: 0.4em;
padding-left: 2em;
}
p.dialog {
padding: 0.2em;
}
/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems
to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do.
*/
pre,
code,
kbd,
samp {
white-space: pre-wrap;
}
#fonttest {
font-family: monospace;
}
p {
margin-bottom: 0;
}
.end_space {
min-height: 100px;
transition: height .2s ease;
}
.notebook_app > #header {
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
.notebook_app {
background-color: #EEE;
}
}
kbd {
border-style: solid;
border-width: 1px;
box-shadow: none;
margin: 2px;
padding-left: 2px;
padding-right: 2px;
padding-top: 1px;
padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
border: thin solid #CFCFCF;
border-bottom: none;
background: #EEE;
border-radius: 2px 2px 0px 0px;
width: 100%;
height: 29px;
padding-right: 4px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
/* Old browsers */
-webkit-box-pack: end;
-moz-box-pack: end;
box-pack: end;
/* Modern browsers */
justify-content: flex-end;
display: -webkit-flex;
}
@media print {
.celltoolbar {
display: none;
}
}
.ctb_hideshow {
display: none;
vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
border-top-right-radius: 0px;
border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
border: 1px solid #cfcfcf;
}
.celltoolbar {
font-size: 87%;
padding-top: 3px;
}
.celltoolbar select {
display: block;
width: 100%;
height: 32px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
width: inherit;
font-size: inherit;
height: 22px;
padding: 0px;
display: inline-block;
}
.celltoolbar select:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
color: #999;
opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
color: #999;
}
.celltoolbar select::-ms-expand {
border: 0;
background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
background-color: #eeeeee;
opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
cursor: not-allowed;
}
textarea.celltoolbar select {
height: auto;
}
select.celltoolbar select {
height: 30px;
line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
height: auto;
}
.celltoolbar label {
margin-left: 5px;
margin-right: 5px;
}
.completions {
position: absolute;
z-index: 110;
overflow: hidden;
border: 1px solid #ababab;
border-radius: 2px;
-webkit-box-shadow: 0px 6px 10px -1px #adadad;
box-shadow: 0px 6px 10px -1px #adadad;
line-height: 1;
}
.completions select {
background: white;
outline: none;
border: none;
padding: 0px;
margin: 0px;
overflow: auto;
font-family: monospace;
font-size: 110%;
color: #000;
width: auto;
}
.completions select option.context {
color: #286090;
}
#kernel_logo_widget {
float: right !important;
float: right;
}
#kernel_logo_widget .current_kernel_logo {
display: none;
margin-top: -1px;
margin-bottom: -1px;
width: 32px;
height: 32px;
}
#menubar {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
margin-top: 1px;
}
#menubar .navbar {
border-top: 1px;
border-radius: 0px 0px 2px 2px;
margin-bottom: 0px;
}
#menubar .navbar-toggle {
float: left;
padding-top: 7px;
padding-bottom: 7px;
border: none;
}
#menubar .navbar-collapse {
clear: left;
}
.nav-wrapper {
border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
padding-top: 4px;
}
ul#help_menu li a {
overflow: hidden;
padding-right: 2.2em;
}
ul#help_menu li a i {
margin-right: -1.2em;
}
.dropdown-submenu {
position: relative;
}
.dropdown-submenu > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
}
.dropdown-submenu:hover > .dropdown-menu {
display: block;
}
.dropdown-submenu > a:after {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
display: block;
content: "\f0da";
float: right;
color: #333333;
margin-top: 2px;
margin-right: -10px;
}
.dropdown-submenu > a:after.pull-left {
margin-right: .3em;
}
.dropdown-submenu > a:after.pull-right {
margin-left: .3em;
}
.dropdown-submenu:hover > a:after {
color: #262626;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
left: -100%;
margin-left: 10px;
}
#notification_area {
float: right !important;
float: right;
z-index: 10;
}
.indicator_area {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
}
#kernel_indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
padding-left: 5px;
padding-right: 5px;
}
#modal_indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
}
#readonly-indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
margin-top: 2px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
display: none;
}
.modal_indicator:before {
width: 1.28571429em;
text-align: center;
}
.edit_mode .modal_indicator:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f040";
}
.edit_mode .modal_indicator:before.pull-left {
margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
margin-left: .3em;
}
.command_mode .modal_indicator:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: ' ';
}
.command_mode .modal_indicator:before.pull-left {
margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
margin-left: .3em;
}
.kernel_idle_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f10c";
}
.kernel_idle_icon:before.pull-left {
margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
margin-left: .3em;
}
.kernel_busy_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f111";
}
.kernel_busy_icon:before.pull-left {
margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
margin-left: .3em;
}
.kernel_dead_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f1e2";
}
.kernel_dead_icon:before.pull-left {
margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
margin-left: .3em;
}
.kernel_disconnected_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f127";
}
.kernel_disconnected_icon:before.pull-left {
margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
margin-left: .3em;
}
.notification_widget {
color: #777;
z-index: 10;
background: rgba(240, 240, 240, 0.5);
margin-right: 4px;
color: #333;
background-color: #fff;
border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.notification_widget:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open > .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open > .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open > .dropdown-toggle.notification_widget.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
background-color: #fff;
border-color: #ccc;
}
.notification_widget .badge {
color: #fff;
background-color: #333;
}
.notification_widget.warning {
color: #fff;
background-color: #f0ad4e;
border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
color: #fff;
background-color: #ec971f;
border-color: #985f0d;
}
.notification_widget.warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open > .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open > .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open > .dropdown-toggle.notification_widget.warning.focus {
color: #fff;
background-color: #d58512;
border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
background-color: #f0ad4e;
border-color: #eea236;
}
.notification_widget.warning .badge {
color: #f0ad4e;
background-color: #fff;
}
.notification_widget.success {
color: #fff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
color: #fff;
background-color: #449d44;
border-color: #255625;
}
.notification_widget.success:hover {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open > .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open > .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open > .dropdown-toggle.notification_widget.success.focus {
color: #fff;
background-color: #398439;
border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
background-color: #5cb85c;
border-color: #4cae4c;
}
.notification_widget.success .badge {
color: #5cb85c;
background-color: #fff;
}
.notification_widget.info {
color: #fff;
background-color: #5bc0de;
border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
color: #fff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.notification_widget.info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open > .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open > .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open > .dropdown-toggle.notification_widget.info.focus {
color: #fff;
background-color: #269abc;
border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
background-color: #5bc0de;
border-color: #46b8da;
}
.notification_widget.info .badge {
color: #5bc0de;
background-color: #fff;
}
.notification_widget.danger {
color: #fff;
background-color: #d9534f;
border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
color: #fff;
background-color: #c9302c;
border-color: #761c19;
}
.notification_widget.danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open > .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open > .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open > .dropdown-toggle.notification_widget.danger.focus {
color: #fff;
background-color: #ac2925;
border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
background-color: #d9534f;
border-color: #d43f3a;
}
.notification_widget.danger .badge {
color: #d9534f;
background-color: #fff;
}
div#pager {
background-color: #fff;
font-size: 14px;
line-height: 20px;
overflow: hidden;
display: none;
position: fixed;
bottom: 0px;
width: 100%;
max-height: 50%;
padding-top: 8px;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
/* Display over codemirror */
z-index: 100;
/* Hack which prevents jquery ui resizable from changing top. */
top: auto !important;
}
div#pager pre {
line-height: 1.21429em;
color: #000;
background-color: #f7f7f7;
padding: 0.4em;
}
div#pager #pager-button-area {
position: absolute;
top: 8px;
right: 20px;
}
div#pager #pager-contents {
position: relative;
overflow: auto;
width: 100%;
height: 100%;
}
div#pager #pager-contents #pager-container {
position: relative;
padding: 15px 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
top: 0px;
height: 8px;
background: #f7f7f7;
border-top: 1px solid #cfcfcf;
border-bottom: 1px solid #cfcfcf;
/* This injects handle bars (a short, wide = symbol) for
the resize handle. */
}
div#pager .ui-resizable-handle::after {
content: '';
top: 2px;
left: 50%;
height: 3px;
width: 30px;
margin-left: -15px;
position: absolute;
border-top: 1px solid #cfcfcf;
}
.quickhelp {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
line-height: 1.8em;
}
.shortcut_key {
display: inline-block;
width: 21ex;
text-align: right;
font-family: monospace;
}
.shortcut_descr {
display: inline-block;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
span.save_widget {
margin-top: 6px;
}
span.save_widget span.filename {
height: 1em;
line-height: 1em;
padding: 3px;
margin-left: 16px;
border: none;
font-size: 146.5%;
border-radius: 2px;
}
span.save_widget span.filename:hover {
background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
font-size: small;
}
@media (max-width: 767px) {
span.save_widget {
font-size: small;
}
span.checkpoint_status,
span.autosave_status {
display: none;
}
}
@media (min-width: 768px) and (max-width: 991px) {
span.checkpoint_status {
display: none;
}
span.autosave_status {
font-size: x-small;
}
}
.toolbar {
padding: 0px;
margin-left: -5px;
margin-top: 2px;
margin-bottom: 5px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
width: auto;
vertical-align: middle;
margin-right: 2px;
margin-bottom: 0px;
display: inline;
font-size: 92%;
margin-left: 0.3em;
margin-right: 0.3em;
padding: 0px;
padding-top: 3px;
}
.toolbar .btn {
padding: 2px 8px;
}
.toolbar .btn-group {
margin-top: 0px;
margin-left: 5px;
}
#maintoolbar {
margin-bottom: -3px;
margin-top: -8px;
border: 0px;
min-height: 27px;
margin-left: 0px;
padding-top: 11px;
padding-bottom: 3px;
}
#maintoolbar .navbar-text {
float: none;
vertical-align: middle;
text-align: right;
margin-left: 5px;
margin-right: 0px;
margin-top: 0px;
}
.select-xs {
height: 24px;
}
.pulse,
.dropdown-menu > li > a.pulse,
li.pulse > a.dropdown-toggle,
li.pulse.open > a.dropdown-toggle {
background-color: #F37626;
color: white;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
* of chance of beeing generated from the ../less/[samename].less file, you can
* try to get back the less file by reverting somme commit in history
**/
/*
* We'll try to get something pretty, so we
* have some strange css to have the scroll bar on
* the left with fix button on the top right of the tooltip
*/
@-moz-keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@-webkit-keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@-moz-keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@-webkit-keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/*properties of tooltip after "expand"*/
.bigtooltip {
overflow: auto;
height: 200px;
-webkit-transition-property: height;
-webkit-transition-duration: 500ms;
-moz-transition-property: height;
-moz-transition-duration: 500ms;
transition-property: height;
transition-duration: 500ms;
}
/*properties of tooltip before "expand"*/
.smalltooltip {
-webkit-transition-property: height;
-webkit-transition-duration: 500ms;
-moz-transition-property: height;
-moz-transition-duration: 500ms;
transition-property: height;
transition-duration: 500ms;
text-overflow: ellipsis;
overflow: hidden;
height: 80px;
}
.tooltipbuttons {
position: absolute;
padding-right: 15px;
top: 0px;
right: 0px;
}
.tooltiptext {
/*avoid the button to overlap on some docstring*/
padding-right: 30px;
}
.ipython_tooltip {
max-width: 700px;
/*fade-in animation when inserted*/
-webkit-animation: fadeOut 400ms;
-moz-animation: fadeOut 400ms;
animation: fadeOut 400ms;
-webkit-animation: fadeIn 400ms;
-moz-animation: fadeIn 400ms;
animation: fadeIn 400ms;
vertical-align: middle;
background-color: #f7f7f7;
overflow: visible;
border: #ababab 1px solid;
outline: none;
padding: 3px;
margin: 0px;
padding-left: 7px;
font-family: monospace;
min-height: 50px;
-moz-box-shadow: 0px 6px 10px -1px #adadad;
-webkit-box-shadow: 0px 6px 10px -1px #adadad;
box-shadow: 0px 6px 10px -1px #adadad;
border-radius: 2px;
position: absolute;
z-index: 1000;
}
.ipython_tooltip a {
float: right;
}
.ipython_tooltip .tooltiptext pre {
border: 0;
border-radius: 0;
font-size: 100%;
background-color: #f7f7f7;
}
.pretooltiparrow {
left: 0px;
margin: 0px;
top: -16px;
width: 40px;
height: 16px;
overflow: hidden;
position: absolute;
}
.pretooltiparrow:before {
background-color: #f7f7f7;
border: 1px #ababab solid;
z-index: 11;
content: "";
position: absolute;
left: 15px;
top: 10px;
width: 25px;
height: 25px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
}
ul.typeahead-list i {
margin-left: -10px;
width: 18px;
}
ul.typeahead-list {
max-height: 80vh;
overflow: auto;
}
ul.typeahead-list > li > a {
/** Firefox bug **/
/* see https://github.com/jupyter/notebook/issues/559 */
white-space: normal;
}
.cmd-palette .modal-body {
padding: 7px;
}
.cmd-palette form {
background: white;
}
.cmd-palette input {
outline: none;
}
.no-shortcut {
display: none;
}
.command-shortcut:before {
content: "(command)";
padding-right: 3px;
color: #777777;
}
.edit-shortcut:before {
content: "(edit)";
padding-right: 3px;
color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
background-color: #BBDEFB;
border-color: #90CAF9;
border-style: solid;
border-width: 1px;
border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
background-color: #FFCDD2;
border-color: #EF9A9A;
border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
background-color: #C8E6C9;
border-color: #A5D6A7;
border-radius: 0px;
}
#find-and-replace #replace-preview {
max-height: 60vh;
overflow: auto;
}
#find-and-replace #replace-preview pre {
padding: 5px 10px;
}
.terminal-app {
background: #EEE;
}
.terminal-app #header {
background: #fff;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
width: 100%;
float: left;
font-family: monospace;
color: white;
background: black;
padding: 0.4em;
border-radius: 2px;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
line-height: 1em;
font-size: 14px;
}
.terminal-app .terminal .xterm-rows {
padding: 10px;
}
.terminal-app .terminal-cursor {
color: black;
background: white;
}
.terminal-app #terminado-container {
margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
</style>
<style type="text/css">
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<style type="text/css">
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }
.ansi-bold { font-weight: bold; }
</style>
<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
overflow: visible;
padding: 8px;
}
div#notebook {
overflow: visible;
border-top: none;
}
@media print {
div.cell {
display: block;
page-break-inside: avoid;
}
div.output_wrapper {
display: block;
page-break-inside: avoid;
}
div.output {
display: block;
page-break-inside: avoid;
}
}
</style>
<!-- Custom stylesheet, it must be in the same directory as the html file </head>
<link custom.css="" href="" rel="" stylesheet=""></link>
<!-- Loading mathjax macro -->
<!-- Load mathjax -->
<script athjax.js="" cdn.mathjax.org="" config="TeX-AMS_HTML" https:="" latest="" mathjax="" src=""></script>
<!-- MathJax configuration -->
<script text="" type="" x-mathjax-config="">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true,
processEnvironments: true
},
// Center justify equations in code and markdown cells. Elsewhere
// we use CSS to left justify single line equations in code cells.
displayAlign: 'center',
"HTML-CSS": {
styles: {'.MathJax_Display': {"margin": 0}},
linebreaks: { automatic: true }
}
});
</script>
<!-- End of mathjax configuration --><br />
<body>
Here is a Jupyter notebook I was using today to parse the classifications from the <a href="https://www.zooniverse.org/projects/achmorrison/steelpan-vibrations">Steelpan Vibrations</a> project. I'm leaving some of the notes here as a reminder to myself for the future. (I learned how to put the Jupyter notebook into the blog from <a href="http://idpstat.blogspot.com/2016/08/how-to-import-jupyter-notebooks-to_68.html">this page</a>.)
<p>
I really want to share this because in all my reading on using DBSCAN to do cluster analysis, I had a hard time finding any page online that was describing how the coordinates of the points identified in a cluster could be paired with matched data from the larger (original) data set. When I found the solution (see link in the comments between cells below) it was really obvious, but it was painful not knowing even how to google for what I was looking for.
<div class="border-box-sizing" id="notebook" tabindex="-1">
<div class="container" id="notebook-container">
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
Function to do the cluster identification with DBSCAN:<br />
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [31]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="k">def</span> <span class="nf">dbscan</span><span class="p">(</span><span class="n">crds</span><span class="p">):</span>
<span class="n">bad_xy</span> <span class="o">=</span> <span class="p">[]</span> <span class="c1">#might need to change this</span>
<span class="n">X</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">crds</span><span class="p">)</span>
<span class="n">db</span> <span class="o">=</span> <span class="n">DBSCAN</span><span class="p">(</span><span class="n">eps</span><span class="o">=</span><span class="mi">18</span><span class="p">,</span> <span class="n">min_samples</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X</span><span class="p">)</span>
<span class="n">core_samples_mask</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">labels_</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">bool</span><span class="p">)</span>
<span class="n">core_samples_mask</span><span class="p">[</span><span class="n">db</span><span class="o">.</span><span class="n">core_sample_indices_</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span>
<span class="n">labels</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">labels_</span>
<span class="n">n_clusters_</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">labels</span><span class="p">))</span> <span class="o">-</span> <span class="p">(</span><span class="mi">1</span> <span class="k">if</span> <span class="o">-</span><span class="mi">1</span> <span class="ow">in</span> <span class="n">labels</span> <span class="k">else</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">unique_labels</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">labels</span><span class="p">)</span>
<span class="n">colors</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">cm</span><span class="o">.</span><span class="n">Spectral</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">unique_labels</span><span class="p">)))</span>
<span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">col</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">unique_labels</span><span class="p">,</span> <span class="n">colors</span><span class="p">):</span>
<span class="k">if</span> <span class="n">k</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span>
<span class="c1"># Black used for noise.</span>
<span class="n">col</span> <span class="o">=</span> <span class="s1">'k'</span>
<span class="n">class_member_mask</span> <span class="o">=</span> <span class="p">(</span><span class="n">labels</span> <span class="o">==</span> <span class="n">k</span><span class="p">)</span>
<span class="c1"># These are the definitely "good" xy values.</span>
<span class="n">xy</span> <span class="o">=</span> <span class="n">X</span><span class="p">[</span><span class="n">class_member_mask</span> <span class="o">&</span> <span class="n">core_samples_mask</span><span class="p">]</span>
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xy</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">xy</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">],</span> <span class="s1">'o'</span><span class="p">,</span> <span class="n">markerfacecolor</span><span class="o">=</span><span class="n">col</span><span class="p">,</span>
<span class="n">markeredgecolor</span><span class="o">=</span><span class="s1">'k'</span><span class="p">,</span> <span class="n">markersize</span><span class="o">=</span><span class="mi">14</span><span class="p">)</span>
<span class="c1">#print("\n Good? xy = ",xy)</span>
<span class="c1">#print("X = ",X)</span>
<span class="c1"># These are the "bad" xy values. Note that some maybe-bad and maybe-good are included here.</span>
<span class="n">xy</span> <span class="o">=</span> <span class="n">X</span><span class="p">[</span><span class="n">class_member_mask</span> <span class="o">&</span> <span class="o">~</span><span class="n">core_samples_mask</span><span class="p">]</span>
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xy</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">xy</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">],</span> <span class="s1">'o'</span><span class="p">,</span> <span class="n">markerfacecolor</span><span class="o">=</span><span class="n">col</span><span class="p">,</span>
<span class="n">markeredgecolor</span><span class="o">=</span><span class="s1">'k'</span><span class="p">,</span> <span class="n">markersize</span><span class="o">=</span><span class="mi">6</span><span class="p">)</span>
<span class="c1">#print("\n Bad? xy = ",xy)</span>
<span class="n">bad_xy</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">xy</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Estimated number of clusters: </span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="n">n_clusters_</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">512</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylim</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">384</span><span class="p">)</span>
<span class="n">clusters</span> <span class="o">=</span> <span class="p">[</span><span class="n">X</span><span class="p">[</span><span class="n">labels</span> <span class="o">==</span> <span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n_clusters_</span><span class="p">)]</span>
<span class="c1">#print(clusters)</span>
<span class="c1">#print(db.labels_)</span>
<span class="k">return</span> <span class="n">clusters</span><span class="p">,</span> <span class="n">labels</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
Import the classifications into a pandas DataFrame. I'm using header=None because there were no headings in the csv file:<br />
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [32]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
<span class="n">df</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">'averages-strike1.csv'</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s1">','</span><span class="p">,</span><span class="n">header</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
This is the main part of the code that ends up calling the dbscan function at the end:<br />
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [34]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="kn">from</span> <span class="nn">matplotlib.patches</span> <span class="k">import</span> <span class="n">Ellipse</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="kn">import</span> <span class="nn">matplotlib.cm</span> <span class="k">as</span> <span class="nn">cm</span>
<span class="kn">import</span> <span class="nn">matplotlib.colors</span> <span class="k">as</span> <span class="nn">col</span>
<span class="n">cmap_1</span> <span class="o">=</span> <span class="n">cm</span><span class="o">.</span><span class="n">ScalarMappable</span><span class="p">(</span><span class="n">col</span><span class="o">.</span><span class="n">Normalize</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="n">cm</span><span class="o">.</span><span class="n">gist_rainbow</span><span class="p">))</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">from</span> <span class="nn">sklearn.cluster</span> <span class="k">import</span> <span class="n">DBSCAN</span>
<span class="n">x_val</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">y_val</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">frng</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">crds</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">ell</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">centers</span> <span class="ow">in</span> <span class="n">df</span><span class="o">.</span><span class="n">values</span><span class="p">:</span>
<span class="n">x_val</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">centers</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="n">y_val</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">centers</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="n">frng</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">centers</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span>
<span class="n">crds</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">centers</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">centers</span><span class="p">[</span><span class="mi">1</span><span class="p">]])</span>
<span class="n">ell</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Ellipse</span><span class="p">(</span><span class="n">xy</span><span class="o">=</span><span class="p">[</span><span class="n">centers</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">centers</span><span class="p">[</span><span class="mi">1</span><span class="p">]],</span> <span class="n">width</span><span class="o">=</span><span class="n">centers</span><span class="p">[</span><span class="mi">4</span><span class="p">],</span> <span class="n">height</span><span class="o">=</span><span class="n">centers</span><span class="p">[</span><span class="mi">5</span><span class="p">],</span> <span class="n">angle</span><span class="o">=</span><span class="n">centers</span><span class="p">[</span><span class="mi">6</span><span class="p">]))</span>
<span class="n">centers_raw</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'XVal'</span><span class="p">:</span> <span class="n">x_val</span><span class="p">,</span>
<span class="s1">'YVal'</span><span class="p">:</span> <span class="n">y_val</span><span class="p">,</span>
<span class="s1">'Fringe'</span><span class="p">:</span> <span class="n">frng</span><span class="p">}</span>
<span class="n">centers_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">centers_raw</span><span class="p">,</span> <span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s1">'XVal'</span><span class="p">,</span> <span class="s1">'YVal'</span><span class="p">,</span> <span class="s1">'Fringe'</span><span class="p">])</span>
<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">centers_df</span><span class="o">.</span><span class="n">XVal</span><span class="p">,</span> <span class="n">centers_df</span><span class="o">.</span><span class="n">YVal</span><span class="p">,</span> <span class="n">s</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">c</span><span class="o">=</span><span class="n">cmap_1</span><span class="o">.</span><span class="n">to_rgba</span><span class="p">(</span><span class="n">centers_df</span><span class="o">.</span><span class="n">Fringe</span><span class="p">),</span> <span class="n">alpha</span><span class="o">=.</span><span class="mi">6</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">512</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylim</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">384</span><span class="p">)</span>
<span class="c1">#plt.title('Subject id = %s'%(coords_x[0][2]))</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
<span class="c1">#print(crds)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="n">clusters</span><span class="p">,</span> <span class="n">labels</span> <span class="o">=</span> <span class="n">dbscan</span><span class="p">(</span><span class="n">crds</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
3QYkyHv0OgAAAABJRU5ErkJggg==
" />
</div>
</div>
<div class="output_area">
<div class="prompt">
</div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
" />
</div>
</div>
<div class="output_area">
<div class="prompt">
</div>
<div class="output_subarea output_stream output_stderr output_text">
<pre>/Users/amorriso/anaconda/lib/python3.6/site-packages/matplotlib/lines.py:1206: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.
if self._markerfacecolor != fc:
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
Check the DataFrame once, and then check it again after renaming the columns:<br />
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [30]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">df</span><span class="p">[:</span><span class="mi">15</span><span class="p">]</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[30]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>x</th>
<th>y</th>
<th>filename</th>
<th>fringe</th>
<th>rx</th>
<th>ry</th>
<th>angle</th>
<th>cluster</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>107.716469</td>
<td>213.009577</td>
<td>06240907_proc_00254.png</td>
<td>1.000000</td>
<td>85.034929</td>
<td>67.943204</td>
<td>-47.505782</td>
<td>0</td>
</tr>
<tr>
<th>1</th>
<td>114.698967</td>
<td>213.766703</td>
<td>06240907_proc_00258.png</td>
<td>1.333333</td>
<td>67.924027</td>
<td>67.389913</td>
<td>-51.659952</td>
<td>0</td>
</tr>
<tr>
<th>2</th>
<td>111.190662</td>
<td>218.375451</td>
<td>06240907_proc_00270.png</td>
<td>0.714286</td>
<td>67.455082</td>
<td>57.088226</td>
<td>-63.335567</td>
<td>0</td>
</tr>
<tr>
<th>3</th>
<td>113.800339</td>
<td>223.653310</td>
<td>06240907_proc_00276.png</td>
<td>8.333333</td>
<td>86.160744</td>
<td>73.501320</td>
<td>-73.822837</td>
<td>0</td>
</tr>
<tr>
<th>4</th>
<td>88.625250</td>
<td>218.599081</td>
<td>06240907_proc_00279.png</td>
<td>7.200000</td>
<td>119.292404</td>
<td>107.265178</td>
<td>-76.700412</td>
<td>0</td>
</tr>
<tr>
<th>5</th>
<td>81.290269</td>
<td>220.570363</td>
<td>06240907_proc_00281.png</td>
<td>7.333333</td>
<td>115.024131</td>
<td>109.400213</td>
<td>-91.981419</td>
<td>0</td>
</tr>
<tr>
<th>6</th>
<td>81.476925</td>
<td>215.762886</td>
<td>06240907_proc_00282.png</td>
<td>6.166667</td>
<td>115.916690</td>
<td>111.225947</td>
<td>-51.426068</td>
<td>0</td>
</tr>
<tr>
<th>7</th>
<td>72.502562</td>
<td>219.822452</td>
<td>06240907_proc_00292.png</td>
<td>7.200000</td>
<td>115.302500</td>
<td>108.964856</td>
<td>-54.631973</td>
<td>0</td>
</tr>
<tr>
<th>8</th>
<td>71.396729</td>
<td>213.876289</td>
<td>06240907_proc_00295.png</td>
<td>7.000000</td>
<td>132.873660</td>
<td>114.236231</td>
<td>-88.764995</td>
<td>0</td>
</tr>
<tr>
<th>9</th>
<td>73.012500</td>
<td>206.005209</td>
<td>06240907_proc_00299.png</td>
<td>10.000000</td>
<td>116.456652</td>
<td>113.427691</td>
<td>-82.312357</td>
<td>0</td>
</tr>
<tr>
<th>10</th>
<td>62.431250</td>
<td>206.850000</td>
<td>06240907_proc_00301.png</td>
<td>10.000000</td>
<td>104.117715</td>
<td>88.929126</td>
<td>-2.347311</td>
<td>0</td>
</tr>
<tr>
<th>11</th>
<td>141.296875</td>
<td>252.166667</td>
<td>06240907_proc_00301.png</td>
<td>3.666667</td>
<td>55.919208</td>
<td>29.365025</td>
<td>62.916449</td>
<td>-1</td>
</tr>
<tr>
<th>12</th>
<td>71.331521</td>
<td>212.055188</td>
<td>06240907_proc_00306.png</td>
<td>8.166667</td>
<td>122.378310</td>
<td>99.126123</td>
<td>-52.857932</td>
<td>0</td>
</tr>
<tr>
<th>13</th>
<td>71.714899</td>
<td>208.812385</td>
<td>06240907_proc_00307.png</td>
<td>8.666667</td>
<td>107.007787</td>
<td>98.573020</td>
<td>11.509674</td>
<td>0</td>
</tr>
<tr>
<th>14</th>
<td>286.998737</td>
<td>170.834790</td>
<td>06240907_proc_00307.png</td>
<td>1.200000</td>
<td>34.312887</td>
<td>32.881617</td>
<td>-0.016536</td>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [7]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">labels</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[7]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>array([0, 0, 0, ..., 0, 1, 3])</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
These next two lines are the magic that connect the clusters identified by DBSCAN with the original classifications so that we can plot the fringe measurements for each cluster over time.<br />
Finally figured this out by reading the question posted here: <a href="https://datascience.stackexchange.com/questions/29587/python-clustering-and-labels">https://datascience.stackexchange.com/questions/29587/python-clustering-and-labels</a><br />
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [8]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">cluster</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">labels</span><span class="p">)</span>
<span class="n">df</span><span class="p">[</span><span class="s2">"cluster"</span><span class="p">]</span> <span class="o">=</span> <span class="n">cluster</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
Rename the DataFrame columns:<br />
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [10]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">df</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="n">index</span><span class="o">=</span><span class="nb">str</span><span class="p">,</span> <span class="n">columns</span><span class="o">=</span><span class="p">{</span><span class="mi">0</span><span class="p">:</span> <span class="s2">"x"</span><span class="p">,</span> <span class="mi">1</span><span class="p">:</span> <span class="s2">"y"</span><span class="p">,</span><span class="mi">2</span><span class="p">:</span><span class="s2">"filename"</span><span class="p">,</span> <span class="mi">3</span><span class="p">:</span><span class="s2">"fringe"</span><span class="p">,</span><span class="mi">4</span><span class="p">:</span><span class="s2">"rx"</span><span class="p">,</span> <span class="mi">5</span><span class="p">:</span><span class="s2">"ry"</span><span class="p">,</span><span class="mi">6</span><span class="p">:</span><span class="s2">"angle"</span><span class="p">})</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
Assign each cluster its own variable:<br />
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [27]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">cluster0</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">df</span><span class="p">[</span><span class="s1">'cluster'</span><span class="p">]</span><span class="o">==</span><span class="mi">0</span><span class="p">]</span>
<span class="n">cluster1</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">df</span><span class="p">[</span><span class="s1">'cluster'</span><span class="p">]</span><span class="o">==</span><span class="mi">1</span><span class="p">]</span>
<span class="n">cluster2</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">df</span><span class="p">[</span><span class="s1">'cluster'</span><span class="p">]</span><span class="o">==</span><span class="mi">2</span><span class="p">]</span>
<span class="n">cluster3</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">df</span><span class="p">[</span><span class="s1">'cluster'</span><span class="p">]</span><span class="o">==</span><span class="mi">3</span><span class="p">]</span>
<span class="n">cluster4</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">df</span><span class="p">[</span><span class="s1">'cluster'</span><span class="p">]</span><span class="o">==</span><span class="mi">4</span><span class="p">]</span>
<span class="n">cluster5</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">df</span><span class="p">[</span><span class="s1">'cluster'</span><span class="p">]</span><span class="o">==</span><span class="mi">5</span><span class="p">]</span>
<span class="n">cluster6</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">df</span><span class="p">[</span><span class="s1">'cluster'</span><span class="p">]</span><span class="o">==</span><span class="mi">6</span><span class="p">]</span>
<span class="n">cluster7</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">df</span><span class="p">[</span><span class="s1">'cluster'</span><span class="p">]</span><span class="o">==</span><span class="mi">7</span><span class="p">]</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
Make plots!!!<br />
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [29]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">cluster0</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="n">cluster0</span><span class="o">.</span><span class="n">fringe</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXQAAAD8CAYAAABn919SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAIABJREFUeJztnX+QXtV537/Prl7QCtuSCKprLxJSMxlpTFS0RjU0dDIW
zqDU2LADjmXGtE6TDv+1lsxsKmISgccdlKoxdicz7TB2ErtQIn51AyYppEEzmdKiVPKuLMuIxg7m
x2sclIH1D7SgXen0j/e9q7t3z+97zr3nvPt8ZhhW7/vee59zz7nPPec5zw8SQoBhGIbJn6G2BWAY
hmHCwAqdYRhmQGCFzjAMMyCwQmcYhhkQWKEzDMMMCKzQGYZhBgRW6AzDMAMCK3SGYZgBgRU6wzDM
gLCiyYtdcsklYuPGjU1ekmEYJnuOHj3690KIdabfNarQN27ciCNHjjR5SYZhmOwhopdsfscmF4Zh
mAGBFTrDMMyAwAqdYRhmQGCFzjAMMyCwQmcYhhkQWKEzDMMMCI26LYZkcqqLA0+9gB/OzOL9a0Yw
sXMzxsdGFz7vzsximAhnhcBo6XvdsSmTm8yh5C2fZ/VIB0TAzOm5ZO5BTv1ikvXOyeN48PArOCsE
holwy1Xr8cXxrd7nUx1z1+MnMDM7BwBYu6qDfR+/PNl7lhvUZAm67du3ixB+6JNTXdzx2HHMzp1d
+GykM4ybrxzFo0e7iz4vf3/PTb3BKTv2npu2JjuoVO1NVeZQ8srOU6bte5BTv5hkvXPyOO5/7uUl
x9169QapUvdp++RUFxMPH8PcucU6pzNMOPCJK5K7ZylBREeFENtNv8vS5HLgqReWPOSzc2fx4OFX
lA//7NxZHHjqBeWxB556oZZMk1NdXLP/GWza+ySu2f8MJqe6tc5XJpbMsQglr+w8dc8Zkpz6xSTr
g4dfkR6n+tyn7QeeemGJMgeAubMiyXumIuazXpcsTS4/nJmVfn7WsNpQHWf6zkR1ttKdmcUdjx0H
gCCzDpVsdWSOSSh5bX7f5j3wbWcbZhqTrKpnR/W5S9vLZlBX+VJD96wDaN38lqVCf/+aEengKGzm
uuMASI8tvvNBN1sJ0aGq9taROSah5FWdR3XOkIrS5lw+7Yz98ldhklX17AwTeZ2vwGQ2Ux2XKqpn
/a7HT+Cd+XON92uVLE0uEzs3Y6QzvOizkc4wbrlq/ZLPy99P7NysPHZi52ZveWxmK3WWaTFkjkko
eWXnUZ2zUBzdmVkInH+gfJbDtufyaWdbZhqTrLdctV56nOpz27abzGZAz4ae6liuonrWZ2bnkjC/
ZTlDL954shnU9ssuNnq5qI6VEWKmVndWpmtvioSSt3oenZdLyFWS7bl82tmW+cwka7Hx+cBzL6OY
p190wTC2X3ax1/kKTO3Kxcul0AOuLiRNm5Ky9HJpCtudfNPvrtn/jFThj64ZwbN7r43biGXCpr1P
Sh82AvDi/utbO1eVlMdCDK+dlNtri4231crOEN48Pbfku1DtHGgvl6awXR6Pj43inpu2YnTNCAi9
Tiw/BLltauaIygbrY5sNea4qKZvPYpiDUm6vLTqzUfGs7/v45Um0M0uTS1O4KOLxsVHlLCaXTc2c
gmSqTOzcLJ1d+jxQIc9VJWXzWYyJR8rttUXVfgKWzL7bbicrdA2hFHFMBRGKtrwvQhFKcRQvtdm5
s9o9mLqypnhPY008Um2vLbb3JYV2skLXEEoR5zBLie162QR1H6jqS+2sEIv6+5r9zyTbfyHIYeLR
BjndF1boGkIq4hTe3jrYzp++j3Fscph4qIiRO0jmSZX6fWGFbiB1RRyKXOz8MdH5GFfJbfViS47j
PZS50HSeHO4Le7kwAAbDG6Euri+v5bR6SZmYuYNSzc2jYuBn6Dl7bjRJKsvKNvtLZStV+RirXgCy
NgDt39uUqdPvruZC1bVUvzeln0iJgVbouXtuNI3vsjKk/bLN/lK91AB5ymXZ6kXWhomHjwHUyypY
fMbj8Dx1+93FXKi7luo81D8uh74aaJPLICyhUidkDpUU+mt8bBTP7r0WL+6/Hs/uvXbhJacLHCsj
a8PcObGgzAt4HJ6nbr+7mAt115rYuRmyVGSif1wOGGfoRPSHAD4G4HUhxC/2P7sYwEEAGwH8AMAn
hRBvxhPTD/bciE9Id8eU+8t29eIiawrtSoG6/e5iLtRda3xsFLsPTteSpW1sTC5/DOAPAHyj9Nle
AH8phNhPRHv7//534cU7j2t5LCBNz41UbfoucpV/q8oEpHsAVGXI2uqvkH1ik/K3/NuQcqRmu7dt
T4h+V71wqzKsWdXR7oeMJqgzXDCaXIQQfwXgjcrHNwL4ev/vrwMYDyzXIoryWEW+5rNC4P7nXsad
k8e1x6XmuRHSPNGWXNXfqtBtGE48fGyRK+Cbp+cw8cgx7NiyrvH+Ct0nsjHXGSJ0hhcv5qvtqiuH
7PiJh49h4pFjrYw3l/bEek5lMvzs7XltX6SmM1zxtaG/VwjxWv/vHwF4byB5pLiWxypwsX02QQo2
Yhkuctnkt9Y9ALoyZIdOnmq8v0L3iWzMHfi1K3DgE1do21VXjtRs9y7tifWcqu7JRResUF4rNZ3h
Sm0vFyGEICLlZI2IbgNwGwBs2LDB6xqu5bHKNBUQYLO8TNVG7CKXTlYCjMt6UxnApgM4fEqpmUwI
qjbUzZOuu35qtnvXsR6j31XX+vHsHKb3Xac8LpcgIhm+Cv3viOh9QojXiOh9AF5X/VAIcR+A+4Be
PnSfi9mWx2rLPm3rdhXTRlyn7S5yqX5rm/dZZ2Nuw07pW0ottOth3SIpdWz3MWhiP6Rcq1SWSC3F
PbTY+JpcHgfwmf7fnwHwp2HEkWNTHqtJ+3S1nNzdT5ywWl42aSt0abuLXHXbMLFzMzpDS53DYpYh
05X/07WnfNztDx2Lai4z3VeTCcPXdh+a4p51Z2aXuACGvHZ5zAPnV+vlsd+UPbxOecnQ2LgtPgjg
wwAuIaJXAewDsB/AQ0T0mwBeAvDJmEIW3iw6L5c67nM2s9vybICAhQ1Bl0rmsaIx67oOushVtw3F
72ReLjFWU7b5OUzBRCrzXijzhem+mkwYunY0tWqt3msBLDwrtimIbVeaur2cYuwXK8aY7W87GK7K
wJSg8y0bZlN2y7ZyeZWmymzFLJmWO74l0FTHuZ4nFDmUcqsro0sJPNWYL2hi7E9OdXH7Q8ekL/vQ
/bLsStD5lg2z2Y238eyo0qSrU8ySabnjuxFtM/NucvnepDudrwmh7qa/i2eMaWyrwv5DmUaKl0/s
lZsrA6PQfQe8zSC06Zw1I53WXJ1y952Nie/LTvX9MFG0PtbthTTlTldnP6buxEL3LFaVsSxmoUA2
9kPvsZkmeW1NpgYmOZevbddmJ9zkQTDSGcZdN8SxAduQSqbEFPGtNqM6LuaLWjVDvf2hY9hzcLqR
fq2zH1O3so/qOVs90llip370aBc3XzmKQydPKb1cQrVLhm6S1+ZkamAUOuDnP2ozCGW/cd3siY1L
21NJP9CEHL4vO9nm7cpO3AWtSkmUPTh2H5zG7oPT0TaSdSlkixJ8q0c6IAJmTs8tup8291rX56pn
kQhSZXzo5ClrO3XoGBDVy2eYqNVApIFS6D7YDEJXpZCKwpSRyq58k3LUCRR5Z/7cwt9vnp6zkrHc
/yrlJztmSBFvIaNIl2CSxRVVrhPgvEdXOW1Dd2YWe/ovmWJyo1Kyvh5HewwJs2yeN5d4A5tnt40V
nA0D4+WSCi479W2QirdEKnLo8JHR5BElGwu+XlQmWXzYdvfT0pJ7tujGuu/91HmS2CpWX282XXt8
Egb6suy8XHwJHRSQar6WglTSD6Qihw4fGU2bZbKx4ONFZSOLDz+uocwB/VjXmXNkz5/Ok6Qwi9o+
bzabyi7P7uRUF48e7S5KGPjo0W7rifaWtcklxrI/dUWVSjh0KnLo8JHRpp+rvzFtsDXpTeGSQkCF
qj26c5c9T4De86d60ZXt1CZzTBmT6c3l2dVtYBfXaoNlPUN3nU2rZvPlz4dIVvMkHUWVioujjRxt
h1TLZCQAO7asUx5j08/V36iOKWaRa0Y60u9jpEuQtdkVVXtszj07dxZ3PX4CgFrBnuvPiq/Z/4wy
uMjneXNxu9RtYLeZEntZK3TXTHsyP9Y7J48v+ly3PEyBVNKDmuRIIXf8+Ngobr5ydFFOEgFol9Ym
pSUbC7qX2/jYKKb3XYcv79q2SLGvXdXBgU9cAQBBX3rVfqkmwCsoPnbJ11I9t4qZ2TlMTnWVCrZw
Y1TN9n2fN5fJju6F0aaJdVlvirps0qh+q8sEeU6I5LxcciGVTVPfjTwfLxdXz6gmNuBNaSXqeHTp
0ivoNjxXdoaUnjh13Yht22PayA6desB2UzRrG7qqlJltZ07s3IyJR44tKgKgWsaafISrnBMiSIem
7AIZkxT2IianukqF0+1HL9omMDONy+oxxQxPd4xrsEx1LO3Ysg6HTp7SvnhM+whVu3RhJqteQxb8
M7Fzs7aGp6sbI4AFuXVtLbdP9nzZThguXDGkVOhDRNi098nGn9lsFXpRyqxc/cbLN7eqjxULFl0g
gUyph8pxnoLPeBu0vWla3HsdqrHm028+x/iYDMvnv/+5lxe+r/qWF9d2if40XaOa4vaem7ZiraHG
p2wjs8h6KuOOx47jyEtv4NGjXaUcxfVlv7ONMzC5mVbbajpnKLK1oetKmbmU7aqeY+6c/HiVfe2W
q9ZH22RM3QUyJm1v3tq4EqrGmk+/+Rzjsonn6hpZnunb7rm4XKM4/76PX+7cz7p9itm5s3jw8CtG
OVS/s3m+dO2U7Tk0+cxmO0M3lTKrcw6VyxMgjxbdftnFUcwiJvkG2RzTdn6aOmPIx1zkc4zL7NnH
VFXOtW5z312voTOrmNIF3HPTVqW5xjba1jdToup7wnkPHNdzhiJbhW5TysxkR1OFOatmPqqBXSe0
XIfO7GCzRM9d4ce6rzqKe2brKuBSpk9nLvI5xuWl5+Nfbmvecr1n1fPr+lk1zotVg4sZ1PZ3Npk4
dX3VpqkwW4U+sXPzEhs6cH5T02TP687MLpToKm+KpuRiqJuBmTbEmrS/5/Ti0Ml65+RxPPDcy9aK
SbWBLhubnSG9z7hvpkLbl57s/Dp0dvLqJKlsh7bF9vynz8xLx/ldj5/AXTdcLr1nN185apRJ9bs6
mThlla5szxmKrBR6tbN3fWg9vnnsNamXyzX7nzHbQM8JrBnp4KILVySpjHQzMFOEXOh0oSra3rh1
eZnoZAXgpMyNHlVVU6rO8Rr6vnYpkWiTYK7scaLigxtWW232utwzU4pb2flVFM/8PTdttTKDVr1t
imyNRQpen0ycuvvd1gQnGz90V59bU4mqglzLtJn8o5sqS9emv7jrmNDJCugViM35ba7jek9CJ5Wy
TQQ2TITv3/NRq3bZYNN21/O73s9QfvttrEgHLjmXqxeArc0qlZB8V0xeIE2VpWvLX7zIwucyJnTJ
oWwViY3HQsh7ohv3hc/37oPT1vfB1hNFNnv37VNbk4PPpqoLIbzGUohg1pGNQjcl3q/eUJu8ESnZ
y10xuZOFcvvT5VMpcnjLiPmi9K3nGEomkyIJ+TLVjXtd+LvqWFslKHO/U8lf/WVniFCuBfLO/Fkc
eekN4zWV51eYq1YrctyoCPGiTd2VOBuFrnsYZG9JmcK79eoNrecwCcn42Cie3XstXtx/PZ7de+0S
m2ndnC262YhNatNY+NZzDJF4Snd+3XV874mutqlppq3ywLHhlqvWL/lM1a5PV56rD21ai7nzdUFw
TgD3P/cy7pw0BGqpzn/VBnSGlmr1t87MO82MQ7xoU4hg1pHNpqhpl1624RfL7S0Xr4667TfNRkyp
TWPhW8+xupml22MpNvCKUoM255ddp7wJJwvnN40llUeFSZmr5JSdbwgAqKd4dYUaVO06dPLUIrl/
/o4/k8r04OFXtAUgdJuNT377tSUuxkVgl0uqDxsPFF2ftB3BbCIbhV4dTDKaeEtWXduKOo93P3Ei
So3HNvGZjZwTwklh+VCnnmP5JafahCOctyEL+NWPLX6j8wCy8RBSKTndc6CTs27Alk27VKYwG99w
1SRkRhIvArg987ZBTLq2+bqXNkUWCr2qFEz5H2LJUE4EVsW23mRO1A2gCOXSaOP77OqtMDnVxVvv
zC/5vDojB84rc1cPFZPrqK1rqUrJVRVLZ4jwrpUrjMm9Yq3c7nr8hNaWrErFa0OombGp7TZ9Uk7K
FatYty/JK3SZUpAFBAHA6b5NLdTNLRRJd2ZW+qBXieHn3QSqWXTdAIoQvvCy/n/0aFfrPyxrTyFP
kVnwp+/M42wlKE01UQDqhc6rPq9jj63ONlePdPDWmfkF+WPGA6jkm5md09YjldnlbfEJ1vJB1ycy
t8e3S5sFpnHXhHk2eYUuUwpFQBCwOEtcyFlytfNsvfVjmn1imC9sZtGuARTlF6GMEF4Fh06eks6Y
Ze2ZePgYQFiYAOiUjiqc3LcCju5cdWedVfNRtV11Jxiq8eaaRiBYAWXHYC0fVG1bPdKRFqsu7vGR
l95YYoqtjrsmgu6SDyzSBQipZlQhglp8gyhsr+2qnGMVMwgdGGQTuOJybtcAqTrBLwDw5V3bnIJ0
ZCu4YhkOLF3FuHzv0q+hA8l0400lt4rRNSO1JyG6AjMhC8nI2t0ZokWKWYbNCr7A59kamMAi3Wwl
5PI4xDlsN0d8ghNi+b+GdsMyuRS6biC5uprV7Xtbd89yHwKLH+ZyXn5ZTdDySlL3fdMueWVM5rLq
PVq7Su4TTkCQIBxdgZmQAT6ytr1r5QqtMh8mckpMFnMVX0uhE9EeIjpBRN8hogeJaGUowQp8fIdD
bI7anGNVZwhrV3Wc/bx9lHMs/9fQikAnj48vvKtPd52+LxSrzr+/wPTiKrvUXXThUstmWTnqvrcl
dP5403ir3iNZXnPZrNV3EmLTr6ECfKptU3nYAL17bJuutyCm84a3DZ2IRgH8WwAfEELMEtFDAD4F
4I8DyQbgvK1Jlfu4imkQ25o6ZBuCPu5rMkxRr036v4Z2w1LJ6WvCcXWzc80qWIYI1pvqNi/Soj91
ZexM32/c+6QxqRVw/j6VPbFWdvzna67jTdZPId2Lbfu1OzO7pPSbrlSljT4wucnq9ouazuZad1N0
BYARIpoDsArAD+uLtJTxsVGty+DaVR1jEV7AzY2urr+uDtUAKZanMtli+b+GbmcMOV3c7IrfyTaw
Ckb7ro/lTJ2A26a6zcZguT99vi9wKWf2zvx5r4s6TgI+/VjtJ9XLymcSUh2nQ5pskWUTzJGX3sDB
v35FWqrStgSd6l6UV5uyyd+nr94QrfiNilqbokT0WQD/HsAsgKeFEJ/W/b5OtsWxLzytrfRtM/tL
pZK8bONFtalSli2XCNUU5LTZRK4zHmyzFqpw2USropIvxgZ3nX6MtZGvOrcMXZpg1Xey+2W6F7HH
vO2maB2Ty1oANwLYBGAGwMNEdKsQ4v7K724DcBsAbNiwwfdyWjtWnXJhLse7oupk3+Vp3YCQppDJ
2bSSt1l5hPIDl3m5qCYfgNo10hZXuVWfu+RQLwcrlT/T9aWpD3zGRPmY1SMdrOwMYeb0nPLlqLNv
uyR3Mz175e8LGfccnF6Ui72JsV/H5PIrAF4UQpwCACJ6DMAvAVik0IUQ9wG4D+jN0H0vplN6Lqly
m8rDYDLv2C5PXTPKpUhbRTBMD2FIP/AqptlyHffK968ZkSpDl/bYljA0+fSb+lJ1j3zGRPWYmdk5
jHSGce+ubVo7tgoiQKbTBXr956N4bSqlxRz7dbxcXgZwNRGtIiIC8BEAz4cRaykTOzdLM66pyoCp
ztFUJXmVJ8vtDx2TpqJVtc81o1yKpJpyNOZ4UJ17x5Z1C8pcFRdTRELLKM4hc3vdsWWddXts+kQV
1Fd14fPpS58xoTvG1Ruu71qupDsziz0Hp7FR8qzqsMk3H3Pse8/QhRCHiegRAN8CMA9gCv2ZeAzO
bz58G7OlcNsLhoew5+D0QqealkVAM6G4Or9ZYPGmTXVzroxrRrkUCWnqqi65iaDcELdZ0sfKy1E1
yRSZCcvRhKpAoF0fWr+wmVY156zsDOHJb7+mjJ5VlWSrYtMnLv0TqjiF7jy6Y1y84QqfeZ1ZDMCi
qE/bWXVd829danm5CCH2AdgXSBZLFr9X3zrjtoxvyg5t4wUxO3d20XJMRSq5ln0JZeqSLbkLCnPA
3U+cwMzpuYXcJirTgCkvRwhkHhAmm6MAcOjkKXxxfKtUTp0SKhSbzfjWhbgXrrM6TxLZ+VzwGROm
Y8bHRpWml+pG58a9TzrJa5tGwTYtQixf9OQjRcuYljMpLOMLQhVTAPwUn6rKUBuEMm0Yg3nOCbzZ
3yCbmZ3TmgaaMgPZlnwrU/inb9r7pLTMngrbcaLKNNkZIrx1Zn7BlCNT5kPAEnOQT1/KxkRniHD6
zLxy3NqMI5vfTE51vdLA2Eys2q6UlnxyrjI2NzSV2ayL36wO185vawNSRyhTV8iUDk15PPmcr+yf
bjtmXNNOyPLHAGYzxPAwYdc/WR/Ea6Ns7lrVGVp4IQNuueF1njmqhHI+3hk2L0zZ9Zv0ckk+OVcZ
G8+Apn3KbXHxPS/wiUhtKolRG9RNvAXo/ZKB8OMnhMwy1ox0cNGFK5yVhM77xlTFqfzbOvfINw4j
FLqEf4VLqU6eNp6f6H7obWAK//WZzTblG616c1ej2IDekvbAJ67wksV2M7YsUy7UCesv0CnzGEth
UwqJjT83gv/9/TecZowjnWHcdYPf5q1uZWJr/627ipGZoVTtr3Mt1/S/5ZdHtTJZQerPT1YKvaoU
TV4OOtowTcg2rLZfdvGSPBPX/+P3LQpMcGmX7WZsjp4zsv7/ydtzOKfQBkUFn5nTc0aTV6xaqCYT
wDX7n7FS5qFWWLqNRdsXpsn0YJoouShp381D3fNtk9bg0MlTyn5J+fnJQqHHmEmbymg1GdFYdbWr
86KxfShlD5Ws1FtTtj9bTPeroOqCuMng1XCur+xVydFCylzGVrn9/if9VmxVdMpM9sIsewqVf6vC
Zvzqchm5FuRWoXu+p/ddt/Ab35dOUcGo7RQXVZJX6LFm0jZltOpcy7ez65Zts92Mrc582o5wK2Rw
vWe2G66mlcvqkU4rm8k2K6o1I51gMpjul+yF6dInNuNX9VLRlRV0Rfd8Fxk1faKIC9oaLyaSV+i6
N22dG2drL/RZXtV5CYXwvqjmlbDJmucS4RZjwNa5Zza+17qVy0hnGETwepHWnaXZ7AvddcPl1uez
oarUC1dNl9B9FTbjt4kAP93zbTOGY42X2CTvh67qlOJNW8bF/9rFT9x1Y0YX9m/yCQ9dcGJ8zK4C
T9sRbrH9wsv3AThfgb64H6rkb7r2yipP7T44jbEvPG3t+1/tnzUjnQUXwiK69MBTLwSNJfCpmGWL
z/h965153P3EiaBxEzpTjW3ytdDjpQmSn6Hr3MzKb0PXGZ5slnC6VDW9jKsy1XmamGadbeUTbzvC
rQm/cN19UEUY6tqrWtW45iEPvY9ioq5ZT4fN+DVF/IZo6/jYKO5+4kSt5zn0eGmC5GfoOs+E8sPu
M8MbHzOX0fJRprpOtZHJZkYdmrYj3EKvTFzxiWbVvWzqrC5ir1Zivjxtxm9TEd+hnmcZTSb6cyH5
Gboud3T5YdeV8frA7/w5TvfzdOgSMIWy7ZnsosWDo8uXXl553PX4iYWkQyETSJVpO8LNZWUSw7vA
p+9Nq5ruzCzGvvC0s1ttCIWrS2K2RpGvPdTL07QidIn4VvW1zRhw6VPd+XTfVe/x7oPTC9Wy2ghC
Sj5SdHKqi88dnIYsbdKtV2/AF8e3YnKqiz0Hp62DM+oE7tgyOdVVlkErOtpUzWVyqouJh48FDTxK
GZuHNGYVHB95XQKdbOWsW3nIJFennzu26o7Y1D20jfjWecOUS8cVn/vKrxtTwNLycrLnVLeBGuK+
2kaKJm9yGR8bxepV8iIPh06eAuCem6FISRuT8bFR/P4nr1Auy2zzUVeVOdCM/G1QNYHJHoKUcqsX
5oU1lkVIbOWsu5y3SWJ20QUrGjfrFZjMe6Zn5MHDrwQdA7ox5Zs3PoRcPiRvcgHU5edMiZZ0NLEb
rVvy7VHkbbbNR932bnoIfEwnTSXVUiGTeXrfddbpWG09LAB/05/NNX48O7cQYNM0KnNF1TSlekZc
SsfJqPahTflH3Xem6xbZM5swv2Sh0FU3vSgVpbIJms5pSx2brcqeaJMPOkTZvVSReXLsPjiNu584
od0jaLKMYBWd94ltndAQHhY21zDJ0vb40bWvcD9WrbpVnm82bZL1oYrifLLfDBEtBCjZ3O+mAo+S
N7kA+iVad2YWP3t7XlmyS4aqbJ3Mjz2Wz65tbue6ZfdSRefyt+fgNO6cPC49TnbfinSzsXO/m0qg
yfqqTLkEXcxc9bYmjRQpP28yRjrDuOWq9cpnxxSLYpufvjif6l4WLsiTU13rmJYmzC9ZzNDLSzRZ
R8+dE4vSiZaXcKtHOjgzf9bo5SJ7c6s2WkP47Nosq4u/q8m7qvKnmFPChG6ZKgA88NzL2H7ZxVrP
hWqa09izIJsSaOW+WtUZwoWd4QVTwo4t6xZt5sWS19akkSI6hVv2GilK9JXHPACj/76NWUaWqE3m
4FDogWKjuhiTutiZ2KbB5L1cqqhyGROAF/df731e17zVda8XCtUOfci8GDEIkdte5w1SbKqFbH9d
75O6x+eM7aRDl6v8y7u2afvQ5v7aPuc/qDzbrnondF8PjJdLldUKjwLV57a4FiFo2wZZoDIDPPDc
y1FCu0Nhs0y1yXgno2hvG2YyH3mrn6dWQrAuLmZL3XNl6kPdeCiOsxl31JfZRi7V520FHmWn0Elh
plR9boNrjcGUbJCqQVydTaRUbxWwc/kzvTRV3xc5UMqEaH/dKF4bpRAzz0pbuLia6hSuqQ9tXgbV
HC0yRF9mk1w6PdBWxHcWNvQyKhfGN0+fT4vpiosfe6zoL187uG0OFuD8TCUV00vh6SCrDiPL/1G9
P6rAE1Pe0X2SAAAXDUlEQVSEbgiZVej6URVBfPrM/EK/xMyz0hYurqZFG3dbuPVW0UVol+9huQ9V
7qbV6/i4ktbxVPIlO4WuU2C+G0w2D3rMSLo6yZh0Jc5kpJCzucoXx7dKN7lUkXjF/bnnpq2456at
S45rK3GSqR9lG6fA4mRebfvZx8DW1bT8MvRxTfR5GajcTWXXaUNBu5KdQrd9C8twrTEYs7ByWRZZ
EQrbWZkqB0s1NLp83tsfOrboWBdZY22wmjLbqWatqojS0BkrbbCZXRez8LJCL//ORvnl5tXkk4FR
psxt+rC4v7ZKWjUh2rFlnbFdKZKdQvddkvnUGGxqRl7XxUmmDLdfdrHyHtmk8VXJWtfVrono0LqR
ljbI2mErp+539+7aplV+bdTCrYtNf5j8wwnAzVfazZBdEr2Nj43iyEtvLDL5CQCPHu1K3WZTJzuF
Dri/hQHzLK/4TROzHtvghjomAt09AuxXACFtur7KyCc6NObyWNUO2yyGuvaYlJ9Nf6Q4gzf1h2ny
InA+d5PNtQD751lWEDrXfYssFTrgXgjCNHtq0j5ma7OvayKwTeOrI6RN1/flEKPoRx1U7bhwxdCS
TVmZnKb26MaizjVv094nlxR2zmEGD9ht7vuWYTQxSPsWWSh0m3zEprdwmzlAbGUp2+x3bFmHA0+9
gD0Hp71nWcXvVWl8379mxDibC3nffB+cJkwoLqjk/fHsHO7dtS1onu4qOsUngCW2ecBv38SHOisD
0+QDiPespqQb6pK8Qrf1HDCR0izPZLMPaSctfi+73o4t64zXCXnf6jw4bXkYyJSUyWRiI6dve2wU
nwyXfRMf6o5ZXUoHIO6zmpJuqEvygUWh8l+35ejvI0vonN+q6x06ecp4nZD3LdWyXSpUQT47tqxr
rR3V/nAhZnBZiDE7PtbLh/+D/dfj3l3bGntWU9INdamVy4WI1gD4KoBfRO+F+htCiP+j+r1PLheb
HAopbgLVIVa+GtvrAL1BHeN+huirpvpblY+jiG5VJeFqMvCsbg6iUPdSFaBDgJUZKgVS1iO2uVzq
mly+AuB/CCE+QUQXAFhV83xLMC3Tc3TjMtGUTU91nSIdLRD+ftY1nTTZ3ypbedVOfXru3EI2zxjy
uLrcdoZ6cQ2SYlfSNAN172WROkM2OVg90sni+RwUPeJtciGi1QB+GcDXAEAIcUYIMRNKsALTMj2l
kmShaMo0ocotnnIemCb72/cFGloek3dQ1Vxw4NeuwJc+uc04hkLdS1XqDEIvx1IOz+eg6JE6M/RN
AE4B+CMiugLAUQCfFUK8Vf4REd0G4DYA2LBhg/NFTB4Bg+RyVNCUV4fsOj7luJqkyf723YAMLU8d
l1vdGAp1L3UJ4kzlI1MxcwyKHqmj0FcA+CCAfyOEOExEXwGwF8DvlH8khLgPwH1Az4bucyHdgLUN
5siNprw6qtdR2WRTuZ9NupjJXninz8xblTs0yTM51TUWLimfy6fNpjEU6l6qzlNkNFRdIyUzx6C4
LtbxcnkVwKtCiMP9fz+CnoJvjMmpLn729vySzwehRFssyrm2t939NMa+8PSivNupe6I0LV/hefHi
/uvx7N5rse/jl1uVmtPJMznVxcTDx5Yk6Jp45Jg0TW6sNoc6r+48uu9SMnOkPu5t8VboQogfAXiF
iIoWfwTAd4NIZcmBp17AnGTn56ILVmS1kdEUVTe8mdk5vHl6bpFLHoCkXbiScDGr6PMh6s2wy/IA
UBapUI3bubNCqsxitTnUeXXn0X3XtJlDVzgkiXEVgLpui9vQc1u8AMDfAvhXQog3Vb8PUYKuTFPu
fTkis03e/cQJo7lgOZRDs8HVTbB831RlAQsFoXLxA5bX2G2yJJ+pT1KnEbdFIcQ0AONFYpGi3SuF
TR6ZbXLi4WPSWWEVl9lRCm21xUVWnW3XZlZpMiXo8tXXLaWYE01GaA5i4RAZyUeK6kjN7pVK+TDZ
4LVR5oD9yzCVttrgKqvu4bcpI6dT+qbqWHVKKeZGk2aOQfFiMZF8LhcdqSVtCj0L8J0B+w7SzpB5
M7mQSbYySmHGI7tnrilnVQpXla+8WhBBt3I09Y3Kza9pYqy+VOdsYrykuJqPQdYKHUirLFTIWUAd
ly6XOqOLMMwOZXbIKm3OeFT3zJQ+2KZdwPnkW6aCCDpTgi5HfXGNtonhThjbRdH0AhqkBFw6sja5
pIbNctyWOi5dMlNUZ4jQGdZrbJWXhU6mKm0qJNU9G1bYMQpZbdpVfvh1BREAvSlBV9U+FQWjG3s6
TxHfc9bFxqRW7ZM1Ix2s7Axhz8FpbTt829sW2c/QUyLkLKDObF9liip/pjMruMpUoGprU5unKvnO
CiEtPLFjyzqr5FbVoB+bvlGtHKtpYotiyKMJbSrrimhUZ9l7Dk5j98Fpo/wxbdi2ps6iT2xXCykF
PtnCCj0gIW36dW1+JoXiExGqM+WoHugmHwpdxGJh7rAppF3l7X7iLdN16vZNFd8XYd0XqK4AS/V+
FRMDU7/GtGG7vixsXwA5esawySUw1chC347XefColoEuy0MfDyHVMV/etU3Z1iajAXVtqvaLLBe8
iqq8TXhX+XoRhfA+UrVPVcy8QNevMe+Zq6kzRDHvVMluhp6T73MddGYT2Yz3yEtvLJpxmmZMPqsJ
n2OafChc5KuTgMr1PviMWd/ZYYhZpax9O7asw4OHXzEqddV9jemR5mrqtF0t5OgZUytS1JW6kaK5
R3uFQGUqKWyxVdqO/GwyGtCFpu6j75j1jYKOET1t6wUEtNevdQLHAHmfpKRvbCNFszK5pJTMpy10
G38uv2+K1IK/ClRy3XLV+qDy+o5ZX4+pkJ5WBTZeQEC7/epi6rQNaMoxv0tWJpccbVqh0W1YyZR6
28vD1IK/bOTaftnFweT1HbO+HlMx/K11ssYqVRgb243plOJcbMhKoauU2XLJfzE51cVb7yxNFwzI
Z+g2kZ+u13dxt6sug+/dtS2ph0PnCeQqp2rJrxqzQ0SYnOoqr+P7IozxAtV5D3Eit7TISqFP7Nws
TTL11pl57cMxCLjYMRcImBekev3iBTJIPry+uNb8BHr3z3Q/fGeHoWeVyyXKchDIyoY+PjaKd61c
+g4yRTgOArZ2zDIh74vu+jKbcNP7HXUi+upGA9rU/JRFqza5/1OnjTnakpcrWc3QAXONwkHFt32h
7ovpPLF8eG28F+qsBkKsJGza2uamdYg25mZLXq5kp9Bj+Yam7t/um3Ar1Kao6foxfHhtFZFpNaDr
V9Wxdz1+wrr/dW0t2qA7NjY5RjzmStt6JCuTCxDHDS6H3N66pE4qQto5XZNKhegnW7ONKfeIrl9V
x87Mzln3v2vdzOpvYsPeYc2Qgh7JTqHHsOfl4N8uyxa3dlXPu6ewzxaf1bkvKltr+frla8b04bVV
RKpZriz3SLVfdTNk2/7XtVWnNJuyQ8fwTU+RtjMjpqBHsjO5AOHtebnMYGLbMU0mDtfry37vsiS1
NduovDBMedCLY3cfnDb+zoTq3uhc/ppaii8HL5UUvKpS0CPZzdBjsFxmMCZizzBcl6S2ZhvVDHnU
ol/Hx0YXVjq63/mSQqTscvBSSWF2nIIeyXKGHprlMIOxQTfDsPU28dmAVG3OuQTJqGbINv267+OX
R+v/VCJlB91LJYXZcQp6hBU60nno2kYXiWtaztoseX0eujqKyLZfY/f/oCvTFEghM2IKeiSrbItM
XFTZ5VZ2hvCmxP+/HPptk1Ux1cyLTP6klBmxLFMo5W6bbXEgZuht+n627XcaEtUMY49m07Cc30VG
+fMUlqTMYJLC7LhMW5u02c/Q23wzpzgriIFqZr1mpIN35s9pUxIQsCgp1yC9ABlGRejV6LKZobtu
tIVUKMslAk81syaCMb+MABbdD7YnM8uBtjZps3dbdLlxoSO5UthZbwKV25sqr06VQbkfbQeuMPnQ
lgtj9jN0l93t0DPqFHbWm0I2s9bZzssMwv1IIXCFyYe29ouyn6G7BG6EnlGnEDTSJjb5ZQblfqQQ
uMLkQ1vBXLVn6EQ0DOAIgK4Q4mP1RXLDZXc79Iw6tZ31ppG1f8eWdTh08tTA3Y/lYl5jwtHGflFt
Lxci+hyA7QDeY1LoTfqhyzY/AXnk4KB5pQwCqXnDsA/9YmL3T2r970po+W29XGqZXIjoUgDXA/hq
nfOERrX5CWDgc1oMAimkIa2y3M1rZWL3T4r970Kb8tc1uXwZwG8BeHcAWZxRvQV19s5n917LCjxx
UnQHXe7mtTKx+yfF/nehTfm9FToRfQzA60KIo0T0Yc3vbgNwGwBs2LDB93JL0HkdsL0zb1LtP/ah
7xG7f1Ltf1valL/ODP0aADcQ0UcBrATwHiK6Xwhxa/lHQoj7ANwH9GzoNa63CN1bcDm5E8YktB3Q
9nzcf2kTu39y6n/ZmG5Tfm8buhDiDiHEpUKIjQA+BeCZqjKPie4tyPbO+oS2A7qcj/svbWL3Ty79
rxrTO7asa03+bP3QdZFYyyGhf2xC+127nC92/3HEZz1i908uz69qTB86eao1+bNNzrVcEmO1xaa9
T0I2MgjAi/uvb/18vrQ9bnJ3x2PO0+SYbsRtsU1yeYvnSuhcFCmU5wLajfjM3R2PWUwqY7pMtgod
6Cn1Z/deixf3X8/uiBXqmhVC2zFTsYu26YHA6QMGi1TGdJnsk3MxSwmRSCq033UqftxteiDk7o7H
LCaVMV0mWxs6o4bD1NW0aUPnfmF8GXgbOqOGZ4Jq2tx7SXGJzgwWbHIZQHIKzGiDtiI+U1yiM4MF
K/QBhIsxpwunD2Biwgp9AOGZoBr2A88bm/5bzn3MCn1A4ZngUriMXN7Y9N9y72PeFGWWDewHnjc2
/bfc+5gVOrNsYO+fvLHpv+Xex2xyaYDlbNNLiba9f3gc1MOm/9ru47bhGXpkOH9HOrTpB87joD42
/bfcff1ZoUdmudv0UqLNoCIeB/Wx6b/lnrSPTS6RWe42vdRoy/uHx0EYbPpvOXt48Qw9Mimm2GSa
h8cB0wSs0COz3G16TA8eB0wTZGdyyc1TgKM2l5JbH4aAx8FSluM4iE1W6XPbLh/G1If7kAF4HLgy
kOlz2VMgf7gPGYDHQSyyMrmwp0B6uC6buQ8ZgMdBLLKaobOnQFr4BMtwHzIAj4NYZKXQ2VMgLXyW
zdyHy5dy4fK33plHZ5gWfc/joD5ZmVzYUyAtfJbN3IfLk+om6MzsHDpDhLWrOpg5PcfjIBBZKXRg
eUeBpYZvIiTuw+WHbDU3d05g1QUrMPW717Uk1eCRlcmFSQs2nzC28CZoM7BCZ7xZ7omQGHt4E7QZ
sjO5MGnB5hPGBi5c3gys0BmGiQ5vhjeDt0InovUAvgHgvQAEgPuEEF8JJRjDMIMFr+biU2eGPg/g
diHEt4jo3QCOEtFfCCG+G0g2hmGY1sgxeZi3QhdCvAbgtf7fPyWi5wGMAmCFzjBM1lT95osoaABJ
K/UgXi5EtBHAGIDDIc7HMAzTJrkmD6ut0InoXQAeBbBbCPETyfe3EdERIjpy6tSpupdjGIaJTq5+
87UUOhF10FPmDwghHpP9RghxnxBiuxBi+7p16+pcjmEYphFy9Zv3VuhERAC+BuB5IcSXwonEMAzT
LrlGQdfxcrkGwL8AcJyIpvuf/bYQ4s/qi8UwjIwcPS9yJFe/+TpeLv8LABl/yDBMEHL1vMiVHP3m
OZcLw2RCrp4XTHOwQmeYTMjV84JpDlboDJMJuXpeMM3BCp1hMiFXzwumOTjbIsNkQq6eF0xzJK/Q
2U2LYc6To+cF0xxJK3R202IYhrEnaRs6u2kxDMPYk7RCZzcthmEYe5JW6OymxTAMY0/SCp3dtBiG
YexJWqGPj43i5itHMUy9lDHDRLj5St7lZxiGkZG0Qp+c6uLRo12cFQIAcFYIPHq0i8mpbsuSMQzD
pEfSCp29XBiGYexJWqGzlwvDMIw9SSt09nJhGIaxJ2mFzl4uDMMw9iSt0MfHRnHPTVuxZqSz8NnK
TtIiMwzDtEYW2vGd+XMLf795eg53PHacPV0YhmEqJK/Q2dOFYRjGjuQVOnu6MAzD2JG8QmdPF4Zh
GDuSV+js6cIwDGNH0gUuAC67xTAMY0vyCh3gslsMwzA2JG9yYRiGYexghc4wDDMgsEJnGIYZEFih
MwzDDAis0BmGYQYEEv1qQI1cjOgUgJc8D78EwN8HFCc2OcnLssYjJ3lZ1njUlfcyIcQ6048aVeh1
IKIjQojtbcthS07ysqzxyEleljUeTcnLJheGYZgBgRU6wzDMgJCTQr+vbQEcyUleljUeOcnLssaj
EXmzsaEzDMMwenKaoTMMwzAaslDoRPSrRPQCEX2PiPYmIM96IjpERN8lohNE9Nn+5xcT0V8Q0d/0
/7+2dMwdfflfIKKdLcg8TERTRPTNDGRdQ0SPENFJInqeiP5pqvIS0Z7+GPgOET1IRCtTkZWI/pCI
Xiei75Q+c5aNiK4kouP97/4TEVGD8h7oj4NvE9F/J6I1Kcgrk7X03e1EJIjoksZlFUIk/R+AYQDf
B/CPAFwA4BiAD7Qs0/sAfLD/97sB/D8AHwDwHwDs7X++F8Dv9f/+QF/uCwFs6rdnuGGZPwfgvwH4
Zv/fKcv6dQD/uv/3BQDWpCgvgFEALwIY6f/7IQC/noqsAH4ZwAcBfKf0mbNsAP4awNUACMCfA/jn
Dcp7HYAV/b9/LxV5ZbL2P18P4Cn04m0uaVrWHGboHwLwPSHE3wohzgD4EwA3timQEOI1IcS3+n//
FMDz6D3cN6KnjND//3j/7xsB/IkQ4h0hxIsAvodeuxqBiC4FcD2Ar5Y+TlXW1eg9LF8DACHEGSHE
TKryopeCeoSIVgBYBeCHqcgqhPgrAG9UPnaSjYjeB+A9QojnRE8DfaN0THR5hRBPCyHm+/98DsCl
KciruLcAcC+A3wJQ3pxsTNYcFPoogFdK/361/1kSENFGAGMADgN4rxDitf5XPwLw3v7fbbfhy+gN
snOlz1KVdROAUwD+qG8i+ioRXYQE5RVCdAH8RwAvA3gNwI+FEE+nKGsJV9lG+39XP2+D30BvFgsk
KC8R3QigK4Q4VvmqMVlzUOjJQkTvAvAogN1CiJ+Uv+u/cVt3ISKijwF4XQhxVPWbVGTtswK9pex/
FkKMAXgLPdPAAqnI27c/34jeS+j9AC4iolvLv0lFVhkpy1aFiD4PYB7AA23LIoOIVgH4bQC/26Yc
OSj0Lnp2qYJL+5+1ChF10FPmDwghHut//Hf9ZRT6/3+9/3mbbbgGwA1E9AP0zFXXEtH9icoK9GYp
rwohDvf//Qh6Cj5FeX8FwItCiFNCiDkAjwH4pURlLXCVrYvzZo7y541BRL8O4GMAPt1/CQHpyfvz
6L3Yj/WftUsBfIuI/mGTsuag0P8vgF8gok1EdAGATwF4vE2B+jvRXwPwvBDiS6WvHgfwmf7fnwHw
p6XPP0VEFxLRJgC/gN5mSHSEEHcIIS4VQmxE7949I4S4NUVZ+/L+CMArRFRUAf8IgO8mKu/LAK4m
olX9MfER9PZTUpS1wEm2vnnmJ0R0db+N/7J0THSI6FfRMxfeIIQ4XfoqKXmFEMeFEP9ACLGx/6y9
ip7jxI8alTX07m+M/wB8FD1Pku8D+HwC8vwz9Jaq3wYw3f/vowB+DsBfAvgbAP8TwMWlYz7fl/8F
RPISsJD7wzjv5ZKsrAC2ATjSv7+TANamKi+AuwGcBPAdAP8VPU+GJGQF8CB6tv059BTMb/rIBmB7
v33fB/AH6AckNiTv99CzPxfP2X9JQV6ZrJXvf4C+l0uTsnKkKMMwzICQg8mFYRiGsYAVOsMwzIDA
Cp1hGGZAYIXOMAwzILBCZxiGGRBYoTMMwwwIrNAZhmEGBFboDMMwA8L/B/hQr2irUjbtAAAAAElF
TkSuQmCC
" />
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [36]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">cluster1</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="n">cluster1</span><span class="o">.</span><span class="n">fringe</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
IpFdo3tZ4OpVY0HSupr42Pvy0y7i3aTr0xBtVVXAF5tcmODkKaG0LXKToqJ8e6GDg0fPYM/2Fl46
fW4p70f2IVElxVItfW2PT9ixZT2efOUNY1NJ9l5s2imNiTlodq6tvMZCp4v3OnY5a0zItqfKA8mH
CcZmdZTtyx1b1uOl0+fwdn886c630Olifv/HteeLrZweK3QmODYbf7o84O2FDo4cb2PP9haOHG8P
2JGnnz4BUK+iT/LZg8+exLHX31l2bNrmnOdJI7NRz861ceR4e0BpEYA92/M3yWbn2sts5rr2yJK3
EZjIryNtAgD8ZQ1Mt6cqcZaP65uOJ1lfpt0SExlU9nLqnyPd76b7F1WVoWOTCxMc10CTNJ3uIp56
9U3pEjlR5nnH6pa+JktllcnkpdPnlHKnf6tKKGUyu88zB9mUmAtpAghpgjEdTyZt0ekuQgh51K7o
n0N3PtU9VJVbnmfoTHBU5g2gN5NTmUJUMzxdiLbpsbZL4vTnOo+O2w+8qDUlqH4rYD5T1bnL2S7p
Q5kATE0wRa5v6gNueu73Ol2tfGmPJNUxwHJzTGIeLNPLhRU64w2dfTGrhPKWr7p817q0pqbHKnOx
GLir5ZmFdKYE1W91KQBsUJ3fth18YGKCKXp91UstPQZHDMdJIoNMviSrom6mf/14Uzqejxxvl57G
mE0ujBds3bRMlq+qZeu9t9647PPGCEndzGTHqvK2bJx5XqrMsxn8TMxCKlOCqrTc+YuXvLi02bSZ
zAQQKtdLGSaI7Bg0Uea68nsA8IP3lxcRl/0+ljTGPENnvGAbaGNi2tAtrSdvuta4So/sWNVGl4xs
5XkTs5BqGT69azOuWT227MXRXRReoipt28xm1eQSKFNGqLzKZj5KhMtCLPNykcmQzu8DAJdz3glJ
DqBY0hhzxSLGC6pQaVX1mCLlw0Kg88ZI0FXA0d2HyiNF9fJwqbTjgyL3UmVlpCy2Y1CGyXjIklep
ysd45opFTKnYBtq4LMF9mgVMfb9V5KV3la1aVGlaE1ts6PS2KnSzzFhMCjp8pLQtMqNOPGWq8GrJ
wiYXxhrZ0ts2naht2td0WtbzFy8t8zdPn9MG3QZn3j3k3YcqvWsSqp5tqx1b1gdNb5uHznc6FpOC
jh1b1kvT3+7Yst74HLpN5cv9dBQyFjpdjDcbS323bk0D+++4ufTVCyt0xgqZnXXvoXmsW9OwdtMy
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
" />
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [37]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">cluster2</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="n">cluster2</span><span class="o">.</span><span class="n">fringe</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
CQAAAABJRU5ErkJggg==
" />
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [38]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">cluster3</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="n">cluster3</span><span class="o">.</span><span class="n">fringe</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAIABJREFUeJztnX+QHdWV379nnh7oCQwjoglII8mDHSKWHzYDE1BQagtY
G2GZNWNMYpz1eu0kpbKzTi0spS3J3jLC2S20UdY2XrJWVLYTExMMBmWsRaIEWZH4R0rYI41+8Eu7
8mJ+PGQYAyMQM6AZ6eSP1z3q6ekft3/36/f9VE3Ne923+557+97zbp977rmiqiCEEFItuooWgBBC
SPpQuRNCSAWhcieEkApC5U4IIRWEyp0QQioIlTshhFQQKndCCKkgVO6EEFJBqNwJIaSCzCkq4wUL
FmhfX19R2RNCSFuye/fu36hqT1i6wpR7X18fhoeHi8qeEELaEhF53iQdzTKEEFJBqNwJIaSCULkT
QkgFoXInhJAKQuVOCCEVxFi5i0hNREZE5GGPcyIi3xSRQyKyX0QuTVdMQgghUYjiCvlHAJ4BcIbH
uY8AOM/6uwLAt6z/uTE00sTGHQfx8tgEFnU3sGblMgz29+YpAiGElAajkbuILAbwUQDf9klyA4B7
tMUuAN0isjAlGUMZGmli3ZYDaI5NQAE0xyawbssBDI008xKBEEJKhalZ5hsA/gTACZ/zvQBedHx/
yTqWCxt3HMTE5PEZxyYmj2PjjoN5iUAIIaUiVLmLyPUAXlXV3UkzE5HVIjIsIsOjo6NJbzfNy2MT
kY4TQkjVMRm5rwDwMRH5FYAfALhGRL7vStMEsMTxfbF1bAaqullVB1R1oKcnNDSCMYu6G5GOE0JI
1QlV7qq6TlUXq2ofgJsB7FTVT7uSbQXwGctrZjmAI6p6OH1xvVmzchka9dqMY416DWtWLstLBEII
KRWxA4eJyOcBQFU3AdgOYBWAQwDGAXwuFekMsb1i6C1DCCEtRFULyXhgYEAZFZIQQqIhIrtVdSAs
HVeoEkJIBaFyJ4SQCkLlTgghFYTKnRBCKgiVOyGEVBAqd0IIqSBU7oQQUkGo3AkhpIJQuRNCSAWh
cieEkApC5U4IIRWEyp0QQioIlTshhFQQKndCCKkgVO6EEFJBqNwJIaSCULkTQkgFoXInhJAKQuVO
CCEVhMqdEEIqCJU7IYRUkDlhCURkLoAfAzjVSv+gqt7uSnMVgB8BeM46tEVVv5quqNEYGmli446D
eHlsAou6G1izchkG+3uLFIkQQnIjVLkDeBfANap6VETqAH4qIo+o6i5Xup+o6vXpixidoZEm1m05
gInJ4wCA5tgE1m05AABU8ISQjiDULKMtjlpf69afZipVQjbuODit2G0mJo9j446DBUlECCH5YmRz
F5GaiOwF8CqAx1T1CY9kV4rIfhF5REQu9LnPahEZFpHh0dHRBGIH8/LYRKTjhBBSNYyUu6oeV9VL
ACwGcLmIXORKsgfAUlX9AIC/AjDkc5/NqjqgqgM9PT1J5A5kUXcj0nFCCKkakbxlVHUMwOMArnMd
f9M23ajqdgB1EVmQmpQRWbNyGRr12oxjjXoNa1YuK0giQgjJl1DlLiI9ItJtfW4A+DCAZ11pzhER
sT5fbt33tfTFNWOwvxd33ngxersbEAC93Q3ceePFnEwlhHQMJt4yCwF8T0RqaCntB1T1YRH5PACo
6iYANwH4gohMAZgAcLOqFjrpOtjfS2VOCOlYQpW7qu4H0O9xfJPj890A7k5XNEIIIXHhClVCCKkg
VO6EEFJBqNwJIaSCULkTQkgFoXInhJAKQuVOCCEVhMqdEEIqCJU7IYRUECp3QgipIFTuhBBSQajc
CSGkglC5E0JIBaFyJ4SQCkLlTgghFYTKnRBCKgiVOyGEVBAqd0IIqSBU7oQQUkGo3AkhpIJQuRNC
SAUJVe4iMldEfi4i+0TkKRG5wyONiMg3ReSQiOwXkUuzEZcQQogJcwzSvAvgGlU9KiJ1AD8VkUdU
dZcjzUcAnGf9XQHgW9Z/QgghBRA6ctcWR62vdetPXcluAHCPlXYXgG4RWZiuqIQQQkwxsrmLSE1E
9gJ4FcBjqvqEK0kvgBcd31+yjhFCCCkAI+WuqsdV9RIAiwFcLiIXxclMRFaLyLCIDI+Ojsa5BSGE
EAMiecuo6hiAxwFc5zrVBLDE8X2xdcx9/WZVHVDVgZ6enqiyEkIIMcTEW6ZHRLqtzw0AHwbwrCvZ
VgCfsbxmlgM4oqqHU5eWEEKIESbeMgsBfE9Eamj9GDygqg+LyOcBQFU3AdgOYBWAQwDGAXwuI3kJ
IYQYEKrcVXU/gH6P45scnxXAH6YrGiGEkLhwhSohhFQQKndCCKkgJjZ3QkrP0EgTG3ccxMtjE1jU
3cCalcsw2M+lFqRzoXInbc/QSBPrthzAxORxAEBzbALrthwAACp40rHQLEPano07Dk4rdpuJyePY
uONgQRIRUjxU7qTteXlsItJxQjoBKnfS9izqbkQ6TkgnQOXeoQyNNLFiw06cu3YbVmzYiaGRWdEi
2oY1K5ehUa/NONao17Bm5bKCJCKkeDih2oFUbQLSlpneMoSchMq9AwmagGxXhTjY39u2shOSBTTL
dCCcgCSk+lC5dyCcgCSk+lC5dyCcgCSk+tDm3oFwApKQ6kPl3qFwApKQakOzDCGEVBAqd0IIqSBU
7oQQUkGo3AkhpIJQuRNCSAWhcieEkAoS6gopIksA3APgbAAKYLOq3uVKcxWAHwF4zjq0RVW/mq6o
xIZbyhFCwjDxc58CcJuq7hGR9wDYLSKPqerTrnQ/UdXr0xeROKlaREdCSDaEmmVU9bCq7rE+vwXg
GQDUIgXBLeUIISZEsrmLSB+AfgBPeJy+UkT2i8gjInKhz/WrRWRYRIZHR0cjC0sY0ZEQYoaxcheR
0wE8BOAWVX3TdXoPgKWq+gEAfwVgyOseqrpZVQdUdaCnpyeuzB0NIzoSQkwwUu4iUkdLsd+rqlvc
51X1TVU9an3eDqAuIgtSlZQAYERHQogZJt4yAuA7AJ5R1a/5pDkHwCuqqiJyOVo/Gq+lKikBwIiO
hBAzTLxlVgD4fQAHRGSvdexLAJYCgKpuAnATgC+IyBSACQA3q6pmIC8BIzoSQsIJVe6q+lMAEpLm
bgB3pyUUIYSQZHCFKiGEVBAqd0IIqSBU7oQQUkGo3AkhpIJQuRNCSAWhcieEkApi4udOSCQYkpiQ
4qFyJ6nCkMSElAOaZUiqMCQxIeWAI/c2oh3MHVmHJG6HOigbedRZEc8lSp6d2G6o3NuEdjF3LOpu
oOmhyNMISdwudVAm8qizIp5LlDw7td3QLNMmZG3uGBppYsWGnTh37Tas2LATQyPNWPfJMiQxTT7R
yaPOinguUfLs1HbDkXubkKW5I82RTZYhibkLVXTyqLM88nCbVbzeDv3y7NR2Q+XeJkQxd0S1LwaN
bOIo5axCEmdp8qkqedRZ1nl4DT4EgFdMca88O7Xd0CzTJpiaO+yO0BybgOLkKDzIzNIuIxvuQhWd
POos6zy8Bh+K2XHI/fLs1HZD5d4mDPb34s4bL0ZvdwMCoLe7gTtvvHjWCDmOfbFd9mU1rQNykjzq
LOs8/AYZauUVlmenthspasOkgYEBHR4eLiTvKnPu2m2er6sC4LkNH/W8xv3aC7RGNp3QAUj5WbFh
p6dZpbe7gZ+tvaYAiYpFRHar6kBYOo7cK0acUXinjmxIe9CpZpWkcEK1YqxZucxzFB7WEbgvKykr
3BQ+HlTuFYMdgVQRDj6iE6rcRWQJgHsAnI3WHMZmVb3LlUYA3AVgFYBxAJ9V1T3pi0tMYEcghJiM
3KcA3Kaqe0TkPQB2i8hjqvq0I81HAJxn/V0B4FvW/1JR5vgSYbKVWXZCyk5R/afIfhuq3FX1MIDD
1ue3ROQZAL0AnMr9BgD3aMv1ZpeIdIvIQuvaUlDm+BJhspVZdkLKTlH9p+h+G8lbRkT6APQDeMJ1
qhfAi47vL1nHSkOZ40uEyVZm2QkpO0X1n6L7rbFyF5HTATwE4BZVfTNOZiKyWkSGRWR4dHQ0zi1i
U+ZVmGGylVl2QspOUf2n6H5rpNxFpI6WYr9XVbd4JGkCWOL4vtg6NgNV3ayqA6o60NPTE0fe2JR5
FWaYbGWWnZCyU1T/Kbrfhip3yxPmOwCeUdWv+STbCuAz0mI5gCNlsrcD5V4IESZbmWUnpOwU1X+K
7rcm3jIrAPw+gAMistc69iUASwFAVTcB2I6WG+QhtFwhP5e+qMkos/+3l2xXn9+DjTsO4tb792JR
dwOfuKwXjz87WjrZCSk7RfX9onUOY8sEUKT7FGO9EJIP7eZmbBpbhitUffBzYxp+/vXMR9Bh8dXb
rTESkpSs2nzR7opZwpG7D36R6NybBGQxog6K7Pj1T16S2aiePxqkbAyNNLF+61MYm5iccbzeJTh9
7hyMjU8maqvtGHGSUSETEhRD2kkWfqtBs+xZ+c7G2eSDkCyx26RbsQPA5AnFG+OTidtq0e6KWUKz
jAPnyLVLBMcN32rSbghBkR1vvX+v5zVJZTBZSJX1iJ5vDuUm7+fj1Sb9iLMt5NBI07efL+putH17
5Mjdwj1y9Xrg7m29bNL2Ww2Kr56V76zfj4M9Ksp6RM83h3JTxPOJOmCJkt4uj1c/b9RruPr8nrZv
j1TuFn6jhJrItIL9veVLc/NbHezvxc/WXoPnNnwUP1t7zfSIwct3FgDGj00lanh+Pw41kVyWUBe9
VJsEU8TziTpgiZI+qL/feePFePzZ0bZvjzTLWPj96p9QnbE93cB7zyr0Vc3Oyz3J9Mb4ZKJZfi9T
UL1LMHnC2zQVxwwU9JpbZdtnFcjq+QS1Ca82CQDz6l2YPKGYPH6ybUYdZAX198H+Xl/zZ3NsAkMj
TaM+VrRZh8rdYlF3w3PW3D0aKEOs9MH+XmzccXDWRFMcu6PznsBJ2/qZjTrePjblmz7qqCrM5cy0
/kkxZPF8wtpE0CKgpIozrDx+5wEYDaLK4GJJV0iLPBcOpfGLHmcj7Cj4uYgB8eolzOUsbv0XPTrq
FLLoH0W6IYaVx+u8k+5GHaedOse33WVZNi5iikheS4XT+kXPeqQb9Lodp0OHvdbHqf8yjI46hSz6
R5GmuLDy2P9v8THPjE1MTr85e7W7MpgZqdwd5GFyCVt9akrcjbBN8fvx6O1uxKojkx+jqPWfVl0S
M9LuH0Wb4sLKY5s//d5gnbjbXdFlA6jcExPVLBDlFz3o3lm/aaT945HFj5FJXUZ5PjTxhJNmHZm2
iTh5piWn36SuF05lfvX5Pbh31wuzVrPnGcmVyj0BccwCpr/oJvfO8k0j7R+PLH6MwuoyyvOhiSec
tOvIpE3EyTNNOb1kHD82hTfGZ6+aFStvAHhod3OGYhcAn7gsX2cMTqgmIM6kienEVDvGvMibsLqM
Uoes73CKqKM4eWYt59BIE7fev9fToaHXGlhkmT9jy+RAnEmToNWnSe/daYTVZZQ6ZH2HU0Qdxckz
azkH+3s9FbudR1naEs0yCfAzC5zZqGPFhp2+r5om5pQyTMi0A0F1GaUOWd/hFFFHUcyYYXGh0pSz
10euoJhUebcljtwT4BUKoN4lePvYVOKYFEVv0VUFotQh6zucIurIJE+TuFBpy+kXBsRPsRfRljhy
T4DpZEsc9zyvMANz6/wtjkKUSdyit0QrElPPkiLqyCTPsOiRdnwkOy6MfW0Sjxq3XEEj9t6C2hIn
VFMmzZWjnbjdHt0R86UKbcyvz3lhlw1AquXOesX4jHtyQrUY0gzJ22mREhn2N3+q0Mai9C27bGmX
O6tQ3EkIVe4i8l0ReVVEnvQ5f5WIHBGRvdbfV9IXs31I0y5Zlln3vKiComk3qtDG/OzffmTh0VLG
ORsTm/t/B3A3gHsC0vxEVa9PRSID0n51d9/v6vN7Ym2Cbd9nYvI4apYNzm1vc+Z1ZqMOkVa4Xjt9
t3VsbHwyl1n/uGRhPgnaMGTFhp2eedCMk4w4HjBlq3M779se2Ge0e1rQQiQF0Ld2G2oiWP6++Xjq
5bem57zmz6vj9t+90Lesp87pmh6chKXNg9CRu6r+GMDrOchiRNqv7l73+/6uFyLf33kfoDVrbv9y
OxW7M6+xicnpBmY3SvtYXrP+ccjKfNI9r+57zisPmnGSE3XEWdY6H+zvxV/+qw+GjuDtXZaOvuMf
zhpo9b2f/fL1WXsmrHlw36yyeu31+s7kiRilSJe0bO5Xish+EXlERC5M6Z6epP3qbrJPo8n9TeSK
siekE+duUGWY6MrKfBI26DKpT5pxomG6qM6mzHXuVZZPL186q2yPPzvquwlNGJPHdVZZy1onabhC
7gGwVFWPisgqAEMAzvNKKCKrAawGgKVLl8bKLG1bmel1YelM5Ioro3s3qKJJO2CXzRGPXe6D8qiC
vbgMRIlRVPY6NymL3y5LprjLWtY6SazcVfVNx+ftIvLXIrJAVX/jkXYzgM1AyxUyTn5pr5IL2nEl
yv1N5DLNK2reUfBSugAizTnECdh16/17Mfz86/izwYsDyxlWPyb1WYY5iaoSd1V2mYjbD53Xm9yv
6HaY2CwjIueIiFifL7fu+VrS+/qR9qy0yUy7yf1N5Io6q2+atyle9tI1P9yHNQ/uizTnEFZWr9dU
BXDvrhcCbbNh9WNSn2WYk6gyWa7KzguvMpgqwnpNZrWvsrbD0EVMInIfgKsALADwCoDbAdQBQFU3
icgXAXwBwBSACQB/rKr/LyzjJIuYyu4tE3RdFG+ZtEdAQVvnheGOaOdVDlvmoDxs7yG/enLf99jU
cYxbk1NeHgh+dV42j44q4a5bP8+TmghOqKZW/6bP1E7XHJsw8lqz7zX8/Ou474kXcVw1srfM0Ehz
xmryLgFOaDarU00XMXGFagcRZSWfG7+VdmF7TXrRqNeMVgYm2Ve13VddthMm7Spp/Zs+06D2mGUb
yDNfrlAls0hiA/S7NqoHkB3nw4mfZ0FcL4Syei9UFZN2lbT+TZ9pUHvMsg0UlW8QVO4dRFwbYJD9
MIpHQKNe811kkmaM9bJ6L1QV07mkJPVv+kzjto2kFJVvEJWOCpmG3TWqHb1o+27Yvqt3/M1TgfZR
Ezu3Mx9TM4/T1p40xvrcepevZ8bQSDPWyl4TL6Iwm22ZTD5R5YtafifGERIF+NOhA0bzWW55uufV
Pdvt3HoX3r9u+7SdfN4pNbx9zP9NsksEQyPNROYhp20daPURP/lsivCcqazNPQ27q8k9ymTfTSov
YBYpL6qd3TkZG6W+hkaaWPPDfaELToLkD8vDT6Z6lwDSWrRikk+ZbPpR22TU8ptsTm3y3PzuaSpP
FwCvdaC1LsHxgLzjPqugcnVJ679XtvWaYONNH6TNPS3SsLvGXXValI3NRJagFYlp2DXF9d1t0omy
InKwvxenzw1/uQyK9Ae03kqirrqcPKEzFElYPmWy6UeVL2r5wzB9bn739JPntFPmzGg3sxqbxYkT
Or2XqWmeJmzccdD3B+uEwvct9rRT5hTyo19Zs0wadtckq06LsLGZyuK3ii+pXVMAfP2Tl4S+ykdZ
ETkW8KprIhPQWuEblF8abSLqfbIkaptMq/xOTJ8bMDswnF8eRyYmsff2a6e/963d5plOgek3RT9P
nqBgdH6Eld3PCGKvvM7blFdZ5Z7GqrEkq06LsLEllcX0+qB0URR3Epn8ZIxT/igrFpPkkxdR20Gc
8seVwQ974VPQte68az62/ZqcHNIHyeHM06TNhpXJT55F3Q3PVdtR8o5DZc0yfjP4b7z9Lvq/+ijO
XbsNKzbsjLxissyrJJPKYnp9nHyGRppYsWGnUb2H5eXGzjtIrqGRJi6541H0rd2GvrXb0P/VR6dl
8Ft1Wa+J573K9My98CvP+LEpz/r3S9/lMnvUu2auzrSfad/abXj/uu3oc9x7zcplLTt5BCYmj2P9
1qeM6/dTVyzxvM/y980PLJs7z9se2GesD/zKVK8JPnXFEk+5rz6/B7c9sC93U15t/fr1md08iM2b
N69fvXp1Zvc/f+EZWDy/gV3/8BremTo57TJ5QqfDcb71zhT+79+NYvH8Bs5feIbvPQ40j+DoO1Po
7W7gK797wYxfWpM0eZFUFtPro+Zjj1peHz8GILzevfJyP0eb+fPq+I+DF2Gwv9dXLgBY88N9GHd0
rncmT+Bvn30FS8+ah8H+3lnXrf/Yhbj2gnM8y1imZ+6FW77uRh2TJ05Me5G469+rPNd/cCGePvzm
jAnCWpfg2gvOwfkLz5j1TO1k9r0/9Ftn49oLz5nx3ObPq+OmyxbjtaPH8JZPyN13pk7guovOwYd+
6+zQ+r3m/LPxi+dew4tvzBxN/+boMc+y+eXplj1IHyw9a96stjh/Xh1//vGL8e+v/iez6nHVB87B
Q7ubOHbcOwTw0XemcMuH/qnnOT/uuOOOw+vXr98clq6y3jI2Jkvu3UvrSbr4PYMo9Z7kHkFtoBOe
fZy6C7smrF+F1WtazyRK2UzDb6TZJpLWkxem3jKVsrl7TViYTAA1xyYS+b6aypL1yK6svtdJJ/KG
Rpq+HcTkHkFp7Im1stVZmpjWv7P9+A357L4SZ9GOO25QVHmjpPV6rmtWLjNy4fVrE3H6V1BZsjbl
Vcbm7rdDTNDuPk78otjFsRUXsVtNWXfIAZJtHmyXK+q9TdMIUMo6SxOT+ne3nyBM+pU7T69dyKLK
GyWt13MFMMMN1znxGnbtnw4diNW//OQLc89Ng8qYZfxef7obdbw7dcJowY1X5MOgBT9+kST9Vuhl
aQIIej11rgz1i5KXJX6LnuzVr4D/Ssig11qvBVp+ESJNF9UA1TPVmCxqihoxNKhfeS0S8ru/YKZ/
uP3dtH16lc19TxuT/u13rZ8nTFhbyWKRY8eZZYJ8Y52+12c26r6jBvc9/BaDrN/61IyGbcdAt4kS
PyUtgl5PnY3Lli0PVywb+/7uZdtvjE9izQ/3zVh56JYrqM6CVt7aserv+JunMDY+6RlWwW+5eFn8
1dPCHR7Ay6QQtczOfmUyaPC7v63Im2MTMxSr6QYvXmUzNeFFudavT4eZ9bza/tx6PgaTyij3KL7X
fqMI9yuUX4MMeqUMkzEr/MrvFYXRxnbFymP0bq+Added12jaKZdfuXqt52rjt6rRVuBjE5No1Gv4
xicvCR2tlsVfPU3C1h9E9Us/s1GPtKYh6Dn6TdDaG7wMvPeswHzi9u8o1/qN3G0TDhA8YHrX4V3z
xvhkLgOrytjco/gem6ZNs5NnPXniVya/EYdNnqPUOBNlps/K5N5uv+Ky+6vniVddBHmpv31sKtLc
RFhdB43so/qCJ3muftd6+bB7mXBMwynkEa6iMso9aswSk7R+D3q+4SRtTcRoR/k08CtTUIwNIN9R
apyJMtNnZXpvpxKJ0maqjlddBA0LJo9rJOUUVtdBzy/qACTJc/W79s8GLzaun7JsoF2ZCdWs8AuF
GuZSVZYogUXtTGMqS5Log2H39qJqk6VZEjbJ6rc7VxyGRpq49f69RhOhZcHUxz6NdR5OOm5CNSuC
7Ipp7LuaNc5Jo6K8ZbxkiRM3PMq9z2zU8faxqVk/Gp1ocolLmF94mm99g/29GH7+ddy764UZCr7M
z8yrfvzCdZikSxuO3EllKeuirnbCa3MKILu3vnZ7ZlE37U6jXNwgmxCSGu2mdKtMamYZEfkugOsB
vKqqF3mcFwB3AVgFYBzAZ1V1T3SRw3GPIrwWwZzZqEOkFU86aOmw24wS9t3dmIMWzEQ5nla9+OXp
VV9O33C/83HKF5RXFPmD6j5pPQZd714e72xHWZvdnHnPrXdhYvKk69xpp9Tw8Ut7Z+UPzPSf7pLW
phG9PufrXYDjtjjtlBr+/OOzd0GKu92gs87sz2+MT87wKvHrs841CHY5wq6L2r+StNEgyvrDFzpy
F5HfBnAUwD0+yn0VgP+AlnK/AsBdqnpFWMZRR+5+qwy7pBWtzr1rjE2jXsMnLuvFQ7ubxtvC+d3H
fg31W3XmlU/Q8TRea4Nkuf/nL86qL3vLLwCe9VmvCT75z5ZEKkdYXkFlNJkITWt7u6hbDAaRplki
6raFQGsi+riq57ZuJudtal2Cv/yXH/Rt11G3GzQhrM9Guc60f/npj6Rb4BWxzWaqZhkR6QPwsI9y
/68A/o+q3md9PwjgKlU9HHTPqMo96vJoJ34LEKISFhEvaPOArMIRRJXFzhfw3nAi6Nqox+284kYH
NJXZtB6DvBb87h0mUxpeHEnadhqYRnp0XwNEr7MsMOlfWUUGTdsTxoQ8vWV6Abzo+P6SdWyWcheR
1QBWA8DSpUsjZZLEJzQNxe6UwU8Wv3yyDEcQVRaTfKOWI0lepnWQxvZ2afsbp+WnXHS4g7B2HXRN
GTDpX1ltj1imbTbd5LqISVU3q+qAqg709PREujaJ25Vf9Leo2DIERXqLcjwNV7KostjXBOUdtRxh
eQURZdu2JNElg9KF1UfU+xV1n6T5R11kVrTcNib9K0jWJOVI2iazJA3l3gTg3O9qsXUsVfy2uOoS
zNoOzYnf0uGoOP1SoyxRDjqehp9rkCxe9VWvyXRsa7/zUcsRlldU+d2ktb1d0PUmcsTNN45cYXht
gxflvE3NsXVeGtsNmhDWZ6NcZ9q/gtp7kudY5hAWaZhltgL4ooj8AK0J1SNh9vY4eEVXi+ItM/De
s1LzlgmKsufOJ+x4WvXil2eYd4Df+ajlMMnLVP4wz5S49WgSHbEIbxm3XEV5y8RdZFYGb5mw/hWk
P5I8R5M2VRQm3jL3AbgKwAIArwC4HUAdAFR1k+UKeTeA69ByhfycqobOlNLPnRBCopPahKqqfirk
vAL4wwiyEUIIyZjKRIUkhBByEip3QgipIFTuhBBSQRjyNyeSxJ8oa+yKpFS1XCQYPvd8oHLPAa/N
m033UExybZmparlIMHzu+UGzTA4k2UOxqP0Xs6aq5SLB8LnnB0fuOZAk/oTJte34mps0JkdRZW7H
ui4TZY7FEkQ7PneO3HMgSfyJsGvt19zm2AQUJ19zo+xMXwRJ6qSoMrdrXZeJMsdi8aNdnzuVew4k
iT8Rdm3+PE/tAAAGz0lEQVS7vuYmqZOiytyudV0myhyLxY92fe40y+RAkvgTYde262tukjopqszt
WtdlosyxWPxo1+dO5Z4Tg/29sRtw0LWLuhuemwWU+TXXJm6dFFXmdq7rMpGkLxRBuz73ypplhkaa
WLFhJ85duw0rNuz0tY+Zpkv72rRox9fcpBRV5k6sa5Luc89TZ1Ry5G7qS1sF//N2fM1NSlFl7sS6
Juk997x1htEeqlmQZchf030Nk+x/WMTeiYSQ9iUtnWEa8reSZhnTCZCs/c8JIcQmb51RSeVu6kub
pf85IYQ4yVtnVFK5m06AZOl/TgghTvLWGZWcUDWdAMnS/5wQQpzkrTMqOaFKCCFVpaMnVAkhpNMx
Uu4icp2IHBSRQyKy1uP8VSJyRET2Wn9fSV9UQgghpoTa3EWkBuC/APgwgJcA/EJEtqrq066kP1HV
6zOQkRBCSERMRu6XAzikqv+gqscA/ADADdmKRQghJAkmyr0XwIuO7y9Zx9xcKSL7ReQREbkwFekI
IYTEIi1XyD0AlqrqURFZBWAIwHnuRCKyGsBqAFi6dGlKWRNCCHFjotybAJY4vi+2jk2jqm86Pm8X
kb8WkQWq+htXus0ANgOAiIyKyPPWqQUAZqRtE9pRbsqcD5Q5HzpR5veaJDJR7r8AcJ6InIuWUr8Z
wL92JhCRcwC8oqoqIpejZe55LeimqtrjuH7YxG+zbLSj3JQ5HyhzPlBmf0KVu6pOicgXAewAUAPw
XVV9SkQ+b53fBOAmAF8QkSkAEwBu1qJWRxFCCDGzuavqdgDbXcc2OT7fDeDudEUjhBASl7KsUN1c
tAAxaUe5KXM+UOZ8oMw+FBZbhhBCSHaUZeROCCEkRQpX7mFxa4pCRJaIyOMi8rSIPCUif2QdP0tE
HhORv7f+z3dcs84qx0ERWVmQ3DURGRGRh9tBXkuObhF5UESeFZFnROSfl11uEbnVahdPish9IjK3
bDKLyHdF5FURedJxLLKMInKZiBywzn1TRCRnmTdabWO/iPwvEekuu8yOc7eJiIrIgtxlVtXC/tDy
vvklgPcBOAXAPgAXFCmTQ7aFAC61Pr8HwN8BuADAfwKw1jq+FsBfWJ8vsOQ/FcC5VrlqBcj9xwD+
J4CHre+llteS5XsA/p31+RQA3WWWG60V2s8BaFjfHwDw2bLJDOC3AVwK4EnHscgyAvg5gOUABMAj
AD6Ss8zXAphjff6LdpDZOr4ELS/D5wEsyFvmokfupY1bo6qHVXWP9fktAM+g1alvQEsZwfo/aH2+
AcAPVPVdVX0OwCG0ypcbIrIYwEcBfNtxuLTyAoCInIlW5/gOAKjqMVUdQ8nlRsvTrCEicwDMA/Ay
Siazqv4YwOuuw5FkFJGFAM5Q1V3a0kD3OK7JRWZVfVRVp6yvu9BaSFlqmS2+DuBPADgnNnOTuWjl
bhq3plBEpA9AP4AnAJytqoetU78GcLb1uQxl+QZajemE41iZ5QVao5dRAP/NMid9W0ROQ4nlVtUm
gP8M4AUAhwEcUdVHUWKZHUSVsdf67D5eFP8GrVEtUGKZReQGAE1V3ec6lZvMRSv30iMipwN4CMAt
6gizAADWL2wp3I1E5HoAr6rqbr80ZZLXwRy0Xmm/par9AN5Gy1wwTdnktuzUN6D1w7QIwGki8mln
mrLJ7EU7yOhERL4MYArAvUXLEoSIzAPwJQCF7mtRtHIPjVtTJCJSR0ux36uqW6zDr1ivULD+v2od
L7osKwB8TER+hZZ56xoR+T7KK6/NSwBeUtUnrO8PoqXsyyz3hwA8p6qjqjoJYAuAK1FumW2iytjE
STOI83iuiMhnAVwP4PesHyWgvDK/H60f/n1Wf1wMYI+0wrTkJnPRyn06bo2InIJW3JqtBcsEALBm
qr8D4BlV/Zrj1FYAf2B9/gMAP3Icv1lETpVWHJ7z0JogyQVVXaeqi1W1D6163Kmqny6rvDaq+msA
L4qIvQX87wB4GuWW+wUAy0VkntVOfgetOZkyy2wTSUbLhPOmiCy3yvoZxzW5ICLXoWVu/JiqjjtO
lVJmVT2gqv9YVfus/vgSWs4Zv85V5qxmkE3/AKxCyxPllwC+XLQ8Drn+BVqvrPsB7LX+VgH4RwD+
FsDfA/jfAM5yXPNlqxwHkeHsvIHsV+Gkt0w7yHsJgGGrrocAzC+73ADuAPAsgCcB/A+0vB9KJTOA
+9CaE5hES8H82zgyAhiwyvlLtMKMSM4yH0LLTm33w01ll9l1/lewvGXylJkrVAkhpIIUbZYhhBCS
AVTuhBBSQajcCSGkglC5E0JIBaFyJ4SQCkLlTgghFYTKnRBCKgiVOyGEVJD/DwYsWx/PVJ/nAAAA
AElFTkSuQmCC
" />
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [39]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">cluster4</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="n">cluster4</span><span class="o">.</span><span class="n">fringe</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
" />
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [43]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">cluster5</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="n">cluster5</span><span class="o">.</span><span class="n">fringe</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
AAAAAElFTkSuQmCC
" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-15702015193656645152017-08-08T13:49:00.000-05:002017-08-08T13:49:23.874-05:00Updating my questions to students asking for letters of recommendationThis is not an original idea of mine, but I wanted to share what my process is for writing letters of recommendation for students. When a student asks for a letter, I send them a standard set of questions to fill out so that I can write the best letter possible. For many students, I don't need extra information, but I have been pleasantly surprised to find out that students I thought I knew well had additional things I could write about which I learned about through this process.<br /><br />
I'm sure that I stole the basic list of questions that I ask students to answer to help me jumpstart my letter writing process - but I can't seem to remember who I stole it from. If you're out there, let me know - and THANK YOU.<br />
<br />
This year I'm explicitly putting in the top two <b>required</b> questions so that I can have a much better handle on the letter requests. Last year there were some letters that I sent way too late because I wasn't aware of the deadlines and I had <i>assumed</i> (mistakenly) that the students asking for the letters would at a minimum inform me of the deadlines.<br /><br />
This is the standard text I send to the student asking for a letter:<br />
<blockquote class="tr_bq" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br />The following two questions are required, and I need to hear
back on them as soon as possible:<br /><o:p> </o:p>When does this letter need to be submitted? (In other words, what is my deadline?)<br /><o:p> </o:p>What is the method of delivery of the letter? I need a web link, or email address, or a
postal address to send the letter to. I
cannot hand the letter to you in most cases.<br /><o:p> </o:p>The following questions are not required, but will be
helpful to me in best writing a letter for you. Answer as many as you think are
relevant:<br /><o:p> </o:p>1.)<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->What
do you think you have demonstrated in my classes that I should praise? (Think
about your contributions/performance during class/lab – how did your
contributions make the class community better?)<br />2.)<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->How
have you demonstrated independence, initiative, responsibility and maturity in
my class?<br />3.)<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->What
is your intended field of study or work? What is your experience in your
intended field? (Classes/workshops/jobs have you had related to what you are
trying to go into?)<br />4.)<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Was
anything in my class or classes particularly challenging or eye-opening?<br />5.)<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->What
was your favorite topic/chapter/unit/project that we did or discussed in class?
Why?<br /><span style="mso-bidi-font-family: Cambria; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: Cambria; mso-fareast-theme-font: minor-latin;"><span style="mso-list: Ignore;">6.)<span style="font: 7.0pt "Times New Roman";"> </span></span></span><!--[endif]-->Is
there anything specific that you want me to address in my letter?</blockquote>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<!--EndFragment--><br />
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-39474736841381482972017-03-19T13:34:00.001-05:002017-03-19T13:34:39.254-05:00Slides and supplementary material from my CS-AAPT presentationI presented the lab we recently did in class at the Chicago Section AAPT Spring meeting. The lab was another one of my "single-sentence labs" which basically came down to:<br />
<br />
"Measure the capacitance of a aluminum foil parallel plate capacitor as you vary the separation of the plates by using your textbook."<br />
<br />
That may be more detailed than what I actually wrote on the board in class, or it might be less detailed. I don't really remember.<br />
<br />
All we did in this lab was make a capacitor by putting sheets of foil inside the physics textbook and measure the capacitance with multimeters that we had in the storeroom. The meters had the ability to measure capacitance. We were measuring capacitance in the nano-Farad range.<br />
<br />
I thought the lab was a great learning opportunity for the students and for me, so I wanted to share that with other physics teachers. I got a request for the materials and lab instructions that I used for the lab. Since I do "single-sentence labs" there really isn't a set of lab instructions to share, but I put together my notes from what we did after the first time through the lab. <br />
<br />
<a href="https://www.dropbox.com/s/rdurf41d2becp1r/Handout-Capacitor%20with%20Measurement%20Uncertainty%20lab.pdf?dl=0">Here are the slides for my presentation with some extra notes added.</a><br />
<br />
<a href="https://www.dropbox.com/s/3os2rfpm4taqn1s/uncertainties-measuring-capacitance.pdf?dl=0">Here are the notes I used in class for discussing aspects of uncertainties in measurement.</a><br />
<br />
Thanks to <a href="https://twitter.com/DrDawes">@DrDawes</a> for the suggestion of the lab! I'd love feedback from anyone who does this lab (or similar) since I plan to do this again in future semesters.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-23903680.post-29666992036241740042017-03-08T23:20:00.000-06:002017-03-08T23:20:06.695-06:00Traditional physics teaching is not always a virtue, but neither is being an arrogant physicist<i><span style="font-size: x-small;">(This turned out to be a lot longer than I expected it to be. The tl;dr version is that I agree that creativity in physics classrooms is important, but I disagree with much of the narrative of the Physics Today commentary by Ricardo Heras.)</span></i><br /><br />In his Physics Today letter <a href="http://physicstoday.scitation.org/doi/full/10.1063/PT.3.3477">"Commentary: How to teach me physics: Tradition is not always a virtue"</a> Ricardo Heras lays out all the ways in which he believes his first two years of undergraduate study have been a disappointment. He feels his professors focused too much on textbook problem solving, that he was overwhelmed with the workload which forced him to resort to memorize equations, and that the first two years had no room at all for creativity.<br />
<br />
First, I'd like to say that it was pretty bold of Mr. Heras to characterize the entire University College of London department of physics and astronomy as a group of faculty which discourages students from engaging in deep learning and understanding of physics and to make that characterization in one of the most widely read magazines by physicists around the world. I wish him well in his last two years at UCL if he is intending to remain there. It's also a pretty bold claim to make that your creativity was stifled when in addition to the Physics Today letter, you had three manuscripts (<a href="http://dx.doi.org/10.1088/0143-0807/37/2/025603">1</a>, <a href="http://dx.doi.org/10.1088/0143-0807/37/6/065204">2</a>, <a href="http://dx.doi.org/10.1088/0143-0807/38/1/019401">3</a>) published in the European Journal of Physics as well as <a href="http://www.sciencedirect.com/science/article/pii/S138410761500086X">one publication</a> in a journal called New Astronomy. (I know nothing about the last journal.) I mean, every physicist has at one time in their life been accused of being arrogant, but you don't need to go out of your way to do so before finishing your undergraduate studies.<br />
<br />
That is not to say that his experiences were not real or that his opinions do not matter. As an instructor of physics, I know full well the value of feedback that I can receive from students. I also know what feedback is meaningful and what to ignore. (Also, I know when students are hitting up the thesaurus to write a lab report. "Vicissitudes"? Really? Anyway....) But to address his points and taking them at face value, I would agree that:<br />
<br />
1.) problem solving alone is not enough to learn physics and that<br />
2.) we need to make more room in our curriculum for encouraging creativity<br />
<br />
A surface reading of the commentary would yield little to disagree with. Let's dig a bit deeper, though.<br />
<br />
Mr. Heras quotes Feynman many times in this brief letter: five times he quotes Feynman by my count, he has two other quotes which are <i>about</i> Feynman and he has one quote from Noam Chomsky. Of the two main scholars he discusses (Feynman and Chomsky) both are sometimes put on pedestals, rightly or wrongly, as examples of the Lone Genius. This is not the first time that Mr. Heras has discussed <a href="http://physicstoday.scitation.org/do/10.1063/PT.5.2003/full/">his belief in the importance of physics as an individualistic pursuit</a>. When that letter appeared in Physics Today, there was a bit of discussion online including <a href="https://blogs.scientificamerican.com/the-curious-wavefunction/are-physicists-individualists-or-collectivists/">this post at Scientific American</a> and this <a href="http://scienceblogs.com/principles/2013/10/30/individualists-working-together/">response by Chad Orzel</a>. Both of the responses presented a more nuanced view of the history and present physics research environment; a nuance that comes, I will add, with the experience of being immersed in the physics community.<br />
<br />
If he cares about physics education, he should be engaging with the physics education community, which is generally not well represented in Physics Today. Mr. Heras seems to care more about engaging with the physics community without bothering to learn about physics education reforms of the past ~40 years. On the one hand, he publishes in the European Journal of Physics (which has a mission similar to the American Journal of Physics), and he knows quite a bit about what he has published. I read the papers on the Lorentz Transformation that he authored, and there is little doubt that the physics contained within is solid. But, as evidenced by <a href="http://iopscience.iop.org/article/10.1088/0143-0807/38/1/018001/meta">his reply to a critique of one his papers</a> he does not show an awareness of the pedagogical content knowledge necessary to teach these topics to students seeing them for the first time. A real irony of all of his complaining about "traditional" physics instruction (with the rote problem solving methodology) is that the type of physics he is most interested in are the highly theoretical mathematical branches of physics, which lends itself naturally to solving some intense textbook problems.<br />
<br />
For another example, see the special course he taught last summer on <a href="http://ricardoheras.com/em_course/">Classical Electrodynamics and Symmetry principles in Maxwell’s Equations</a>. He claims that "<span style="background-color: white; color: #333333; font-family: "Open Sans"; font-size: 14px; text-align: justify;">Electrodynamics is a very exciting subject to learn. Unfortunately, Maxwell’s equations...are often taught in a rather dull manner, which usually involves solving a lot of mostly uninteresting problems without emphasizing the pivotal role symmetry principles play..." </span> The class is described as appropriate for advanced undergrads and beginning graduate students. The recommended textbooks include EM books by Griffiths, Jackson, and Schwinger, among others! And this is supposed to be a summer course? I find it hard to believe that this course can be successful in helping more<br />
<br />
He points out that he learned more by pursuing a topic he was interested in than by calculating the electric field of a spherical charge. Yet he shows little awareness of WHY students are asked to pursue simple models such as spherical charge configurations. (It's baffling to me, for example that someone so enamored with special relativity would not see the usefulness of exploring the electric field of a charge configuration). In my classes I am constantly reminding students to ask themselves what they learn by doing the problems we choose. Some of our best students are limited by what they are not even aware that they don't know - developing metacognitive skills is a critical part of a student's growth which does not show up in any physics syllabus, yet is important for reaching full potential as a physics major.<br />
<br />
Mr. Heras is probably not a typical physics student. He spent some of his pre-college years teaching himself physics. I have no way of knowing how firm his conceptual understanding of basic physics concepts was before starting his university studies. But I have met several students through my teaching career who were honors students and had tried teaching themselves advanced physics before getting to college. There is, of course, nothing wrong with this, but occasionally the student has to un-learn some wrong ideas they thought they knew before getting to my class. It may be possible that the "time crunch of the heavy course load" Mr. Heras experienced was exacerbated by having to undo some misconceptions that he carried into those classes. But more importantly, students that have spent so much time before starting college learning physics do not represent the vast majority of college physics students. It is unreasonable to call out the physics professors for not tailoring their classes to a single student's preferred methods of learning on the <br />
<br />
I have some additional thoughts about the context of a few of the Feynman quotes that he included in the letter, but I feel like I've already said plenty.<br />
<br />
I feel bad for any student who has a disappointing experience learning physics. But every day is an opportunity to engage in learning and being creative. He has some valid points, but I feel that he is not representative of the vast, vast, vast majority of physics students in the first two years, nor does he have the experience or knowledge of current physics classroom techniques to be criticizing how physics is typically taught.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-38541477123480349452017-03-07T21:41:00.000-06:002017-03-07T21:41:10.886-06:00Calc III and me - still thinking about what I learned.I have an idea for a series of posts where I write down all the stories that I end up repeating frequently to my students. At the encouragement of @profnoodlearms on twitter, I'm writing down a story that I tell my students (and sometimes colleagues) based on an experience I had as an undergrad taking a math class at the University of Northern Iowa. Here it goes:<br />
<br />
Calc III was the first math class where I needed to copy down everything the prof wrote on the board. It was the second math class I took in When I got to class on the first day, the professor walked in and started to fill up the blackboards with notes. Seeing boards filled multiple times wasn't what was new to me. What was new was that I was in a math class, and the notes had as many full sentences as there were equations. In a one hour class, the professor probably filled four sets of full-sized boards at least three times.<br />
<br />
That first week, I just wrote down a few things that I thought were important. I was trying to use the strategy of listening closely, paying attention to what I thought were the most important points and writing those down in addition to anything that didn't make sense. I felt that strategy was compatible with how I had previously learned math, so I figured it should work for Calc III as well.<br />
<br />
There was a quiz at the end of the first week. I got the quiz back on Monday of week 2. When I saw how poorly I did, I thought to myself: “Message received!” I changed my note-taking and studying habits. I immediately started copying down EVERYTHING that the professor put on the board. My hand was hurting with the amount of writing I was doing. But, the changes I made in class and in studying paid off. I did much better on later quizzes and exams.<br />
<br />
A week or two before finals I was waiting for class to start and I overheard two students talking behind me. “I haven’t been to class for awhile. What’s going to be on the final?” one asked. The other said, “I don’t know, I haven’t been here for awhile either.” I was blown away. I could not comprehend missing a single class and being able to keep up, yet somehow these other students felt they could miss several classes in a row.<br />
<br />
By the end of the semester, when I heard that conversation between the other two students, I realized that I was thankful the professor had made it clear I needed to study from the start of the term. It forced me to keep up right from the beginning of the term. I also learned (in retrospect -- I didn't appreciate it at the time) that sometimes you have to adjust your study and learning habits in order to be successful. The sooner you can make that realization the better off you will likely be.<br />
<br />
When I relate this story to colleagues, I have two main points that I think are important:<br />
<br />
1.) There is value in giving an assessment and getting it back to the class as soon as possible. Students will have a chance to realize they need to adjust their studying sooner rather than later.<br />
<br />
2.) When colleagues talk about how students today don't study as hard as they did in their undergrad years, I point out that probably when they were in class there were more students like the ones I overheard than students who were as studious as they were. After all, we are the ones who became faculty.<br />
<br />
So that's it! Part 1 of N in a series of stories I often tell my classes or colleagues. Now all I need is a catchy name for this series...<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-66164491834338188742016-09-12T13:14:00.002-05:002016-09-12T13:14:33.847-05:00Day 11 - PHYS 201 and PHYS 110; A favorite physics puzzle<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/uYoDYJ_5gTE/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/uYoDYJ_5gTE?feature=player_embedded" width="320"></iframe></div>
<br />
Last Thursday was Day 11 in Physics 201. We have wrapped up discussing vectors, so the next topic is projectile motion. To start this topic, we got out the ballistic cart apparatus and had the class investigate: traveling on a horizontal track vs. on an inclined track AND dropping the ball vs. launching the ball from the cart.<br />
<br />
This is one of my favorite physics puzzles to explore in introductory physics. I heard at least two groups talk about how their trial "didn't work right" because the cart caught the ball when it was going down the incline. So, they made the angle larger and then tried again - and again were surprised when the cart caught the ball. Great investigation technique here by the students - now we have to work on the analysis.<br />
<br />
In Physics 110 we finished up talking about the first five conceptual objectives - including talking about homework questions and practice assessment questions. In terms of new material - we defined longitudinal and transverse motion of coupled oscillating systems. In the previous class we had the air table out (no photos) but this day we used the PhET simulation to explore coupled oscillators:<br />
<br />
<div style="height: 197px; position: relative; width: 300px;">
<a href="https://phet.colorado.edu/sims/normal-modes/normal-modes_en.html" rel="external" style="text-decoration: none;"><img alt="Normal Modes" height="197" src="https://phet.colorado.edu/sims/normal-modes/normal-modes-600.png" style="border: none;" width="300" /></a><br />
<br />
<div style="background-color: white; filter: alpha(opacity = 60); height: 80px; left: 50px; opacity: 0.6; position: absolute; top: 58px; width: 200px;">
<br /></div>
<table style="height: 80px; left: 50px; position: absolute; top: 58px; width: 200px;"><tbody>
<tr><td style="color: black; font-family: "arial" , sans-serif; font-size: 24px; text-align: center;">Click to Run</td></tr>
</tbody></table>
</div>
<br />
We also got out the snaky springs to discuss basic wave behavior. Working as pairs, the class explored the following ideas: <br />
<ul>
<li>A wave pulse, showing the transfer of energy.</li>
<li>Reflection of wave pulses</li>
<li>Transverse vs. longitudinal</li>
<li>Frequency</li>
<li>Wavelength</li>
<li>Speed</li>
<li>Wave speed depends on the media.</li>
<li>Interference.</li>
<li>Standing waves.</li>
<li>Generation of harmonics.</li>
</ul>
<br />
<div>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-73961449734076901472016-09-07T22:00:00.002-05:002016-09-07T22:00:25.520-05:00Day 10 - PHYS 201Today in Physics 201 we finished discussing all the TIPERs related to vectors. One of the questions involved considering the orientation of the coordinate system. We had good class discussions about that question.<div>
<br /></div>
<div>
Also, I shared my version of the "Problem Solving Process" including this poster hanging in the front of the room:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_mdVhuHX_AjzOBQ29kkk2taftipE_gruSEZ6rceINRgaWOCCdr_-_AA8vmItYq6amT7d6ANKsHhe3fqifvOcvyPygscEXb8YDG63TGakGT9iJmL-FmJEQAlFczkDbykrjie2D/s1600/Problem+Solving+Process.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_mdVhuHX_AjzOBQ29kkk2taftipE_gruSEZ6rceINRgaWOCCdr_-_AA8vmItYq6amT7d6ANKsHhe3fqifvOcvyPygscEXb8YDG63TGakGT9iJmL-FmJEQAlFczkDbykrjie2D/s640/Problem+Solving+Process.jpg" width="451" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br />I guess it is clear that I'm not a graphical designer. ¯\_(ツ)_/¯</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-57012038186469824922016-09-06T23:53:00.001-05:002016-09-06T23:53:30.716-05:00Day 9 - PHYS 201 and PHYS 110What happened to Day 8? I forgot and the Labor Day holiday happened, that's what. :/ (Last class was starting vectors, finishing the intro to coding, and doing the first assessment.)<br />
<br />
Today in Physics 201 we started vectors in the 8:00 am section and got both sections going with the nTIPERs related to vectors. I used the PhET simulation for vector addition to get the discussion going, then turned the class loose on the nTIPERs. <br />
<br />
Here's one student's artwork with the sim:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjazQZ8D4Z657oC9BAbnWqGSGJtq6MAhBf_YyoRWzC27e0FgzO2ZEC02IM3e005f9Z6obuzYtFgbLpy-8HjoWI4bSSoqsk3jH2r-wc3HJ5PZ1kojLX0aJubpADTB2hwLeTVC2F6/s1600/2016-09-01+11.29.55.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjazQZ8D4Z657oC9BAbnWqGSGJtq6MAhBf_YyoRWzC27e0FgzO2ZEC02IM3e005f9Z6obuzYtFgbLpy-8HjoWI4bSSoqsk3jH2r-wc3HJ5PZ1kojLX0aJubpADTB2hwLeTVC2F6/s320/2016-09-01+11.29.55.jpg" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
I like it!<br />
<br />
In the 10:00 am section we had a bit of time to discuss misconceptions from last weeks assessment. I showed some photos of answers given by students on the assessment. Surprisingly to me, the students self-identified their own work. I hope the discussion was positive and productive.<br />
<br />
In Physics 110 we looked at coupled oscillators, including getting out the air table for looking at pucks and springs coupled together. We also finished the work with the IOlab devices and measuring the spring constant with them. We finished up class by doing some end-of-chapter problems from the first two chapters. First assessment in this class will be next Tuesday.<br />
<br />
Onward!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-23903680.post-61691916821731867082016-08-31T23:37:00.001-05:002016-08-31T23:37:10.203-05:00Day 7 - PHYS 201Today in Physics 201 the 8:00am section finished up the TST activities and then did some nTIPERs related to the 1-D motion.<br />
<div>
<br /></div>
<div>
In the 10:00am section we looked at python for the first time. I stole material from Rhett Allain's introduction to coding - starting with the class looking at constant velocity and constant acceleration motion. We used trinket.io, which I think I'm going to stick with as long as possible. Here's the code we started with:</div>
<div>
<br /></div>
<div>
<iframe allowfullscreen="" frameborder="0" height="600" marginheight="0" marginwidth="0" src="https://trinket.io/embed/glowscript/88130c7b12" width="100%"></iframe>
<br />
One note - there was a bit of trouble running the code on the classroom laptops. I'm not sure if it is becuase we use Internet Explorer or because I chose to use GlowScript instead of straight python. I'll need to look at this more.</div>
Unknownnoreply@blogger.com0