Dash Club 16: Autumn App Challenge, Figure Friday, Improving Plotly Charts, Component and App of the Month
Welcome to the Dash Club newsletter. Dash Club brings essays and updates about Plotly and Dash to your inbox every 8 weeks.
In Dispatch #16
- Version Check
- Seeking Product Feedback
- Autumn App Challenge
- Figure Friday
- Winners of the Summer App Challenge
- Plotly Blogs
- Component of the Month
- App of the Month
- Things Happen
Version Check
- Dash Enterprise Platform 5.4 (announcement)
- Dash Open Source Framework 2.18.1 (changelog)
- Dash AG Grid 31.2.0 (changelog)
- Plotly.py 5.24.1 (changelog)
- Plotly.js 2.35.2 (changelog)
Seeking Product Feedback
The Plotly team wants to better understand how our community uses our charting and graphing libraries. We will use the feedback in our future open-source strategy and planning for upcoming releases. The full survey will take 5–10 minutes, and some questions include:
- How often do you use Plotly/Dash/charts?
- What chart types are missing in the Plotly library?
- What are your favorite interactive features?
Thank you so much for your time!
Autumn App Challenge
We are excited to announce the Plotly Autumn App Challenge that will build on Plotly’s transition to MapLibre, bringing faster performance and increased stability to all of our map-type charts.
We challenge the community to build a Dash app around the data on the Michelin Star Restaurant Guide, provided by Jerry Ng on Kaggle.
Over time, Michelin stars have earned a reputation for prestige, thanks to their rigorous criteria and the scrutiny of anonymous inspectors. These stars are highly sought after because earning even a single star has the power to transform a chef’s career; though losing a star can have just as profound an impact.
The winning apps will be judged according to the following categories:
- Data insights revealed from the data set
- App UI/UX Design
- Creative usage of Plotly maps
- Bonus points for integration of LLMs to gain more data insight
Please submit your app as a new post in the forum thread. Please include a link to the app if possible, code on GitHub, and a short description of the app.
The submission deadline is the end of the day Sunday, November 3, 2024.
The winners will be announced in November and will receive a reward of $125 for first place, $75 for second, and $50 for third place.
Helpful resources for mapping:
pip install plotly==5.24.1
to take advantage of the new MapLibre traces- Migrating from Mapbox traces to MapLibre
- Plotly Maps docs
Sample visualization:
Code for visualization:
import pandas as pd
import plotly.express as px
df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/michelin_by_Jerry_Ng.csv")
# Define marker sizes based on the award
def size_mapping(award):
if award == '3 Stars':
return 30
elif award == '2 Stars':
return 15
elif award == '1 Star':
return 10
elif award == 'Bib Gourmand':
return 5
else:
return 2
df['award_size'] = df['Award'].apply(size_mapping)
fig = px.scatter_map(data_frame=df,
lat="Latitude",
lon="Longitude",
color="Award",
size="award_size",
hover_data={"award_size":False},
zoom=4,
center={"lat":47.6, "lon":2.62})
fig.show()
Figure Friday
📣 We are excited to announce a new collaborative Plotly initiative: Figure Friday.
Every Friday, Plotly releases a data set and a sample figure. The community has one week — until midnight of the following Thursday — to enhance that figure, build their own Plotly figure, or create a Dash app.
The goal of this initiative is to enhance our Plotly skills, collaborate among community members, and share our creations with the world, while we develop our personal portfolio of data visualizations and apps.
Check out the previous data set on the Plotly forum.
To keep track of the weekly data sets that we release, please visit the Plotly forum’s figure-friday tag or join the Plotly Discord server.
Winners of the Summer Dash App Challenge
Thank you everyone for participating in the Summer App-building Challenge. The Plotly staff members who served as the panel of judges were amazed by the quality of the apps submitted. It’s an honor to have such a dedicated community of Plotly Dash builders.
After spending considerable time reviewing and deliberating the apps, the Plotly judging panel decided to grant first place to…🥁
🥇 Community member, Mayara, for her Amazon Analysis Dash app, with the following code.
The app received a 10 out of 10 in the user experience category given its clean design and ease of navigation. In the first tab, the choice of year dropdown, bar chart, and treemap put three essential data points in the user’s main line of vision and make it easy to arrive at fast exploratory conclusions. The app achieves a similar experience with the second tab.
The “Book Recommendation” section generated effective recommendations and it was very enjoyable to interact with. The integration of the LLM capabilities was not only a powerful feature but also tidily and thoughtfully incorporated into the UI.
🥈 Community member, Yazid, for his Dash app, with the following code.
We loved the use of the new Plotly rounded bar chart feature. The app requires some data filtering before getting started, but once the app comes to life, the rich features, dark mode, modal expansion, and amazing styling immediately become apparent.
This app has some of the most powerful filtering capabilities. It’s very easy to explore customer segmentation using the buttons at the top, allowing the user to compare different categories and explore different hypotheses.
Also, kudos on the great use of pattern-matching callbacks on the bar charts as well as the integration of the Highchart map, showing the shipping routes of products between cities.
🥇 Community member, Li, for her Vizro Dash app, with the following code.
Incorporating data cards with key metrics and a snapshot view of the data via the bar chart is a great way to allow the user to understand the distribution of sales by category, product, region, and state. The regional view tab was also particularly powerful for communicating the data, with the combination of a heatmap, data cards, and bar charts.
Exploring the data becomes much easier thanks to the sidebar controls. We also appreciated the thought put into leveraging a variety of visualizations within each one of the tabs. And for the cherry on top of the cake, we loved the colored Dash AG Grid column (“Total Order Value”) in the Customer Overview tab.
Plotly Blogs
Check out these recent pieces from our blog page:
- 6ix Reasons to Choose Plotly for Production Data Apps
- Plotly Is Switching to MapLibre
- Celebrating 500 Million (and counting!)
- Exploring Data Science’s Impact on Portfolio Management in Finance
- Meet Erik Moore: Technical Product Manager at Plotly
Additionally, we’ve been adding to our user story portal, including pieces from S&P Global, Dr. Reddy’s Laboratories, and more!
Component of the Month
Dash Dynamic Grid Layout (DGL) is a new community component built by our community members, @BSD3v and @Pip Install Python.
DGL is a Dash component library that provides a flexible grid layout system for arranging and moving components within a Dash application. Some of the features highlighted include:
- Drag-and-drop functionality for rearranging components
- Resizable grid items
- Customizable layout with responsive breakpoints
- Option to add or remove items dynamically
- Customizable drag handles for each item
- Persistence of component state
- Local, memory, or session storage for persistence
To get started, simply pip install dash-dynamic-grid-layout
and run the code located in the usage.py file, similar to how you would run any Dash app.
To read more about Dash Dynamic Grid Layout, see the forum post.
More on Dash Dynamic Grid Layout: Docs, PyPI, GitHub.
🙏 Thank you @BSD3v and @Pip Install Python for creating this component and sharing it with the Plotly Dash community.
Visit our components index to see more components made by the community! And join our component-builder community by creating and sharing your own Community Components.
App of the Month
The Ireland Gender Pay Gap Analysis App was created by long-time community member, Ann Marie.
This app was designed for job seekers, employees, investors, and researchers interested in detailed gender pay gap information for companies in Ireland. The data is consistently presented for all companies, with links to company-prepared reports that typically explain the factors driving pay gap differences.
The community and Plotly staff praised this app because the control panel on the left and the Dash AG Grid at the lower part of the page make it incredibly easy to explore the data. The horizontal bar chart and the two pay gap cards offer a clear picture of the data without having to scroll.
More on the app: App, GitHub, Forum post
🙏 Thank you Ann Marie for creating this app and submitting it to Figure-Friday week 32.
See more Dash apps or share your own in the community forum’s Show and Tell tag. If you would like your app to be considered for the next edition of the Dash Club newsletter or the Dash Explore Page, please submit it by clicking the Share Your App button.
Things Happen
One of the easiest ways to present data for technical and non-technical audiences is to create a dashboard that neatly displays all of your data visualizations and insights in one place. Adam Schroeder, Plotly Community Manager, built a free 6-session course that teaches how to build dashboards with Plotly Dash.
👪 Love Discord? Join our new Plotly Discord Server to meet other community members and talk about Plotly and Dash.
📊 Check out the two new community Dash graph components that wrap the Nivo dataviz library, built by @PipInstallPython.
🏗️ Fresh out of the over, @PipInstallPython built a 360 Panorama component for dash called dash-pannellum.
🧑🏫 A thorough tutorial on using AI to accelerate building dash app, by long-time community member, @stu.
🌟 Community member, Grozkal, shares a forum post on a customizable template for building interactive web applications using the Dash.
✈️ Domenic, Dave, Monanshi, Eliza, and Michael attended the AWS Summit in Toronto.
✈️ Teresa, Rick, and Gagan represented Plotly at Ai4 in Las Vegas.
✈️ Abe and Mingo had a great time at CDAO Chicago 2024.
✈️ Plotly staff members had the pleasure of attending SciPy 2024 in Washington.
🏛️Ever wanted to build a Parliament chart sample? New community member, Danny, shows us how in this forum post.
📺 Watch Plotly Ships: Data Apps for Everyone to hear from industry experts, Plotly customers, and leadership on roadmap updates.
🎼 Week 34 of Figure Friday resulted in amazing Plotly figures and Dash apps that explored a popular Spotify data set.
💽 Community member, Petro, shares an online quantum nanostructure simulator, built in cooperation with physicists from Wroclaw University of Technology. Read more about the app in the forum post.
💜 Celebrating our top community contributors of August 2024.
📖 Given the ongoing interest in supporting the open-source Plotly and Dash frameworks, we’ve put together a list of contribution opportunities.
💼 Job postings from around the world looking for Plotly and Dash skills.
💡Dash-yada component for creating interactive tutorials for your Dash app. Check out the demo and post by community member, Bryan.
🚃 A thorough article on evaluating the Singapore rail network with Plotly graphs.
Have a great weekend –
Chris (@chriddyp) & Adam (@adamschroeder)