pie charts inside a bubble chart

Posted on 2011-03-09
Medium Priority
Last Modified: 2012-06-21
I have a bubble chart (see attached file). I want to display the split between "complex" and  "standard" percentages (Column "F" and "G").  Is it possible to display pie charts inside this bubble charts?
Question by:fitaliano
LVL 33

Expert Comment

ID: 35087494
It's not possible to do that. I would suggest that you make a pie chart and put on top of the bubble chart, on a corner, like a "zoom" of the data to show the split...that's the only solution I can think of...

LVL 15

Accepted Solution

CSLARSEN earned 2000 total points
ID: 35087649
It is not easy but I have used this with success.
LVL 50
ID: 35088357

You could create your pie charts separately, copy the pie charts as pictures and use these pictures to format each individual bubble with a picture fill from Clipboard.

This will retain the pie chart when the bubble changes position.

It will also grow or shrink with the bubble size.

But the image fills within the bubble chart are not dynamic, so if the pie charts change, you will need to re-do the image fill for the bubbles.

There's probably a way to store the images to disk and have them updated automatically via VBA and then connect each bubble with a specific image on disk.

See attached file for an implementation of the manual approach created with Excel 2010

cheers, teylyn

Author Comment

ID: 35089089
Thank you cslarsen,

it is the right solution.  I don't think I am getting the code right though. Could you help me out?

This my code (the updated file is attached:

Sub PieMarkers()
    Dim chtMarker As Chart
    Dim chtMain As Chart
    Dim intPoint As Integer
    Dim rngRow As Range
    Dim lngPointIndex As Long
    Application.ScreenUpdating = False
     ' reference to pie chart
    Set chtMarker = ActiveSheet.ChartObjects("chtPieMarker").Chart
     ' reference to chart that pie markers will be applied to
    Set chtMain = ActiveSheet.ChartObjects(1).Chart
     ' pie chart data which will be processed by rows
    For Each rngRow In Range("A1:D6").Rows
         ' assign new values to pie chart
        chtMarker.SeriesCollection(1).Values = rngRow
         ' copy pie
        chtMarker.Parent.CopyPicture xlScreen, xlPicture
         ' paste to appropriate data point
        lngPointIndex = lngPointIndex + 1
     ' release objects
    Set chtMarker = Nothing
    Set chtMain = Nothing
    Application.ScreenUpdating = False
End Sub

LVL 15

Expert Comment

ID: 35092248
Hi f,
Ok, you have switched the name of the marker-chart and the bubble chart
(Chart 3 in the original example.)

Check this example
Thx for the grade

Featured Post

Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
Manually copying shapes and their assigned macros one by one to a new location can be tedious, but if you use the Excel utility workbook attached to this article, the process will be much quicker and easier.
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question