This gist will be used to capture my contributions and exploration journey with Bokeh during the Outreachy Application phase (March - April 2023)
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.
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
I opened two pull requests and one issue.
- 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 |
- Completed this micro task
Explored legends.py and added relevant metadata. Opened PR #12920
- 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 🎉
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/
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
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.
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
- 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
- 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
- Followed up on PRs
- Opened PR #13014 to update metadata in examples/models/toolbars.py
- Followed up on currently opened PRs
- Interacted in Bokeh's Community Discourse
- Opened PR for metadata #13022
- Followed up on both PRs #13022 & #13014
- Discussed the makefile issue #12480
- Opened PR #13026 for tile source metadata
- 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
- Mailed the project timelines to the mentors for review and feedback.
- Follow up on PR #12983
- Final commits to PR #12983
- Working on the final application
All plots have been uploaded here