Bublinové grafy
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
Bublinové grafy v Excelu jsou atraktivním způsobem jak přehledně vizualizovat data. Jejich vytvoření však nemusí být tak úplně jednoduché. Pojďme se tedy podívat, jak na to.
Příklad
Řekněme, že chci vytvořit tento graf. Na jedné ose je podíl na trhu, na druhé ose je tempo růstu trhu. Velikost bublin pak znázorňuje velikost tržeb za tento výrobek. Jak možná poznáte, tento graf vychází z BCG matice popisující výrobkové portfolio firmy.
Návod
Existují minimálně tři způsoby jak bublinkový graf vytvořit. Ve všech budeme vycházet z následující tabulky:
Prosté označení oblasti a vložení grafu
První způsob by asi napadl každého, má ale svá negativa. Označíme oblast všech dat kromě popisků a vložíme bublinkový graf.
Ten vypadá takto. Tedy neobsahuje ani legendu, ani popisky bublin - nepoznám, která bublina je který výrobek. Mohu však přidat alespoň popisky. Tedy nejprve je vložím:
Pak je změním a přitom zdroj těchto popisků odkážu na přehled výrobků.
Takto vypadá výsledek.
V grafu jsou všechny bublinky stejně barevné. To se dá změnit tak, že každou bublinku natvrdo přebarvíme. Vypovídá to však o tom, že všechny bubliny jsou jednou datovou řadou. Což se nám nelíbí hlavně proto, že k takovém grafu není možné přidat smysluplnou legendu. Pokud legendu nepotřebujete, nemusíte už dál číst. Pokud, ano, pojďme na bod dva.
Postupné vložení bublin
V tomto případě vložíme nejprve graf, aniž bychom předem vybrali data. Vloží se tedy prázdný.
My pak zdroj dat musíme změnit.
Klikneme na Přidat. Postupně doplňujeme odkazy na buňky s hodnotami dle obrázku - název, hodnota na x, hodnota na y, velikost bubliny.
To uděláme pro všechny řádky. Do grafu tak postupně přibývají bublinky, až je graf hotov. Všimneme si, že každá bublinka už je jinak barevná (jedná se totiž o různé datové řady), a také je možné snadno přidat legendu.
Na druhou stranu je jasné, že při větším množství bublin je tento postup pořádně zdlouhavý.
Makro
Řešením té zdlouhavosti je makro. Nemusíte ho chápat, ale můžete ho použít. Přiznávám se - toto makro jsem nevykoumal sám, ale zkopíroval přímo ze stránek Microsoftu. Stačí označit celou tabulku a pak makro spustit. Makro v zásadě dělá to samé co předchozí postup - ale na jeden klik.
Public Sub CreateMultiSeriesBubbleChart() If (selection.Columns.Count <> 4 Or selection.Rows.Count < 3) Then MsgBox "Selection must have 4 columns and at least 2 rows" Exit Sub End If Dim bubbleChart As ChartObject Set bubbleChart = ActiveSheet.ChartObjects.Add(Left:=selection.Left, Width:=600, Top:=selection.Top, Height:=400) bubbleChart.chart.ChartType = xlBubble Dim r As Integer For r = 2 To selection.Rows.Count With bubbleChart.chart.SeriesCollection.NewSeries .Name = "=" & selection.Cells(r, 1).Address(External:=True) .XValues = selection.Cells(r, 2).Address(External:=True) .Values = selection.Cells(r, 3).Address(External:=True) .BubbleSizes = selection.Cells(r, 4).Address(External:=True) End With Next bubbleChart.chart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis) bubbleChart.chart.Axes(xlCategory, xlPrimary).AxisTitle.Text = "=" & selection.Cells(1, 2).Address(External:=True) bubbleChart.chart.SetElement (msoElementPrimaryValueAxisTitleRotated) bubbleChart.chart.Axes(xlValue, xlPrimary).AxisTitle.Text = "=" & selection.Cells(1, 3).Address(External:=True) bubbleChart.chart.SetElement (msoElementPrimaryCategoryGridLinesMajor) bubbleChart.chart.Axes(xlCategory).MinimumScale = 0 End Sub
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
Sekce “Postupné vložení bublin” mi vyřešila problém, dík moc. Jen moc nechápu, proč to Excel neumí automaticky, jako jiné grafy… Ještě jednou dík! Jirka