
Take any monochromatic color palette and test how it looks in Protanopia, Deuteranopia, and grayscale mode. To make sure color palettes are extremely accessible and easy to distinguish, they must vary enough in brightness. We learned a lot during this process, and we wanted to share three rules we’ve discovered for generating flexible color palettes: Rule 1: Have a wide range in both hue and brightness Our ApproachĪt Graphiq, we think, eat and breathe data, and we invested a lot of time in finding not one, but multiple color palettes that worked for our visualizations. I’d be surprised if the average user could correctly distinguish the colors in the visualization and match up to the label in the legend, especially among the four greens on the left hand side. Let’s just try taking the first one and extending it to a ten data series: Unfortunately, there’s often not enough variation in brightness, and many of them would become indistinguishable very quickly, like these ones, also from Color Hunt: Problem 3: Hard to Distinguishīut wait a second, there are color palettes that are like gradients - theoretically one can create any number of colors from that, right? While they are good color palettes, they are not flexible enough to present complex data series. Most color palettes we looked at did not provide enough options. When building Graphiq visualizations, we need a palette that offers at least six colors, if not eight to twelve colors, to cover all of our use cases. Problem 2: Not Enough ColorsĪnother problem is that many existing color palates did not have enough colors.
#COLOR HUNT CHROME EXTENSION FULL#
Those who are color blind may find it difficult to interpret a data visualization that uses the Flat UI palette:įlat UI Colors in full colors, protanopia mode, and grayscale. But, as its name indicates, it’s designed for user interfaces. Flat UI Colors is one of the most widely used color palettes out there, and it’s easy to see why: it looks great.

Not only do they not vary enough in brightness, but they were often not created with accessibility in mind. Many of the color palettes we looked at were not designed for visualizations. We identified several reasons as to why we couldn’t use existing color palettes: Problem 1: Low Accessibility

Surprisingly, we found that few are actually designed for complex charts and data visualizations. Rather than diving in head first and creating our own color palette, we started by conducting some research on existing color palettes around the web. While good color palettes are easy to come by these days, finding the right color palette for data visualizations is still quite challenging.Īt Graphiq, things are arguably made even more difficult, as we need to convey information across thousands of unique data sets in many different types of visualization layouts. Now we want to create webScreenLayout and mobileScreenLayout widgets and accept these two widgets using a constructor as shown.NovemFinding the Right Color Palettes for Data Visualizations Our web screen size starts at 600 resolutions so we will display web layout when the screen size is at 600 and above. Now create a file named dimensions.dart in the utils folder.

Using constraints we can get the screen width. LayoutBuilder will give us a builder function which then return to us a context and constraints. We want to return a widget named ResponsiveLayout which helps in creating responsive layout. Create a stateless widget for now, later we can use a stateful widget when we fetch dynamic contact from backend. Make a folder named layout and inside that create new file called layout.dart. The MediaQuery class in Flutter may be used to do this. 💡 For simplicity we are using fixed numbers for screen resolution but when designing user interfaces for mobile apps, always avoid hardcoding numbers for widget sizes and instead utilize percentages.
