Customizing Visual Styles in Plotly

Overview

Customizing Visual Styles in Plotly

Code for a workshop originally developed for an Unconference session during the Outlier Conference hosted by Data Visualization Society.

To jump right in:

Fork this repository, or download the Jupyter Notebook file Styling_Plotly_Themes_Templates.ipynb.

Ever have that feeling that a lot of data viz you see screams the tool it was made in? Using the Plotly Open Source Python Graphing Library, we will take a look under the hood of:

  • the style themes available,
  • understand the visual elements like figure and chart backgrounds, and
  • build our own default theme script inspired by 1980's computers.

This informal workshop is for a seasoned Pythonista wanting to add to your design toolbox or a newbie curious about custom interfaces beyond the usual BI tools (listen or follow along).

You can also check out all of Plotly's open source graphing libraries, including R, JavaScript, and more here.

Quick Start Prep

(most of this occurs before the workshop to follow along live...)

We're not going to spend too much time here, but if you're just starting out in Python, and want to get your hands dirty, here's a few building blocks useful to get the most from the workshop:

  1. Python ...All you really need is a Python code interpreter installed as a foundation.

    1. Start from the source, Python Software Foundation's helpful steps and downloads (yep, the be all end all source).
      1. Many computers come with a version pre-installed, a bit old, but if you don't want to touch or download anything, it may get you acquainted, at least. (to check in command line or terminal, run python --version)
    2. Or Python comes with an Anaconda installation (bigger topic than this workshop, but if you're in it for the long haul using Python consider e.g. the Individual Edition or a miniconda).

  2. A virtual environment (optional, but do this next if you're doing it.)

    1. Skip this step if the sound of it or # steps has you scared away already! Don't go, stay!
    2. It's recommended, but not necessary, to make and work in an isolated virtual environment for any Python project like this one, to help manage work requiring different versions of things.
      1. Options to manage this:
        1. I find virtualenv a sure bet,
          1. (e.g. On Mac Terminal (Zsh), from my project root folder, I ran virtualenv plotlystyle_env to make it; to activate it, I'll run source plotlystyle_env/bin/activate) _pip install virtualenv_if necessary first.
          2. I'll refer you to the docs for Windows.
        2. the simplified venv built into Python version 3.3+,
        3. Conda which I feel is cleanest with its centralized file structure, but fussy at times like an angry schoolchild, and
        4. those are the big ones.

  3. Jupyter Notebook (strongly recommended, we'll spend the workshop in the .ipynb Notebook file)

    1. Notebooks run directly in your web browser, so you need: Chrome, Safari, or Firefox (up to date Opera and Edge maybe works)

    2. If you installed an Anaconda distribution in step 1, congratulations, Jupyter Notebook is included! Read up on running the Notebook where we'll pick up!

    3. You can alternately install Jupyter Notebook with the pip package manager.

    4. If you're working in a virtual environment (step 2 above), also install the IPython kernel.

      1. Otherwise, this Jupyter Notebooks does have this automatically for your system Python interpreter.
      2. This basically supports more quick, interactive, code which makes Notebooks great for learning in chunks, and exploring without running a whole script.
  4. Kiss your brain!

Who's tired of hyperlinks and docs already?! You promised fun!

General Disclaimer

This work is open source, like Plotly Open Source Graphing Libraries, so try it, use it and spread the love by teaching someone else!
To keep up with what others are working on, join the Plotly Community Forum. Made with 💌 for the Python and data viz ecosystems under the limited liability company Data, Design & Daughters LLC doing business as Data Design Dimension by Kathryn Hurchla.

Owner
Data Design Dimension
Impact. Visualize. Grow. Full lifecycle data studio to optimize, build flows, and gain traction while you go.
Data Design Dimension
Python toolkit for defining+simulating+visualizing+analyzing attractors, dynamical systems, iterated function systems, roulette curves, and more

Attractors A small module that provides functions and classes for very efficient simulation and rendering of iterated function systems; dynamical syst

1 Aug 04, 2021
Debugging, monitoring and visualization for Python Machine Learning and Data Science

Welcome to TensorWatch TensorWatch is a debugging and visualization tool designed for data science, deep learning and reinforcement learning from Micr

Microsoft 3.3k Dec 27, 2022
simple tool to paint axis x and y

simple tool to paint axis x and y

G705 1 Oct 21, 2021
An open-source tool for visual and modular block programing in python

PyFlow PyFlow is an open-source tool for modular visual programing in python ! Although for now the tool is in Beta and features are coming in bit by

1.1k Jan 06, 2023
100 data puzzles for pandas, ranging from short and simple to super tricky (60% complete)

100 pandas puzzles Puzzles notebook Solutions notebook Inspired by 100 Numpy exerises, here are 100* short puzzles for testing your knowledge of panda

Alex Riley 1.9k Jan 08, 2023
Implement the Perspective open source code in preparation for data visualization

Task Overview | Installation Instructions | Link to Module 2 Introduction Experience Technology at JP Morgan Chase Try out what real work is like in t

Abdulazeez Jimoh 1 Jan 23, 2022
A Python wrapper of Neighbor Retrieval Visualizer (NeRV)

PyNeRV A Python wrapper of the dimensionality reduction algorithm Neighbor Retrieval Visualizer (NeRV) Compile Set up the paths in Makefile then make.

2 Aug 29, 2021
Render Jupyter notebook in the terminal

jut - JUpyter notebook Terminal viewer. The command line tool view the IPython/Jupyter notebook in the terminal. Install pip install jut Usage $jut --

Kracekumar 169 Dec 27, 2022
This project is an Algorithm Visualizer where a user can visualize algorithms like Bubble Sort, Merge Sort, Quick Sort, Selection Sort, Linear Search and Binary Search.

Algo_Visualizer This project is an Algorithm Visualizer where a user can visualize common algorithms like "Bubble Sort", "Merge Sort", "Quick Sort", "

Rahul 4 Feb 07, 2022
Project coded in Python using Pandas to look at changes in chase% for batters facing a pitcher first time through the order vs. thrid time

Project coded in Python using Pandas to look at changes in chase% for batters facing a pitcher first time through the order vs. thrid time

Jason Kraynak 1 Jan 07, 2022
Small U-Net for vehicle detection

Small U-Net for vehicle detection Vivek Yadav, PhD Overview In this repository , we will go over using U-net for detecting vehicles in a video stream

Vivek Yadav 91 Nov 03, 2022
Some method of processing point cloud

Point-Cloud Some method of processing point cloud inversion the completion pointcloud to incomplete point cloud Some model of encoding point cloud to

Tan 1 Nov 19, 2021
A high-level plotting API for pandas, dask, xarray, and networkx built on HoloViews

hvPlot A high-level plotting API for the PyData ecosystem built on HoloViews. Build Status Coverage Latest dev release Latest release Docs What is it?

HoloViz 697 Jan 06, 2023
Example Code Notebooks for Data Visualization in Python

This repository contains sample code scripts for creating awesome data visualizations from scratch using different python libraries (such as matplotli

Javed Ali 27 Jan 04, 2023
Make visual music sheets for thatskygame (graphical representations of the Sky keyboard)

sky-python-music-sheet-maker This program lets you make visual music sheets for Sky: Children of the Light. It will ask you a few questions, and does

21 Aug 26, 2022
JupyterHub extension for ContainDS Dashboards

ContainDS Dashboards for JupyterHub A Dashboard publishing solution for Data Science teams to share results with decision makers. Run a private on-pre

Ideonate 179 Nov 29, 2022
A grammar of graphics for Python

plotnine Latest Release License DOI Build Status Coverage Documentation plotnine is an implementation of a grammar of graphics in Python, it is based

Hassan Kibirige 3.3k Jan 01, 2023
Chem: collection of mostly python code for molecular visualization, QM/MM, FEP, etc

chem: collection of mostly python code for molecular visualization, QM/MM, FEP,

5 Sep 02, 2022
Streamlit-template - A streamlit app template based on streamlit-option-menu

streamlit-template A streamlit app template for geospatial applications based on

Qiusheng Wu 41 Dec 10, 2022
PyPassword is a simple follow up to PyPassphrase

PyPassword PyPassword is a simple follow up to PyPassphrase. After finishing that project it occured to me that while some may wish to use that option

Scotty 2 Jan 22, 2022