Introduction to the Course

Get introduced to the course along with its structure and strengths.

What are Plotly and Dash?

Plotly is a powerful open-source data visualization library in Python that enables users to create interactive and beautiful visualizations for exploring and presenting data. It provides a variety of chart types, including scatter plots, line plots, bar charts, and more, and allows users to customize their charts with different colors, markers, and labels. Plotly also provides an online charting platform where users can store and share their visualizations with others.

Dash, on the other hand, is a Python framework for building web applications. It is built on top of Flask, React.js, and Plotly and provides a simple and flexible way to create interactive and responsive web applications. With Dash, users can easily create dashboards, data visualization tools, and other web applications that can interact with data in real-time. Dash also provides built-in support for interactive controls, such as sliders, dropdown menus, and checkboxes, making it easy to create dynamic and user-friendly interfaces.

Knowing how to use Plotly and Dash in Python is important for data analysts and scientists, as it enables them to create interactive and informative visualizations and web applications. By using these tools, users can explore and present their data in a meaningful way, and communicate their findings effectively to others. Additionally, these tools can be used to build powerful data-driven applications, which can help organizations make data-driven decisions and gain insights into their data.

About this course

In this course, learners will be introduced to Plotly and Dash, two powerful libraries for data visualization and web application development in Python. A hands-on learning experience will be provided throughout the course, with numerous code examples, Jupyter notebooks, and real-world datasets.

The focus of this course is on practical learning, starting with the basics of Plotly. Learners will be taught how to create different types of charts, customize them with various options, and use them to explore and visualize data. Moving on to Dash, learners will be shown how to build interactive web applications with real-time data updates. They will cover topics such as creating responsive user interfaces, integrating Plotly charts into Dash applications, and using callbacks to connect different components of an application.

By the end of this course, learners will have gained fundamental and specific skills in Plotly and Dash, which can be applied to a wide range of data visualization and web development tasks. They will have the knowledge and confidence to create beautiful and interactive visualizations and web applications to communicate insights from their data.

Whether they are data analysts, scientists, or developers, this course is designed to provide them with the skills they need to take their data-driven projects to the next level.

Intended audience

  • Data and business analysts: This course will help them present their findings in a meaningful way and communicate insights to stakeholders. Plotly and Dash provide quick ways to get powerful and interactive visualizations that can be customized as needed for a particular business or domain.

  • Data scientists: They will benefit from this course because it will help them to create visualizations that can be used to analyze and communicate complex data sets, which helps to highlight issues and patterns that will inform statistical and analytical work. This course provides a specific section on visualizing machine learning models which will provide valuable code and skills in understanding the models they build.

  • Data journalists: This course will help data journalists to develop interactive and engaging visualizations to present their data. The skills learned in this course will enable them to effectively communicate stories to their audience. Because Plotly and Dash are open-source and web-ready, these visualizations can be instantly incorporated into their blogs and websites.

Prerequisites for this course

The first prerequisite for this course is the fundamental knowledge of Python programming. We will use familiar Python concepts such as lists, dictionaries, and functions from libraries. We will not define these concepts and assume you are comfortable with this level of Python programming.

The second prerequisite is the basic knowledge of data analytics in Python. For example, we will use pandas to read in DataFrames and use them in the visualizations. We will modify the data for you before visualization, so you do not need to be an expert in pandas. We will assume you are comfortable with pandas and have a basic understanding of DataFrames.

Structure of the course

This course has 12 chapters across the two main topic areas (Plotly and Dash). Within each of these main topic areas, we will first introduce the topic as well as common use cases, then enhance our knowledge with customization and interactivity.

The course is structured in the following key sections:

  • Plotly foundations and use cases: There are two chapters in this section, incorporating 13 lessons. The first chapter introduces the course and its key features and covers a number of plots for visualizing univariate data that is categorical or numerical. The second chapter builds on this to cover bivariate analysis and visualization, including comparing combinations of categorical and continuous variables.

  • Plotly customization and interactivity: There are three chapters in this section, incorporating 14 lessons. The first chapter covers the basic customization of plots, including the title, axes, legends, and customizing hovers and annotations on plots. The second chapter covers subplots where multiple plots can be arranged on a single figure. It also covers layering plots, in which multiple plots are arranged on a single graph overlayed rather than beside or on top of each other. The final chapter covers Plotly’s unique and powerful interactivity elements, where users can modify and change plots, such as using date buttons to filter line plots or custom dropdowns and sliders to adjust the created graphs.

  • Visualizing machine learning models with Plotly: This special and specific section has a single chapter with 4 lessons. These lessons provide valuable tools for visualizing common machine learning model outputs such as feature importances, ROC-AUC curves, and more. This will be especially useful for data scientists to build a repository of useful visualizations to quickly visualize and explore model outputs.

  • Dash foundations and structure: There are two chapters in this section, incorporating 11 lessons. The first of these introduces Dash and how it differs from Plotly but works with it. A Dash app is built before moving onto the second chapter, which covers the structure of Dash apps and how Dash incorporates and uses HTML as well as specific Dash components to bring structure and form.

  • Dash customization and interactivity: This section covers 3 chapters and 14 lessons. The first chapter covers CSS and how Dash uses this web development language to style and position app components. The second and third chapters cover the important concept of Dash callbacks and how they underpin the more advanced interactivity that Dash offers above the elements covered in simple Plotly graphs such as hovers, clicks, dropdowns, and others.

  • Tabular data in Dash: This final section covers a single chapter with 11 lessons. This covers the Dash submodule of Dash DataTable, including how to visualize, customize and create interactive functionality (such as filtering, highlighting, and more) in tabular data.

Finally, the course is wrapped up, and the key learnings are reflected upon.

Overview of key learnings and outcomes of the course

Course strengths




This course provides all the information needed to start from basics with Plotly and Dash to building advanced figures and apps.

Practical first

This course introduces practical coding examples in every lesson and every section. Practical elements are baked in at every step.

Real-world data

This course uses a variety of real-world data, from golf scores to the stock market to world health data. Whilst the concepts and skills can be taken to any industry, there are many real-world use cases covered.

Modular approach

This course builds from the basics to the advanced in a step-by-step fashion. There is no knowledge of Plotly or Dash required to start, but at the end, learners are able to create advanced and impressive products.

Interactive learning

This course offers interactive learning through code-along exercises, quizzes, and assignments. This ensures learners are able to apply the concepts and skills learned effectively.

Extensive documentation

This course offers extensive documentation, including Jupyter notebooks, that provide a clear and concise explanation of the code and concepts covered in the course.

Flexible learning

This course offers a self-paced learning experience, which allows learners to learn at their own pace and on their own schedule.

Project-based learning

This course offers project-based learning where learners can apply the concepts and skills learned in the course to real-world projects. This helps learners develop a portfolio of projects that can be used to showcase their skills to potential employers.