I have the following table. Now, what I want to do create an XY-plot of each risk ID against X-axis = ProjectPhase (a risk can either be in phase 1 thru 4 and they're non-numerical) with Y-axis = Risk Factor (numerical). I want to color each risk based on its theme. Is this even possible?
I tried messing around the PivotCharts, but without any luck. I was able to get the X-axis right, but I couldn't figure out how to make Risk Factor = Y-axis.
What's the most efficient way of achieving a chart that I am describing?
I truly appreciate your help!
If your Phases really are named Phase 1 ... Phase n then you could simply drop the word "Phase" from the phase names and move it to the axis title.
The theme colours would need to be applied manually to each data point, if feasible (not sure how large your true data set is); otherwise, #Sam Hall is probably correct, that you need to handle this through VBA.
Related
I am kind of a newbie with Excel, so asking this question here. I have already checked some videos but the examples do not fit my need, so I am wondering if this is even possible.
I have a line chart with 10 data points, and for each data point I am currently using a built-in dot marker. The data values can go from 1 to 5, which corresponds to a net promoting score where 1 is "extremely satisfied" and 5 is "extremely satisfied": I would like to have an emoticon to represent each value, e.g. sad face for 1 and happy face for 5, and have this in a systematic way, so that every chart I generate will have these custom markers displayed depending on the value.
I would go with:
having a separate sheet with a table containing the values and the related images (not sure if this is even possible)
creating some sort of magic formula to link the data value to the image
apply the magic formula to the charts
Is this approach correct? Is this even possible?
Thank you.
I wanted to make a dynamic chart that plots out the graph of a standard curve for a bio assay we perform frequently. Often to boost the fit of the curve you may drop one or two data points on either end of the data set. So using vlookups and if statements I have a scheme that performs that data trimming, such that my data always starts in Row 1 and the column length simply shortens.
My table works great, but my xy scatter chart goes bananas on these changes. I have the plot on a log log scale, which looks fine if the full data set is present. I lose the x axis detail when I perform a trim. The x- axis then resets to range of 1 to length of my data set.
How can I prevent this?
UPDATE
I added some information. I know there are VBA ways to do this but I would prefer to keep the spreadsheet as simple as possible. I would think excel should be able to handle this.
So if I have a bad fit I may want to trim the data series either from the beginning or end of the data set. I accomplish that with the spinner buttons to dynamically change the table but the following happens
My formula that updates the columns looks like the following. Its messy.
=IF(ISNA(IF(VLOOKUP(F6,$C$4:$D$11,2,FALSE)+1>8-($B$5-1),"",INDEX(C$4:C$11,VLOOKUP(F6,$C$4:$D$11,2,FALSE)+1))),"",IF(VLOOKUP(F6,$C$4:$D$11,2,FALSE)+1>8-($B$5-1),"",INDEX(C$4:C$11,VLOOKUP(F6,$C$4:$D$11,2,FALSE)+1)))
In the formulas use NA() instead of "". Filling cell with "" does not result in a true empty cell and is the reason why you are experiencing issues with your chart.
Hope that helps.
I may be missing the obvious here, but just hard-code the graph with a range of your choosing. In the sample screenshot, making the graph auto defaults the max range to 100,000. I went in and hard-coded the maximum to 50,000 (circled). Afterwards, the 5th data point is not displayed in the chart. Doesn't matter what the data shows at this point.
I started working with Tableau and found out how to do waterfall charts (Gantt-charts, rolling sum for y-axis and negative value for length of bar. See here: tableau tutorial waterfall charts)
Now my question would be if there is a possibility to split the color by some category? To show what I'm talking about I set up some waterfalls with excel powerpoint. The first one without a split by a category and the second one with a split by category.
I would appreciate any help
It is as simple as dragging the right field to Color, and adjusting the table calculation.
If it's a simple running sum (for the positioning of the bar), you need to go edit the table calculation, select Compute using Advanced..., then drag all fields to addressing. Then you need to sort your data by the master field (in your case the one that has Coffee, Coke,...) maximum (ascending or descending, doesn't matter).
This way you guarantee that the running sum is being applied to one category at a time (at not one color at a time or something like that).
It's really important to understand the concept of table calculations so you can understand what's going on, how Tableau is calculating stuff. Read this http://onlinehelp.tableausoftware.com/current/pro/online/en-us/help.htm#calculations_tablecalculations_understanding_addressing.html
And if you actually understand what you're doing, it's easier to find a solution. For instance, this hack of Gantt Chart to make a waterfall. What goes on rows the chart will understand at starting point of the data, and what goes on size is, well, the size of the chart. You put negative values cause you want the bar to go down.
That being said, dragging a field to color won't mess up with the size, but it will mess up with the running sum used to determine the starting points. How to solve it? make it calculate all the colors together. How to make it? Understand table calculations and reach my solution.
This is the simple approach, if your database or fields have some peculiarity, this might not work perfectly, and you'll need to explain so I can try to understand how to solve
I have a table (came from a pivot table) where I have formatted the column 4 cells to show 1 billion as 1. But when I select the table and insert a chart, I am getting my units in millions. So the 14.8 billion number for Mexico is showing up as 14,800 on the chart. Why might this be happening and how can I fix this? This is also making all my other bars negligibly small. Note that the first three columns are not in billions and are totally different things. Some are percentages, some are other small numbers.
Table:
Chart:
You need a secondary horizontal axis and some formatting on the Axes.
In Excel 2013
First change the Chart Type to Combo and select Clustered Bar for both sets of data, then Check
Secondary Axis for the Percentage Series.
Then set up the axis limits so they match, e.g.
Percentage: min -.5 max 2
Billions: min -5e9 max 20e9
Then set the percentage format on the source data to a custom Number format of "";(0)%;0%
Then set the Billions format as 0,,,;"";0
You will get something like this:
EDIT
Now that we have the general principles, we can apply them to your specific data.
I will also switch to Excel 2010 do show the different menus.
The data selection looks like this
Select the non-Billion series (plural!) and check the secondary axis
If the larger data is always positive then you can use custom formatting to clean up the axis
Align the primary and secondary axes so that the grid lines match on both
The end result is clean and readable.
Mixing percentages and numbers for the smaller numbers is not handled by this but I would suggest that that would be confusing anyway?
The simplest way to fix this might be to plot cells containing the billions values divided by 10^9 rather than to plot the billions themselves, though via a secondary axis may be possible.
Using Excel 2007. For the purple bars, the example on the left uses ColumnE values, on the right ColumnF values. E1 contains =F1/10^9 and F1 contains =14800000000:
It appears that there are 3 questions here: 1) "Why might this be happening", 2) "how can I fix this", and 3) something like "how can I plot data which lie on two widely differing ranges, and make them all reasonably visible anyway", even if there was no explicit question on this.
There are several ways to solve issue #2 about the units (e.g., billions) and numbers (e.g., 14.8 vs. 14,800.0) shown in the axis, each one with its own pros and cons:
Use Format Axis -> Axis Options -> Display units.
This might be the answer to your issue #1 as well, you might have the following selection: Display units -> Millions, and unchecked Show display units... Otherwise, I wouldn't know why you chart shows what it shows.
Use faked tick marks, as indicated in the (excellent) site of Jon Peltier
http://peltiertech.com/Excel/Charts/ArbitraryAxis.html
It gives detailed instructions on how to create tick marks on an axis with arbitrary labels (which may be text, numbers, etc.), which is more generic than what the OP wants here. In this particular case, the labels will be the desired numbers.
Create new cells containing data that would be plotted exactly the way you want.
As for your issue #3, I guess the only option is to have a Secondary Axis (see the answer by pnuts).
Thus, to come up with the best final chart for you might use a combination of one of the options I gave here and a secondary axis.
I am facing this difficulty :
I want to indicate where my user is in a range of data in a chart, as well as where the average is.
That's not too difficult, that part I figured out already :)
However, if I have several charts in 1 report, my "user bar'" sometimes gets a different color, according whether it's below or above average.
This is very confusing for my users, because they can't think, let's say, "the yellow bar is always me".
The legend always has to be read, and that's not so user-friendly.
I'll illustrate the problem in an attachment.
I know how to have the same series color, but within this series, I want 1 particular color to always represent the value of the average, another to represent my user, etc.
Is this possible ?!
Thanks a lot in advance.
IMAGE CAN BE FOUND HERE : http://www.kava.be/cms_bldn/jaspercharts.jpg
EDIT: I'm working with the ChartCustomizer now :
BarRenderer renderer = (BarRenderer) chart.getCategoryPlot().getRenderer();
renderer.setSeriesPaint(0, Color.blue);
renderer.setSeriesPaint(1, Color.yellow);
renderer.setSeriesPaint(2, Color.green);
renderer.setSeriesPaint(3, Color.red);
Still, this handles the series in the order they arrive from the resultset.
What I'm looking for is how I can use the series expression (as entered in 'series expression' field in the categorie series dialogue), instead of fixed indexes like 0-3.
I would suggest checking whether the sequence of your series is same in both the chart's chart data, plus color series in chart properties is also or not.
If it is same than it should print same.