8+ GGplot Facet Bar Chart Color Palettes


8+ GGplot Facet Bar Chart Color Palettes

Controlling the colour scheme inside faceted bar charts created utilizing the `ggplot2` package deal in R affords granular customization over the visible illustration of knowledge. This includes deciding on particular colours for bars inside every side, permitting for clear differentiation and highlighting of patterns inside subsets of knowledge. For instance, one may use a diverging palette to spotlight constructive and detrimental values inside every side, or a constant palette throughout aspects to emphasise comparisons between teams.

Exact management over coloration palettes in faceted visualizations is essential for efficient knowledge communication. It enhances readability, facilitates comparability inside and throughout aspects, and permits for visible encoding of particular info inside subgroups. This degree of customization strikes past default coloration assignments, providing a robust instrument for highlighting key insights and patterns in any other case simply neglected in complicated datasets. Traditionally, reaching this degree of management required complicated workarounds. Fashionable `ggplot2` functionalities now streamline the method, enabling environment friendly and stylish options for stylish visualization wants.

This enhanced management over coloration palettes inside faceted shows ties straight into broader ideas of knowledge visualization greatest practices. By rigorously deciding on and making use of coloration schemes, analysts can craft visualizations that aren’t solely aesthetically pleasing but additionally informative and insightful, in the end driving higher understanding and decision-making.

1. Discrete vs. steady scales

The selection between discrete and steady scales essentially impacts how coloration palettes operate inside faceted `ggplot2` bar charts. This distinction determines how knowledge values map to colours and influences the visible interpretation of data inside every side.

  • Discrete Scales

    Discrete scales categorize knowledge into distinct teams. When setting a coloration palette, every group receives a singular coloration. For instance, in a gross sales dataset faceted by area, product classes (e.g., “Electronics,” “Clothes,” “Meals”) may very well be represented by distinct colours inside every regional side. This enables for fast visible comparability of class efficiency throughout areas. `scale_fill_manual()` or `scale_color_manual()` supplies direct management over coloration assignments for every discrete worth.

  • Steady Scales

    Steady scales characterize knowledge alongside a gradient. The chosen coloration palette maps to a variety of values, creating a visible spectrum inside every side. For instance, visualizing buyer satisfaction scores (starting from 1 to 10) faceted by product kind would use a steady coloration scale. Larger satisfaction scores is perhaps represented by darker shades of inexperienced, whereas decrease scores seem as lighter shades. Capabilities like `scale_fill_gradient()` or `scale_fill_viridis()` provide management over the colour gradient and palette choice.

  • Interplay with Facet_Wrap

    The dimensions selection interacts with `facet_wrap` to find out how coloration is utilized throughout aspects. Utilizing a discrete scale, constant coloration mapping throughout aspects permits for direct comparability of the identical class throughout completely different subgroups. With a steady scale, the colour gradient applies independently inside every side, highlighting the distribution of values inside every subgroup. This enables for figuring out developments or outliers inside particular aspects.

  • Sensible Implications

    Deciding on the right scale kind is paramount for correct and efficient visualization. Misusing a steady scale for categorical knowledge can create deceptive visible interpretations. Conversely, making use of a discrete scale to steady knowledge oversimplifies the underlying patterns. Cautious consideration of the info kind and the supposed message guides the suitable scale and coloration palette choice, resulting in extra insightful visualizations.

Understanding the nuances of discrete and steady scales within the context of faceted bar charts is essential for leveraging the total potential of `ggplot2`’s coloration palette customization. This data permits for the creation of visualizations that precisely characterize the info and successfully talk key insights inside and throughout aspects, facilitating data-driven decision-making.

2. Palette Choice (e.g., viridis, RColorBrewer)

Palette choice performs a pivotal function in customizing the colours of faceted bar charts generated utilizing `ggplot2`’s `facet_wrap` and `geom_bar`. Selecting an applicable palette considerably impacts the visualization’s effectiveness, accessibility, and aesthetic enchantment. Packages like `viridis` and `RColorBrewer` present pre-designed palettes addressing numerous knowledge visualization wants.

`viridis` affords perceptually uniform palettes, guaranteeing constant coloration variations correspond to constant knowledge variations, even for people with coloration imaginative and prescient deficiencies. This package deal affords a number of choices, together with `viridis`, `magma`, `plasma`, and `inferno`, every fitted to completely different knowledge traits. As an illustration, the `viridis` palette successfully visualizes sequential knowledge, whereas `plasma` highlights each high and low knowledge values.

