member spotlight: Line Ton That
The following is a guest post from Line Ton That. Line regularly contributes to the community by completing #SWDchallenges and leaving comments for fellow community members. To see some of Line’s work, check out Line’s gallery page. Keep reading to learn about Line’s process for crafting a data visualization and her thoughts on data viz tools. Don’t forget to pop over to the community to chat with Line directly as part of our latest Member Spotlight.
We regularly select someone from the community to highlight through our Member Spotlight program. These are people who contribute in ways that foster an even more connected and diverse learning environment. Our goal is to help you get to know your fellow community members a little better and learn from one another.
When thinking about the process of creating a successful data visualization, or considering what tools to use to get there, I have found that a mix of structure and flexibility has been the key to achieving positive outcomes. My process itself is somewhat structured; but I allow myself a great deal of flexibility within that structure to use a variety of tools, as the situation dictates. By sharing my experiences with you, hopefully, it inspires you to consider how your own processes and chosen tools can be optimized to support your creative workflow.
Structure: my data visualization process
I have refined my personal data visualization process over time, through multiple projects, and I have found that I’m able to craft more intuitive designs when I follow a defined and structured development flow as shown below.
Understanding
This step involves thinking about both the topic and the audience. In this stage, I’m discovering what is at stake, and gaining a better understanding of my intended audience. If I’m not familiar with the topic, I allocate time to research it, which sometimes turns into a real rabbit hole!
Thinking
After that first stage, it’s important to take a step back and give yourself time to reflect. I ask myself questions like what type of data viz will be the best fit? During this process, I’ll often refer to a chart taxonomy, like the visual vocabulary from the Financial Times, for ideas.
Sketching
This step is meant to be quick, creative, and non-judgemental. I usually sketch my ideas with pen and paper, and I aim to develop eight ideas in eight minutes. It's challenging but valuable, especially if I don't have a specific visual form in mind. Here's an example from the February 2021 #SWDchallenge.
Building
Once I'm happy with a few ideas, I work on data preparation and start prototyping designs in some kind of software application. (The specific tool I use varies; I’ll go into detail about these choices a little later on.) If my ideas don't work out well at this stage, I return to sketching to find better ways of visualizing the data.
Validation and Finalization
With rough prototypes created, I ask for feedback from my intended audience (or their proxy) and iterate before finalizing the data visualization.
This full process I’ve described doesn't depend on any specific set of visualization tools. In my work and schooling, I’ve been exposed to a handful of applications and software packages.
At University, I learned the value of drawing charts with pen and paper but also used Excel and other programming languages like Matlab and Scilab.
I taught myself Tableau through online classes and tutorials, which was an easy and affordable way to learn the basics, as well as advanced tips and tricks.
To further my coding skills, I took an online boot camp to learn Python basics and syntax, and then independently experimented with specific libraries for data visualization.
I've recently embarked on a journey to learn d3.js. I'm using various books and online resources like Observable.
Regardless of the tool, practicing with different topics and datasets was critical to my learning process—although I often learned the most when I wanted to achieve something specific that was beyond my current abilities. By cutting a project into small pieces and working on each one separately, difficulties were manageable, and solutions were easier to find. I'd also learn from reverse-engineering the work of other data viz practitioners.
Flexibility: my data visualization toolkit
I have realized that for me, I am more efficient and effective when I use different tools for different tasks. As a result, it isn’t uncommon for me to use multiple tools at different stages in the same project.
To select a data visualization tool, I consider the following criteria:
Is it easy to do data preparation for this tool?
Is developing a simple visual fast and easy?
Is the learning curve steep for beginners?
How much design flexibility does this tool offer?
Is it easy to share work built in this tool publicly?
Using those criteria, here are my personal assessments of some of the tools I regularly use. (I’m fortunate to have access to commercial tools at work that I can use for data analytics and visualization, such as Alteryx and Tableau Server, but I’m excluding them here and discussing only free or commonly available tools.)
Your expertise and feelings about these tools may vary, but my own experiences and preferences have informed the way I select particular applications or software packages for different purposes. Rather than use a one-tool-fits-all approach, I consider the particular use case I have in front of me, and select my tool accordingly.
Ideation: pen and paper
Sketching with pen and paper is easy and it helps me clarify my thoughts. I have many notebooks and spare paper around; I save most of my ideas for future reference.
With pen and paper, you are free to go crazy, explore different types of visualizations and experiment with design. So far, I haven’t published any hand-drawn visuals as I feel it would be too time consuming.
Data prep: Excel (simple), Python (complicated)
Excel is my go-to data prep tool if I’m working with a small dataset. For analyzing data or doing sophisticated data prep, I’ll use Python. I often reuse past Python code to quickly assess a new dataset or explore someone else’s code to try new visualizations. I use several Python libraries such as pandas, matplotlib, seaborn, plotly, and dash.
Building simple charts: Excel
Generally speaking, Excel is easy to work with, and is good for creating simple charts. Here’s a case where I used Excel to visualize a small dataset. It’s worth mentioning that many of the default settings in Excel aren’t ideal, so you need to be willing to manually format the chart. Fortunately, Excel allows for a great amount of customization.
Prototyping multiple charts: Tableau Public
Tableau Public is great if I need to make multiple charts or explore a dataset. The user interface makes it easy and quick to create and customize charts. The interface is quite intuitive, and it is handy to create dashboards by assembling different views, and include external images (that I often build using PowerPoint).
It’s worth noting that there is a learning curve with Tableau. It’s easy to learn for beginners and becomes more difficult when complexity increases, but an understanding of some of Tableau’s more arcane elements allows a creator to build more complex and interactive visualizations compared to Excel.
Creating highly customized visuals: D3
D3.js is perfect to be able to control each and every pixel and customize every part of the interactive viz. If I plan to build a visual which requires such customization—a specific layout, color scales, animation, etc.—I’ll use d3.js. Here’s an example I created in D3.js.
Because this is a programming language, the learning curve is quite steep, especially without a coding background. When I read that even Mike Bostock, one of the creators of this open-source library, “can’t remember how to use d3.stack and copy-paste the stacked area example like everyone else”, I felt that it might be ok to not be totally fluent in all D3.js functions to be able to build great data visualizations.
Collaborating with engineers and data scientists: Python
Python works really well for collaboration; it’s easy to share Jupyter notebooks, so someone else can replicate your data preparation, and exploratory charts.
It’s handy to create html files and share them without having to publish them on a server. I like being able to build dictionaries for labels and colors, linked to variables, which I find super useful.
Publishing customized data visualizations: Tableau Public, D3
Tableau has a great community of contributors and an impressive gallery. It is easy to publish and share data visualizations with others. The d3.js community is also large and active, and there are plenty of examples for inspiration on the Observable website.
Your process will not exactly match Line’s: there’s no perfect tool and each individual will have their own preferences to work with. However, it’s helpful to take a step back and think about your own process: what steps are essential for you, and what workflow do you find helps you create the most successful final product? Then, within that framework, what tools are you the most comfortable with—or would you like to get more comfortable with—in order to achieve those goals?
Considering your data viz process separate from the tool(s) you use can be an illuminating experience, and may help you plan out the next steps in your own data viz journey. To learn more from Line, head over to the community and chat with her directly this month.
There are plenty of noteworthy members in the community—too many to spotlight at once. This program is part of our larger efforts to find new ways to share multiple voices and experiences. As you discover great work and ideas in the community, let us know who you think should be featured next by completing this quick nomination form. In the meantime, be sure to give appropriate kudos and spread the word!