Práce se sloupcovými grafy

Úvod do vizualizace dat v Julii

Gustavo Vieira Suñe

Data Analyst

Sloupcové grafy

Sloupcový graf zobrazující průměrné ceny různých produktů v Indii.

Úvod do vizualizace dat v Julii

Sloupcové grafy vs. histogramy

  • Rozložení numerických dat

Histogram zobrazující rozložení cen cibule a pšenice.

  • Porovnání kategorií

Sloupcový graf zobrazující průměrné ceny různých produktů v Indii.

Úvod do vizualizace dat v Julii

Náš datový soubor

Date State Centre Product Price
APR-2001 Andhra Pradesh Chittoor Bathing Soap 10.0
APR-2001 Andhra Pradesh Chittoor Ink 10.0
... ... ... ... ...
SEP-2016 Bihar Patna Paper 38.0
SEP-2016 Bihar Patna Toothpaste 50.0
  • Průměrné ceny (using Statistics)
# Group by each product
grouped = groupby(product, :Product)

# Calculate average prices mean_prices = combine( grouped, :Price => mean )
# Sort from higest to lowest sorted_mean_prices = sort( mean_prices, :Price_mean, rev=true )
Úvod do vizualizace dat v Julii

Vytváření sloupcových grafů

# Create bar chart
bar(
    # Categories in x-axis
    sorted_mean_prices.Product,
    # Values in y-axis
    sorted_mean_prices.Price_mean,

# Set bar width bar_width=0.5
label=false, color=:royalblue1, ) title!("Product Prices in India") ylabel!("Average Price (Rupees)")

Sloupcový graf zobrazující průměrné ceny různých produktů v Indii.

Úvod do vizualizace dat v Julii

Vodorovné sloupcové grafy

# Create bar chart
bar(
    # Values in the y-axis
    sorted_mean_prices.Product,
    # Values in x-axis
    sorted_mean_prices.Price_mean,

# Set orientation to horizontal permute=(:x, :y),
label=false, color=:royalblue1, ) title!("Product Prices in India") xlabel!("Average Price (Rupees)")

Vodorovný sloupcový graf zobrazující průměrné ceny různých produktů v Indii.

Úvod do vizualizace dat v Julii

Produkty podle státu

  • Filtrování vybraných států
filtered_product = filter(
    row -> row.State in ["Maharashtra", "Goa", "Gujarat"],
    product)
  • Průměrné ceny každého produktu podle státu
# Group by state and product
filtered_grouped = groupby(filtered_product, [:State, :Product])

# Calculate average prices filtered_mean_prices = combine( filtered_grouped, :Price => mean )
Úvod do vizualizace dat v Julii

Skupinové sloupcové grafy

# Create grouped bar chart
groupedbar(
    # Categories in x-axis
    filtered_mean_prices.Commodity,
    # Values in y-axis
    filtered_mean_prices.Price_mean,

# Define groups group=filtered_mean_prices.State,
color=[:teal :yellow2 :tomato3] ) title!("Prices in India by State") ylabel!("Average Price (Rupees)")

Skupinový sloupcový graf zobrazující ceny vybraných produktů v Indii seskupené podle státu, se sloupci vedle sebe.

Úvod do vizualizace dat v Julii

Skládání sloupců

# Create grouped bar chart
groupedbar(
    # Categories in x-axis
    filtered_mean_prices.Commodity,
    # Values in y-axis
    filtered_mean_prices.Price_mean, 
    # Define groups
    group=filtered_mean_prices.State,
    color=[:teal :snow2 :tomato3],

# Stack the bars bar_position=:stack
) title!("Product Prices in India by State") ylabel!("Average Price (Rupees)")

Skupinový sloupcový graf zobrazující ceny vybraných produktů v Indii seskupené podle státu, s naskládanými sloupci.

Úvod do vizualizace dat v Julii

Pojďme si procvičit!

Úvod do vizualizace dat v Julii

Preparing Video For Download...