`RColorBrewer` supplies palettes categorized by objective: sequential, diverging, and qualitative. Sequential palettes, like `Blues` or `Greens`, swimsuit knowledge with a pure order. Diverging palettes, like `RdBu` (red-blue), emphasize variations from a midpoint, helpful for visualizing knowledge with constructive and detrimental values. Qualitative palettes, like `Set1` or `Dark2`, distinguish between categorical knowledge with out implying order. For instance, in a faceted bar chart displaying gross sales efficiency throughout completely different product classes and areas, a qualitative palette from `RColorBrewer` ensures every product class receives a definite coloration throughout all areas, facilitating straightforward comparability.

Efficient palette choice considers knowledge traits, viewers, and the visualization’s objective. Utilizing a sequential palette for categorical knowledge may mislead viewers into perceiving a non-existent order. Equally, a diverging palette utilized to sequential knowledge obscures developments. Cautious choice avoids these pitfalls, guaranteeing correct and insightful visualizations.

Past `viridis` and `RColorBrewer`, different packages and strategies exist for producing and customizing palettes. Nonetheless, these two packages provide a stable basis for many visualization duties. Understanding their strengths and limitations empowers analysts to make knowledgeable choices about coloration palettes, considerably impacting the readability and effectiveness of faceted bar charts inside `ggplot2`.

Cautious consideration of palette choice is essential for creating informative and accessible visualizations. Selecting a palette aligned with the info traits and the supposed message ensures that the visualization precisely represents the underlying info. This enhances the interpretability of the info, facilitating higher understanding and in the end supporting extra knowledgeable decision-making.

3. Handbook coloration task

Handbook coloration task supplies exact management over coloration palettes inside faceted `ggplot2` bar charts created utilizing `facet_wrap` and `geom_bar`. This granular management is crucial for highlighting particular knowledge factors, creating customized visible representations, and guaranteeing constant coloration mapping throughout aspects, particularly when default palettes are inadequate or when particular coloration associations are required.

  • Focused Emphasis

    Handbook coloration task permits highlighting particular classes or values inside a faceted bar chart. As an illustration, in a gross sales visualization faceted by area, a selected product class may very well be assigned a definite coloration throughout all areas to trace its efficiency. This attracts consideration to the class of curiosity, facilitating direct comparability throughout aspects and revealing regional variations in efficiency extra readily than with a default palette.

  • Constant Branding

    Sustaining constant branding inside visualizations is commonly essential for company studies and displays. Handbook coloration task allows adherence to company coloration schemes. For instance, an organization may mandate particular colours for representing completely different product strains or departments. Handbook management ensures these colours are precisely mirrored in faceted bar charts, preserving visible consistency throughout all communication supplies.

  • Dealing with Particular Knowledge Necessities

    Sure datasets require particular coloration associations. For instance, visualizing election outcomes may necessitate utilizing pre-defined colours for political events. Handbook coloration task fulfills this requirement, guaranteeing that the visualization precisely displays these established coloration conventions, stopping misinterpretations and sustaining readability.

  • Enhancing Accessibility

    Handbook coloration task permits creating palettes that cater to people with coloration imaginative and prescient deficiencies. By rigorously selecting colours with ample distinction and avoiding problematic coloration combos, visualizations turn into accessible to a wider viewers. This inclusivity is crucial for efficient knowledge communication.

Handbook coloration task supplies a robust instrument for customizing coloration palettes in faceted `ggplot2` bar charts, enabling focused emphasis, constant branding, and adherence to particular knowledge necessities. By implementing features like `scale_fill_manual()` or `scale_color_manual()`, analysts achieve fine-grained management over coloration choice, resulting in extra informative and accessible visualizations that successfully talk key insights inside complicated datasets.

4. Scale_ _manual() operate

The `scale__manual()` operate household in `ggplot2` supplies the mechanism for direct coloration specification inside visualizations, forming a cornerstone of customized palette implementation for faceted bar charts utilizing `facet_wrap` and `geom_bar`. This operate household, encompassing `scale_fill_manual()`, `scale_color_manual()`, and others, allows express mapping between knowledge values and chosen colours, overriding default palette assignments. This management is essential for eventualities demanding exact coloration decisions, together with branding consistency, highlighting particular classes, or accommodating knowledge with inherent coloration associations.

