Let's use what we know about strings and numbers to create some basic data visualizations in Python.

Visualizations make it easier to see patterns in data, like this visualization of browser usage data.

<html>
<head>
  <title></title>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="chart-9614bafb-d74d-456c-82bf-e9be831baeb0" class="pygal-chart" viewBox="0 0 800 600"><!--Generated with pygal 2.4.0 (lxml) ©Kozea 2012-2016 on 2020-05-27--><!--http://pygal.org--><!--http://github.com/Kozea/pygal--><defs><style type="text/css">#chart-9614bafb-d74d-456c-82bf-e9be831baeb0{-webkit-user-select:none;-webkit-font-smoothing:antialiased;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .title{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .legends .legend text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis text.major{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .text-overlay text.value{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .text-overlay text.label{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .tooltip{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 text.no_data{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:64px}
#chart-9614bafb-d74d-456c-82bf-e9be831baeb0{background-color:rgba(249,249,249,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 path,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 line,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 rect,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 circle{-webkit-transition:150ms;-moz-transition:150ms;transition:150ms}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .graph &gt; .background{fill:rgba(249,249,249,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .plot &gt; .background{fill:rgba(255,255,255,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .graph{fill:rgba(0,0,0,.87)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 text.no_data{fill:rgba(0,0,0,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .title{fill:rgba(0,0,0,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .legends .legend text{fill:rgba(0,0,0,.87)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .legends .legend:hover text{fill:rgba(0,0,0,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis .line{stroke:rgba(0,0,0,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis .guide.line{stroke:rgba(0,0,0,.54)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis .major.line{stroke:rgba(0,0,0,.87)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis text.major{fill:rgba(0,0,0,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis.y .guides:hover .guide.line,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .line-graph .axis.x .guides:hover .guide.line,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .stackedline-graph .axis.x .guides:hover .guide.line,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .xy-graph .axis.x .guides:hover .guide.line{stroke:rgba(0,0,0,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis .guides:hover text{fill:rgba(0,0,0,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .reactive{fill-opacity:.7;stroke-opacity:.8}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .ci{stroke:rgba(0,0,0,.87)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .reactive.active,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .active .reactive{fill-opacity:.8;stroke-opacity:.9;stroke-width:4}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .ci .reactive.active{stroke-width:1.5}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .series text{fill:rgba(0,0,0,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .tooltip rect{fill:rgba(255,255,255,1);stroke:rgba(0,0,0,1);-webkit-transition:opacity 150ms;-moz-transition:opacity 150ms;transition:opacity 150ms}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .tooltip .label{fill:rgba(0,0,0,.87)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .tooltip .label{fill:rgba(0,0,0,.87)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .tooltip .legend{font-size:.8em;fill:rgba(0,0,0,.54)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .tooltip .x_label{font-size:.6em;fill:rgba(0,0,0,1)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .tooltip .xlink{font-size:.5em;text-decoration:underline}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .tooltip .value{font-size:1.5em}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .bound{font-size:.5em}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .max-value{font-size:.75em;fill:rgba(0,0,0,.54)}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .map-element{fill:rgba(255,255,255,1);stroke:rgba(0,0,0,.54) !important}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .map-element .reactive{fill-opacity:inherit;stroke-opacity:inherit}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .color-0,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .color-0 a:visited{stroke:#F44336;fill:#F44336}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .color-1,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .color-1 a:visited{stroke:#3F51B5;fill:#3F51B5}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .color-2,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .color-2 a:visited{stroke:#009688;fill:#009688}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .color-3,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .color-3 a:visited{stroke:#FFC107;fill:#FFC107}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .text-overlay .color-0 text{fill:black}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .text-overlay .color-1 text{fill:black}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .text-overlay .color-2 text{fill:black}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .text-overlay .color-3 text{fill:black}
#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 text.no_data{text-anchor:middle}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .guide.line{fill:none}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .centered{text-anchor:middle}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .title{text-anchor:middle}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .legends .legend text{fill-opacity:1}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis.x text{text-anchor:middle}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis.x:not(.web) text[transform]{text-anchor:start}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis.x:not(.web) text[transform].backwards{text-anchor:end}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis.y text{text-anchor:end}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis.y text[transform].backwards{text-anchor:start}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis.y2 text{text-anchor:start}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis.y2 text[transform].backwards{text-anchor:end}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis .guide.line{stroke-dasharray:4,4}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis .major.guide.line{stroke-dasharray:6,6}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .horizontal .axis.y .guide.line,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .horizontal .axis.y2 .guide.line,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .vertical .axis.x .guide.line{opacity:0}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .horizontal .axis.always_show .guide.line,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .vertical .axis.always_show .guide.line{opacity:1 !important}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis.y .guides:hover .guide.line,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis.y2 .guides:hover .guide.line,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis.x .guides:hover .guide.line{opacity:1}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .axis .guides:hover text{opacity:1}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .nofill{fill:none}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .subtle-fill{fill-opacity:.2}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .dot{stroke-width:1px;fill-opacity:1}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .dot.active{stroke-width:5px}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .dot.negative{fill:transparent}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 text,#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 tspan{stroke:none !important}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .series text.active{opacity:1}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .tooltip rect{fill-opacity:.95;stroke-width:.5}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .tooltip text{fill-opacity:1}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .showable{visibility:hidden}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .showable.shown{visibility:visible}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .gauge-background{fill:rgba(229,229,229,1);stroke:none}#chart-9614bafb-d74d-456c-82bf-e9be831baeb0 .bg-lines{stroke:rgba(249,249,249,1);stroke-width:2px}</style><script type="text/javascript">window.pygal = window.pygal || {};window.pygal.config = window.pygal.config || {};window.pygal.config['9614bafb-d74d-456c-82bf-e9be831baeb0'] = {"allow_interruptions": false, "box_mode": "extremes", "classes": ["pygal-chart"], "css": ["file://style.css", "file://graph.css"], "defs": [], "disable_xml_declaration": false, "dots_size": 2.5, "dynamic_print_values": false, "explicit_size": false, "fill": false, "force_uri_protocol": "https", "formatter": null, "half_pie": false, "height": 600, "include_x_axis": false, "inner_radius": 0, "interpolate": null, "interpolation_parameters": {}, "interpolation_precision": 250, "inverse_y_axis": false, "js": ["//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js"], "legend_at_bottom": false, "legend_at_bottom_columns": null, "legend_box_size": 12, "logarithmic": false, "margin": 20, "margin_bottom": null, "margin_left": null, "margin_right": null, "margin_top": null, "max_scale": 16, "min_scale": 4, "missing_value_fill_truncation": "x", "no_data_text": "No data", "no_prefix": false, "order_min": null, "pretty_print": false, "print_labels": false, "print_values": false, "print_values_position": "center", "print_zeroes": true, "range": null, "rounded_bars": null, "secondary_range": null, "show_dots": true, "show_legend": true, "show_minor_x_labels": true, "show_minor_y_labels": true, "show_only_major_dots": false, "show_x_guides": false, "show_x_labels": true, "show_y_guides": true, "show_y_labels": true, "spacing": 10, "stack_from_top": false, "strict": false, "stroke": true, "stroke_style": null, "style": {"background": "rgba(249, 249, 249, 1)", "ci_colors": [], "colors": ["#F44336", "#3F51B5", "#009688", "#FFC107", "#FF5722", "#9C27B0", "#03A9F4", "#8BC34A", "#FF9800", "#E91E63", "#2196F3", "#4CAF50", "#FFEB3B", "#673AB7", "#00BCD4", "#CDDC39", "#9E9E9E", "#607D8B"], "font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "foreground": "rgba(0, 0, 0, .87)", "foreground_strong": "rgba(0, 0, 0, 1)", "foreground_subtle": "rgba(0, 0, 0, .54)", "guide_stroke_dasharray": "4,4", "label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "label_font_size": 10, "legend_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "legend_font_size": 14, "major_guide_stroke_dasharray": "6,6", "major_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "major_label_font_size": 10, "no_data_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "no_data_font_size": 64, "opacity": ".7", "opacity_hover": ".8", "plot_background": "rgba(255, 255, 255, 1)", "stroke_opacity": ".8", "stroke_opacity_hover": ".9", "title_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_size": 16, "tooltip_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_size": 14, "transition": "150ms", "value_background": "rgba(229, 229, 229, 1)", "value_colors": [], "value_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "value_font_size": 16, "value_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "value_label_font_size": 10}, "title": "Browser Market Share", "tooltip_border_radius": 0, "tooltip_fancy_mode": true, "truncate_label": null, "truncate_legend": null, "width": 800, "x_label_rotation": 0, "x_labels": null, "x_labels_major": null, "x_labels_major_count": null, "x_labels_major_every": null, "x_title": null, "xrange": null, "y_label_rotation": 0, "y_labels": null, "y_labels_major": null, "y_labels_major_count": null, "y_labels_major_every": null, "y_title": null, "zero": 0, "legends": ["Chrome", "Safari", "Firefox", "Others"]}</script><script type="text/javascript" xlink:href="https://kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js"></script></defs><title>Browser Market Share</title><g class="graph pie-graph vertical"><rect x="0" y="0" width="800" height="600" class="background"></rect><g transform="translate(100, 46)" class="plot"><rect x="0" y="0" width="679.2" height="534" class="background"></rect><g class="series serie-0 color-0"><g class="slices"><g class="slice"><path d="M339.600000 26.700000 A240.300000 240.300000 0 0 1 480.844796 461.406784 L339.600000 267.000000 A0.000000 0.000000 0 0 0 339.600000 267.000000 z" class="slice reactive tooltip-trigger"></path><desc class="value">40</desc><desc class="x centered">453.86944043286275</desc><desc class="y centered">229.87160812585006</desc></g></g></g><g class="series serie-1 color-1"><g class="slices"><g class="slice"><path d="M480.844796 461.406784 A240.300000 240.300000 0 0 1 111.061119 341.256784 L339.600000 267.000000 A0.000000 0.000000 0 0 0 339.600000 267.000000 z" class="slice reactive tooltip-trigger"></path><desc class="value">30</desc><desc class="x centered">302.4716081258501</desc><desc class="y centered">381.2694404328627</desc></g></g></g><g class="series serie-2 color-2"><g class="slices"><g class="slice"><path d="M111.061119 341.256784 A240.300000 240.300000 0 0 1 111.061119 192.743216 L339.600000 267.000000 A0.000000 0.000000 0 0 0 339.600000 267.000000 z" class="slice reactive tooltip-trigger"></path><desc class="value">10</desc><desc class="x centered">219.45000000000002</desc><desc class="y centered">267.0</desc></g></g></g><g class="series serie-3 color-3"><g class="slices"><g class="slice"><path d="M111.061119 192.743216 A240.300000 240.300000 0 0 1 339.600000 26.700000 L339.600000 267.000000 A0.000000 0.000000 0 0 0 339.600000 267.000000 z" class="slice reactive tooltip-trigger"></path><desc class="value">20</desc><desc class="x centered">268.9776019370594</desc><desc class="y centered">169.79660812585007</desc></g></g></g></g><g class="titles"><text x="400.0" y="26" class="title plot_title">Browser Market Share</text></g><g transform="translate(100, 46)" class="plot overlay"><g class="series serie-0 color-0"></g><g class="series serie-1 color-1"></g><g class="series serie-2 color-2"></g><g class="series serie-3 color-3"></g></g><g transform="translate(100, 46)" class="plot text-overlay"><g class="series serie-0 color-0"></g><g class="series serie-1 color-1"></g><g class="series serie-2 color-2"></g><g class="series serie-3 color-3"></g></g><g transform="translate(100, 46)" class="plot tooltip-overlay"><g transform="translate(427.765625 204.1484375)" style="opacity: 0; display: none;" class="tooltip"><rect rx="0" ry="0" width="50.46875" height="49.703125" class="tooltip-box"></rect><g class="text"><text x="5" dy="0" class="legend" y="5" style="dominant-baseline: text-before-edge;">Chrome</text><text x="5" dy="15.234375" class="value color-0" y="5" style="dominant-baseline: text-before-edge;">40</text></g></g></g><g transform="translate(10, 56)" class="legends"><g id="activate-serie-0" class="legend reactive activate-serie"><rect x="0.0" y="1.0" width="12" height="12" class="color-0 reactive"></rect><text x="17.0" y="11.2">Chrome</text></g><g id="activate-serie-1" class="legend reactive activate-serie"><rect x="0.0" y="22.0" width="12" height="12" class="color-1 reactive"></rect><text x="17.0" y="32.2">Safari</text></g><g id="activate-serie-2" class="legend reactive activate-serie"><rect x="0.0" y="43.0" width="12" height="12" class="color-2 reactive"></rect><text x="17.0" y="53.2">Firefox</text></g><g id="activate-serie-3" class="legend reactive activate-serie"><rect x="0.0" y="64.0" width="12" height="12" class="color-3 reactive"></rect><text x="17.0" y="74.2">Others</text></g></g><g transform="translate(790, 56)" class="legends"></g></g></svg>
</body>
</html>]]>