Interactive Bar Charts
When to reach for a bar chart
Section titled “When to reach for a bar chart”Bars are the right shape when you’re comparing totals across separate categories — cities, products, days of the week — where each category stands on its own (no implied continuity between them, unlike a line chart). Bar length is one of the easiest visual encodings for people to compare accurately, which is why bar charts are the safest default for “which is bigger?” questions.
Basic bar chart
Section titled “Basic bar chart”import pandas as pd
import plotly.express as px
df = pd.DataFrame({
"city": ["Pune", "Delhi", "Mumbai", "Bengaluru"],
"sales": [120, 180, 90, 160],
})
fig = px.bar(df, x="city", y="sales", title="Sales by city")
fig.show()Sorted bars
Section titled “Sorted bars”import pandas as pd
import plotly.express as px
df = pd.DataFrame({
"city": ["Pune", "Delhi", "Mumbai", "Bengaluru"],
"sales": [120, 180, 90, 160],
}).sort_values("sales", ascending=False)
fig = px.bar(df, x="city", y="sales", title="Sales by city (sorted)")
fig.show()Sorting by value (instead of leaving categories alphabetical) turns the chart into a ranking at a glance — the reader doesn’t have to hunt for the tallest bar.
Horizontal bar
Section titled “Horizontal bar”import plotly.express as px
fig = px.bar(df, x="sales", y="city", orientation="h", title="Sales by city")
fig.show()Horizontal bars are handy when category labels are long — they read left-to-right instead of getting squeezed or rotated on the x-axis.
- Sort by value when ranking matters more than alphabetical order.
- Use
color=to add a second grouping dimension (e.g. region) alongside category. - Keep the y-axis starting at zero — a truncated axis makes bar-height comparisons misleading.
flowchart LR
A["Mouse moves over chart"] --> B{"Cursor over a bar's area?"}
B -- "Yes" --> C["Highlight that bar
show tooltip: category + value"]
B -- "No" --> D["No highlight"]
Continue to: Interactive Scatter Plots for exploring relationships between two variables.
🧪 Try It Yourself
Section titled “🧪 Try It Yourself”Exercise 1 – Build a Bar Chart
Section titled “Exercise 1 – Build a Bar Chart”Exercise 2 – Sort Before Plotting
Section titled “Exercise 2 – Sort Before Plotting”Exercise 3 – Go Horizontal
Section titled “Exercise 3 – Go Horizontal”pch.coffeeTagline
pch.coffeeCtapch.feedbackHeading
pch.feedbackSubheading