Think about a dataset visualizing buyer demographics throughout numerous product classes, faceted by buy area. With out guide intervention, `ggplot2` assigns default colours, doubtlessly obscuring key insights. Using `scale_fill_manual()`, particular colours will be assigned to every product class, guaranteeing consistency throughout all regional aspects. As an illustration, “Electronics” is perhaps persistently represented by blue, “Clothes” by inexperienced, and “Meals” by orange throughout all areas. This constant mapping facilitates speedy visible comparability of product class efficiency throughout completely different geographical segments. This direct management extends past easy categorical examples. In conditions requiring nuanced coloration encoding, reminiscent of highlighting particular age demographics inside every product class side, `scale_ _manual()` permits fine-grained management over coloration choice for every demographic group.

Understanding the `scale__manual()` operate household is key for leveraging the total potential of coloration palettes inside `ggplot2` visualizations. It supplies the essential hyperlink between desired coloration schemes and the underlying knowledge illustration, enabling analysts to create clear, informative, and visually interesting faceted bar charts tailor-made to particular analytical wants. This direct management enhances knowledge communication, facilitating quicker identification of patterns, developments, and outliers inside complicated datasets. The power to maneuver past default coloration assignments affords vital benefits in visible readability and interpretive energy, resulting in more practical data-driven insights.

5. Aspect-specific palettes

Aspect-specific palettes characterize a robust utility of coloration management inside `ggplot2`’s `facet_wrap` framework, providing granular customization past world palette assignments. This system permits particular person aspects inside a visualization to make the most of distinct coloration palettes, enhancing readability and revealing nuanced insights inside subgroups of knowledge. Whereas world palettes keep visible consistency throughout all aspects, facet-specific palettes emphasize within-facet comparisons, accommodating knowledge with various distributions or traits throughout subgroups. This strategy is especially helpful when visualizing knowledge with differing scales or classes inside every side.

Think about analyzing buyer satisfaction scores for various product classes throughout a number of areas. A world palette may obscure refined variations inside particular areas because of the general rating distribution. Implementing facet-specific palettesperhaps a diverging palette for areas with extensive rating distributions and a sequential palette for areas with extra concentrated scoresallows for extra focused visible evaluation inside every area. This granular management isolates regional developments and outliers extra successfully, facilitating detailed within-facet comparability.

Implementing facet-specific palettes sometimes includes combining `facet_wrap` with features like `scale_*_manual()` and knowledge manipulation strategies. One frequent strategy includes making a separate knowledge body containing coloration mappings for every side. This knowledge body is then merged with the first knowledge and used inside the `ggplot2` workflow to use the precise palettes to every side. This course of, whereas requiring extra knowledge manipulation steps, supplies unparalleled flexibility for customizing the visible illustration of complicated, multi-faceted knowledge.

Mastering facet-specific palettes unlocks a better degree of management inside `ggplot2` visualizations. This system empowers analysts to craft visualizations that aren’t solely aesthetically pleasing but additionally deeply informative, facilitating the invention of refined patterns and nuanced insights usually masked by world coloration assignments. The power to tailor coloration schemes to the precise traits of every side enhances the analytical energy of visualizations, in the end driving higher understanding and extra knowledgeable decision-making.

6. Legend readability and consistency

Legend readability and consistency are paramount for efficient communication in faceted bar charts constructed utilizing `ggplot2`’s `facet_wrap` and `geom_bar`. A well-designed legend ensures unambiguous interpretation of the colour palette, notably essential when using customized coloration assignments or facet-specific palettes. Inconsistencies or unclear legends can result in misinterpretations, undermining the visualization’s objective. Cautious consideration of legend elementstitles, labels, and positioningis important for maximizing readability and facilitating correct knowledge interpretation.

  • Informative Titles and Labels

    Legend titles and labels present context for the colour encoding. A transparent title precisely describes the variable represented by the colour palette (e.g., “Product Class” or “Buyer Satisfaction Rating”). Labels ought to correspond on to the info values, utilizing concise and descriptive phrases. As an illustration, in a faceted chart displaying gross sales by product class, every coloration within the legend needs to be clearly labeled with the corresponding class identify (“Electronics,” “Clothes,” “Meals”). Keep away from ambiguous or abbreviated labels that may require extra rationalization.

  • Visible Consistency Throughout Sides

    When utilizing facet-specific palettes, sustaining visible consistency within the legend is essential. Every coloration ought to retain its related which means throughout all aspects, even when the precise colours used inside every side differ. For instance, if blue represents “Excessive Satisfaction” in a single side and inexperienced represents “Excessive Satisfaction” in one other, the legend should clearly point out this mapping. This consistency prevents confusion and ensures correct comparability throughout aspects.

  • Applicable Positioning and Sizing

    Legend positioning and sizing affect readability. A legend positioned exterior the primary plotting space usually avoids visible muddle. Adjusting legend measurement ensures all labels are clearly seen with out overwhelming the visualization. In circumstances of quite a few classes or lengthy labels, take into account different legend layouts, reminiscent of horizontal or multi-column preparations, to optimize house and readability.

  • Synchronization with Coloration Palette

    The legend should precisely replicate the utilized coloration palette. Any discrepancies between the colours displayed within the legend and the colours inside the chart create confusion and hinder correct knowledge interpretation. That is particularly essential when utilizing guide coloration assignments or complicated coloration manipulation strategies. Completely verifying legend-palette synchronization is crucial for sustaining visible integrity.

By addressing these issues, analysts be certain that the legend enhances, somewhat than hinders, the interpretability of faceted bar charts. A transparent and constant legend supplies a essential bridge between visible encoding and knowledge interpretation, facilitating efficient communication of insights and supporting data-driven decision-making. Consideration to those particulars elevates visualizations from mere graphical representations to highly effective instruments for knowledge exploration and understanding.

7. Accessibility issues

Accessibility issues are integral to efficient knowledge visualization, notably when developing faceted bar charts utilizing `ggplot2`’s `facet_wrap` and `geom_bar`. Coloration palettes have to be chosen and carried out with consciousness of potential accessibility limitations, guaranteeing visualizations convey info successfully to all audiences, together with people with coloration imaginative and prescient deficiencies. Neglecting accessibility limits the attain and influence of knowledge insights.

Colorblindness, affecting a good portion of the inhabitants, poses a considerable problem to knowledge interpretation when coloration palettes rely solely on hue to convey info. As an illustration, a red-green diverging palette renders knowledge indistinguishable for people with red-green colorblindness. Equally, palettes with inadequate distinction between colours pose challenges for customers with low imaginative and prescient. Using perceptually uniform coloration palettes, reminiscent of these supplied by the `viridis` package deal, mitigates these points. These palettes keep constant perceptual variations between colours throughout the spectrum, no matter coloration imaginative and prescient standing. Moreover, incorporating redundant visible cues, reminiscent of patterns or labels inside bars, additional enhances accessibility, offering different means of knowledge interpretation past coloration alone. Within the case of a bar chart displaying gross sales figures throughout completely different product classes, utilizing a mix of coloration and texture permits people with colorblindness to differentiate between classes. Including direct labels indicating the gross sales figures on high of the bars affords one other layer of accessibility for customers with various visible skills. Designing visualizations with such inclusivity broadens the viewers and ensures knowledge insights attain everybody.

Creating accessible visualizations necessitates a shift past aesthetic issues alone. Prioritizing coloration palettes and design decisions that cater to various visible wants ensures knowledge visualizations obtain their elementary objective: efficient communication of data. This inclusive strategy strengthens the influence of knowledge evaluation, facilitating broader understanding and fostering extra knowledgeable decision-making throughout various audiences. Instruments and sources, together with on-line coloration blindness simulators and accessibility pointers, help in evaluating and refining visualizations for optimum accessibility.

8. Theme Integration

Theme integration performs a vital function within the efficient visualization of faceted bar charts created utilizing `ggplot2`’s `facet_wrap` and `geom_bar`. A constant and well-chosen theme supplies a cohesive visible framework, enhancing the readability and influence of knowledge offered via coloration palettes. Theme components, reminiscent of background coloration, grid strains, and textual content formatting, work together considerably with the chosen coloration palette, influencing the general aesthetic and, importantly, the accessibility and interpretability of the visualization. Harmonizing these components ensures that the colour palette successfully communicates knowledge insights with out visible distractions or conflicts.

  • Background Coloration

    Background coloration varieties the canvas upon which the visualization rests. A rigorously chosen background coloration enhances the visibility and influence of the chosen coloration palette. Mild backgrounds sometimes work properly with richly coloured palettes, whereas darkish backgrounds usually profit from lighter, extra vibrant colours. Poor background decisions, reminiscent of high-contrast or overly brilliant colours, can conflict with the palette, diminishing its effectiveness and doubtlessly introducing accessibility points. Think about a bar chart visualizing web site visitors throughout completely different advertising and marketing channels, faceted by month. A darkish background with a vibrant palette from `viridis` may spotlight month-to-month developments extra successfully than a lightweight background with muted colours, particularly when presenting in a dimly lit atmosphere.

  • Grid Strains

    Grid strains present visible guides for deciphering knowledge values, however their prominence inside the visualization have to be rigorously balanced. Overly distinguished grid strains can compete with the colour palette, obscuring knowledge patterns. Conversely, refined or absent grid strains can hinder exact knowledge interpretation. The theme controls grid line coloration, thickness, and elegance. Aligning these properties with the chosen coloration palette ensures grid strains assist, somewhat than detract from, knowledge visualization. In a faceted bar chart displaying gross sales figures throughout numerous product classes and areas, mild grey grid strains on a white background may provide ample visible steering with out overwhelming a coloration palette primarily based on `RColorBrewer`’s “Set3”.

  • Textual content Formatting

    Textual content components inside the visualizationaxis labels, titles, and annotationscontribute considerably to readability. Font measurement, coloration, and elegance ought to complement the colour palette and background. Darkish textual content on a lightweight background and light-weight textual content on a darkish background typically provide optimum readability. Utilizing a constant font household throughout all textual content components enhances visible cohesion. As an illustration, a monetary report visualizing quarterly earnings may use a traditional serif font like Instances New Roman for all textual content components, coloured darkish grey in opposition to a lightweight grey background, enhancing the readability of axis labels and guaranteeing the chosen coloration palette for the bars stays the first focus.

  • Aspect Borders and Labels

    Aspect borders and labels outline the visible separation between aspects. Theme settings management their coloration, thickness, and positioning. For a dataset evaluating buyer demographics throughout product classes faceted by area, distinct side borders and clear labels improve visible separation, facilitating comparability between areas. Aligning border colours with the general theme’s coloration scheme ensures visible consistency. Selecting a refined border coloration that enhances, somewhat than clashes with, the colour palette used inside the aspects enhances general readability.

Efficient theme integration requires a holistic strategy, contemplating the interaction between all visible components. A well-chosen theme enhances the influence and accessibility of the colour palette, guaranteeing that knowledge visualizations talk info clearly and effectively. Harmonizing these components transforms faceted bar charts from mere knowledge representations into highly effective instruments for perception and decision-making. Cautious consideration to theme choice ensures that the colour palette stays the focus, successfully conveying knowledge patterns whereas sustaining a cohesive and visually interesting presentation.

Ceaselessly Requested Questions

This part addresses frequent queries concerning coloration palette customization inside faceted bar charts generated utilizing `ggplot2`’s `facet_wrap` and `geom_bar`.

Query 1: How does one assign particular colours to completely different classes inside a faceted bar chart?

The `scale_fill_manual()` operate (or `scale_color_manual()` if coloring by `coloration` aesthetic) permits express coloration task. A named vector maps classes to desired colours. This ensures constant coloration illustration throughout all aspects.

Query 2: What are some great benefits of utilizing pre-built coloration palettes from packages like `viridis` or `RColorBrewer`?

These packages provide palettes designed for numerous knowledge traits and accessibility issues. `viridis` supplies perceptually uniform palettes appropriate for colorblind viewers, whereas `RColorBrewer` affords palettes categorized by objective (sequential, diverging, qualitative), simplifying palette choice primarily based on knowledge properties.

Query 3: How can one create and apply facet-specific coloration palettes?

Aspect-specific palettes require knowledge manipulation to create a mapping between side ranges and desired colours. This mapping is then used inside `scale_fill_manual()` or `scale_color_manual()` to use completely different coloration schemes to particular person aspects, enabling granular management over visible illustration inside subgroups.

Query 4: How does theme choice work together with coloration palette decisions?

Theme components, notably background coloration, affect palette notion. Darkish backgrounds usually profit from vibrant palettes, whereas mild backgrounds sometimes pair properly with richer colours. Theme choice ought to improve, not battle with, the colour palette, guaranteeing clear knowledge illustration.

Query 5: What accessibility issues are related when selecting coloration palettes?

Colorblindness necessitates palettes distinguishable throughout completely different coloration imaginative and prescient deficiencies. Perceptually uniform palettes and redundant visible cues, reminiscent of patterns or labels, improve accessibility, guaranteeing visualizations convey info successfully to all audiences.

Query 6: How can legend readability be maximized in faceted bar charts with customized coloration palettes?

Clear and concise legend titles and labels are important. Constant label utilization throughout aspects and correct synchronization with utilized colours stop misinterpretations. Applicable legend positioning and sizing additional improve readability.

Cautious consideration of those points ensures efficient and accessible coloration palette implementation inside faceted bar charts, maximizing the readability and influence of knowledge visualizations.

The following part supplies sensible examples demonstrating the applying of those ideas inside `ggplot2`.

Suggestions for Efficient Coloration Palettes in Faceted ggplot2 Bar Charts

Optimizing coloration palettes inside faceted `ggplot2` bar charts requires cautious consideration of a number of components. The next ideas present steering for creating visually efficient and informative visualizations.

Tip 1: Select palettes aligned with knowledge traits.

Sequential palettes swimsuit ordered knowledge, diverging palettes spotlight variations from a midpoint, and qualitative palettes distinguish classes with out implying order. Deciding on the mistaken palette kind can misrepresent knowledge relationships.

Tip 2: Leverage pre-built palettes for effectivity and accessibility.

Packages like `viridis` and `RColorBrewer` provide curated palettes designed for numerous knowledge sorts and coloration imaginative and prescient deficiencies, saving time and guaranteeing broader accessibility.

Tip 3: Make use of guide coloration task for particular necessities.

`scale_fill_manual()` or `scale_color_manual()` permit exact coloration management, essential for branding consistency, highlighting particular classes, or accommodating knowledge with inherent coloration associations.

Tip 4: Optimize facet-specific palettes for detailed subgroup evaluation.

Tailoring palettes to particular person aspects enhances within-facet comparisons, notably helpful when knowledge traits differ considerably throughout subgroups.

Tip 5: Prioritize legend readability and consistency.

Informative titles, clear labels, constant illustration throughout aspects, and correct synchronization with the colour palette are essential for stopping misinterpretations.

Tip 6: Design with accessibility in thoughts.

Think about colorblindness through the use of perceptually uniform palettes and incorporating redundant visible cues like patterns or labels. This ensures knowledge accessibility for all customers.

Tip 7: Combine the colour palette seamlessly with the chosen theme.

Harmonizing background coloration, grid strains, textual content formatting, and side components with the colour palette enhances general readability, aesthetics, and accessibility.

Making use of the following pointers ensures clear, accessible, and insightful faceted bar charts, maximizing the effectiveness of knowledge communication.

The next conclusion synthesizes these key ideas and emphasizes their sensible significance for knowledge visualization greatest practices.

Conclusion

Efficient knowledge visualization hinges on clear and insightful communication. Customizing coloration palettes inside faceted `ggplot2` bar charts, utilizing features like `facet_wrap`, `geom_bar`, and `scale_*_manual()`, affords vital management over visible knowledge illustration. Cautious palette choice, knowledgeable by knowledge traits and accessibility issues, ensures visualizations precisely replicate underlying patterns. Exact coloration assignments, coupled with constant legend design and thematic integration, improve readability and interpretability, notably inside complicated, multi-faceted datasets. Understanding the interaction of those components empowers analysts to create visualizations that transfer past mere graphical shows, reworking knowledge into actionable insights.

Knowledge visualization continues to evolve alongside technological developments. As knowledge complexity will increase, refined management over visible illustration turns into more and more essential. Mastering coloration palettes inside faceted `ggplot2` visualizations equips analysts with important instruments for navigating this complexity, in the end facilitating extra knowledgeable decision-making and deeper understanding throughout various fields. Continued exploration of superior coloration manipulation strategies, mixed with a dedication to accessibility and greatest practices, will additional improve the ability and attain of data-driven storytelling.