Skip to content

Instantly share code, notes, and snippets.

@chinmaychahar
Last active March 30, 2023 08:38
Show Gist options
  • Save chinmaychahar/0ed22cff050d4329007ef9c679198857 to your computer and use it in GitHub Desktop.
Save chinmaychahar/0ed22cff050d4329007ef9c679198857 to your computer and use it in GitHub Desktop.
Bokeh_Outreachy2023

My learnings with Bokeh

This gist will be used to capture my contributions and exploration journey with Bokeh during the Outreachy Application phase (March - April 2023)

image

Introduction to Bokeh

Bokeh is a Python library for creating interactive visualizations for modern web browsers. It helps you build beautiful and interactive graphics, ranging from simple plots to complex dashboards with streaming datasets. With Bokeh, we can create JavaScript-powered visualizations without writing any JavaScript ourself.

March 7th

I explored the project by skimming through some simple tutorials for installing Bokeh and creating visualizations. I installed PyCharm and used it to create, customize and display plots Along with PyCharm, I also tried to import and use Bokeh in a jupyter notebook.

Guides followed :

Links:

Next, I proceeded to setup development environment for Bokeh in my local machine following the guide shared in the Micro Task I ran into some initial errors but looking at the developer docs and issues in the GitHub repository, I was able to successfully setup the dev environment.

(base) C:\Users\Chinmay>bokeh info
Python version      :  3.9.13 (main, Aug 25 2022, 23:51:50) [MSC v.1916 64 bit (AMD64)]
IPython version     :  7.31.1
Tornado version     :  6.1
Bokeh version       :  2.4.3
BokehJS static path :  C:\Users\Chinmay\anaconda3\lib\site-packages\bokeh\server\static
node.js version     :  v16.17.0
npm version         :  8.19.2
Operating system    :  Windows-10-10.0.19044-SP0

Running into some errors while executing the make.bat file for local documentation setup. Similar to this issue

March 8th

I opened two pull requests and one issue.

  1. Completed this micro task

I decided on a color pallet from this doc and added a accessible color pallet with #12923 to latex_schrodinger.py

Initial color palette Updated color palette
  1. Completed this micro task

Explored legends.py and added relevant metadata. Opened PR #12920

  1. Opened this issue

While going through the examples given on https://docs.bokeh.org/en/latest/docs/gallery.html, I noticed certain broken thumbnails for examples under Bokeh Server subcateogry. So, created a relevant issue and the bug is resolved now 🎉

March 9th - 12th

I utilized my time following up on the PRs I made and making the requested changes. Apart from that, I started with this project and perused through Fundamentals of Data Visualization by Claus O. Wilke

Here is a gist of things I learnt about from this book:

  • It is a comprehensive guide to creating effective visualizations for data analysis and communication. The book covers the principles of data visualization, including data types, scales, and color schemes. It also discusses the use of graphical elements such as lines, points, and bars to create effective visualizations.

  • The book covers a wide range of topics, including the different types of data visualization and the use of different chart types for different purposes. It also provides guidance on how to choose the right visualization for a given dataset, how to design effective visualizations, and how to avoid common pitfalls.

  • In addition, the book includes practical examples and exercises to help readers develop their data visualization skills. It also covers the use of software tools such as R, ggplot2, and Tableau for creating visualizations.

  • My favourite section from the book was Telling a story and making a point wherein Wilke emphasizes on the importance of using visualizations to tell a story or convey a message. The choice of visualization type, design, and color scheme should all be informed by the intended message or insight that the visualization is meant to communicate.

After gaining a fairly good understanding of the book and the task, I started hands-on implementation on this Micro Task. I downloaded and explored a subset of the NYC taxi trips dataset with Bokeh plots.

My implementation can be found here: Colab notebook

I opened a PR #13 to submit the initial visualization task.

Apart from that, I opened this issue #12949 addressing web accessibility of https://bokeh.org/

March 13th

Followed up on #23 and #12920

March 14th - March 15th

I learnt basics of docker and setup the static website for local development.
Also opened relevant PR that closes #23 and made changes to #12920

March 16th

Followed up on my PRs.

  • Made requested changes to #15
  • Working on creating thumbnails for #12923
  • Made requested changes to #12920
  • Opened issue #12972 as I noticed the bug while updating bokeh using pip. Unfortunately, this was a issue of PyPI not recognizing <picture> tag.

March 17th

Followed up on the feedback received

  • Added requirements.txt for the NYC Trip Dataset Notebook
  • Organized the notebook (removed unecessary imports and added instructions whenever required)
  • Updated plots with documentation and labels
  • Added thumbnails for latex_schrodinger plot

March 18th - 19th

  • Added new visualizations to the notebook
  • Added metadata to text.py and opened PR #12990
  • Reviewed more plots from Bokeh's Gallery for accessibility and opened PR #12983 for network graph

March 20th

  • Followed up on PRs #12290 and #12983
  • Started working on recording my contributions and reached out to the mentors for help.
  • Added more visualizations to data-visualization-with-bokeh.ipynb

March 21st - 22nd

  • Followed up on PRs
  • Opened PR #13014 to update metadata in examples/models/toolbars.py

March 23rd

  • Followed up on currently opened PRs
  • Interacted in Bokeh's Community Discourse

March 24th

March 25th

  • Followed up on PRs #13022 & #13026
  • Working on brainstorming timeline for final application.

March 26th - 27th

  • Familiarizing myself with Diátaxis (https://diataxis.fr/) framework
  • Continue working on final application.
  • Trying to solve the make html issue using a virtualbox for windows

March 28th

  • Mailed the project timelines to the mentors for review and feedback.
  • Follow up on PR #12983

March 29th - 30th

  • Final commits to PR #12983
  • Working on the final application
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View raw

(Sorry about that, but we can’t show files that are this big right now.)

@chinmaychahar
Copy link
Author

All plots have been uploaded here

@pavithraes
Copy link

Thanks! We'll share feedback on the issue here: bokeh/outreach-programs#15 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment