Multiple axis line chart in excel - excel

I'm looking for a multiple axis line chart similar to the one in the image below, (which is a javascript chart made by amcharts).
Does excel have an option to draw charts line these? Note there are 3 Y axes, and 3 line charts allowing you to compare data.
Is it possible to get more than 3 data points, each with unique axis on one chart ?

It is possible to get both the primary and secondary axes on one side of the chart by designating the secondary axis for one of the series.
To get the primary axis on the right side with the secondary axis, you need to set to "High" the Axis Labels option in the Format Axis dialog box for the primary axis.
To get the secondary axis on the left side with the primary axis, you need to set to "Low" the Axis Labels option in the Format Axis dialog box for the secondary axis.
I know of no way to get a third set of axis labels on a single chart. You could fake in axis labels & ticks with text boxes and lines, but it would be hard to get everything aligned correctly.
The more feasible route is that suggested by zx8754: Create a second chart, turning off titles, left axes, etc. and lay it over the first chart. See my very crude mockup which hasn't been fine-tuned yet.

The picture you showd in the question is actually a chart made using JavaScript. It is actually very easy to plot multi-axis chart using JavaScript with the help of 3rd party libraries like HighChart.js or D3.js. Here I propose to use the Funfun Excel add-in which allows you to use JavaScript directly in Excel so you could plot chart like you've showed easily in Excel. Here I made an example using Funfun in Excel.
You could see in this chart you have one axis of Rainfall at the left side while two axis of Temperature and Sea-pressure level at the right side. This is also a combination of line chart and bar chart for different datasets. In this example, with the help of the Funfun add-in, I used HighChart.js to plot this chart.
Funfun also has an online editor in which you could test your JavaScript code with you data. You could check the detailed code of this example on the link below.
https://www.funfun.io/1/#/edit/5a43b416b848f771fbcdee2c
Edit: The content on the previous link has been changed so I posted a
new link here. The link below is the original link
https://www.funfun.io/1/#/edit/5a55dc978dfd67466879eb24
If you are satisfied with the result you achieved in the online editor, you could easily load the result into you Excel using the URL above. Of couse first you need to insert the Funfun add-in from Insert - My add-ins. Here are some screenshots showing how you could do this.
Disclosure: I'm a developer of Funfun

There is a way of displaying 3 Y axis see here.
Excel supports Secondary Axis, i.e. only 2 Y axis. Other way would be to chart the 3rd one separately, and overlay on top of the main chart.

An alternative is to normalize the data. Below are three sets of data with widely varying ranges. In the top chart you can see the variation in one series clearly, in another not so clearly, and the third not at all.
In the second range, I have adjusted the series names to include the data range, using this formula in cell C15 and copying it to D15:E15
=C2&" ("&MIN(C3:C9)&" to "&MAX(C3:C9)&")"
I have normalized the values in the data range using this formula in C15 and copying it to the entire range C16:E22
=100*(C3-MIN(C$3:C$9))/(MAX(C$3:C$9)-MIN(C$3:C$9))
In the second chart, you can see a pattern: all series have a low in January, rising to a high in March, and dropping to medium-low value in June or July.
You can modify the normalizing formula however you need:
=100*C3/MAX(C$3:C$9)
=C3/MAX(C$3:C$9)
=(C3-AVERAGE(C$3:C$9))/STDEV(C$3:C$9)
etc.

Taking the answer above as guidance;
I made an extra graph for "hours worked by month", then copy/special-pasted it as a 'linked picture' for use under my other graphs. in other words, I copy pasted my existing graphs over the linked picture made from my new graph with the new axis.. And because it is a linked picture it always updates.
Make it easy on yourself though, make sure you copy an existing graph to build your 'picture' graph - then delete the series or change the data source to what you need as an extra axis. That way you won't have to mess around resizing.
The results were not too bad considering what I wanted to achieve; basically a list of incident frequency bar graph, with a performance tread line, and then a solid 'backdrop' of hours worked.
Thanks to the guy above for the idea!

Best and Free ( maybe only) solution for this is google sheets.
i don't know whether it plots as u expected or not but certainly you can draw multiple axes.
Regards
keerthan

Related

How do I create a contour map like the one in the attached image? (preferably in Excel, but open to other options)

I need to create a graph that properly represents the profit-maximizing model of aircraft in different scenarios. I apologize in advance for my lack of understanding in what exactly to call it. As mentioned, I have found the type of graph that would best represent this, but cannot figure out how to code/create it. I have tried using Excel and Think-Cell (and either one of them may work, I just haven't figured out how) and haven't had much luck. The image below represents the ideal graph, linked here:
Does anyone have any idea how to best go about this? Thanks in advance.
Edit: The data I have now looks like this, linked here:
You need to use the data to generate a Stacked Column chart.
Here is how I set up my own example data (before you posted your own data format):
Next, select all rows and only the first four columns of the data (42R x 5C) and Insert-->Charts-->2D Column-->Stacked Column. You should get a chart like this:
Then change the vertical axis options to show Bounds Min=1.0, Max=4.0, Units Major=0.2, Minor=0.1.
Next, select any of the data series in the chart and format the Series Options for Series Overlap=100%, Gap Width=0%.
After that, I deleted the Title and Legend, set the Line Style for both Axis to Solid Fill, Black Color. Then I changed the data series colors to be close to your example. Lastly, make sure the chart is selected (the border is highlighted with the squares at the corners), then Insert a TextBox over your data and type "B747-200P2F" and manually place it over the correct data area. Repeat this for the other series and you get this:
Finally, we'll work on the Jet Fuel price line. This series will be added to the chart, then plotted on the secondary axis and it's chart type changed to Line.
To start, select only the Jet Fuel price column (F1:F42) and then copy that range into the clipboard. Then, make sure the chart is selected and, from the Home ribbon, select Paste Special. Use the default settings, or choose Add cells as New Series, Values (Y) in Columns, check Series Names in First Row, uncheck Categories (X Labels) in First Column, then click OK. (Not much will seem different on the chart yet!)
The next steps are important to take in order (at least for me). Select only the "Jet Fuel Price" series and change the Series Options to Plot on Secondary Axis. Then change the axis options to set the range from 1.0 to 4.0 and set labels to None. Just so we're tracking, here's what I have so far:
The (almost) final step is to select only the "Jet Fuel Price" series again, then right click it and choose Change Series Chart Type. Make sure you select the Combo chart type and make the selections for each of the series chart types as indicated in this picture:
Now (finally!) just add another textbox, put in your label and set the text color to red.

Add line to Scatter Plot

I did a scatterplot with two data series (blue and orange in the picture).
The orange line you see that connects the dots I did manually and I am looking for a way to have this automatic through the chart menu in Excel. Any idea who this can be done?
I am using Excel version 2013
The chart type you are trying to create is called a Step Chart. Unfortunately Excel doesn't natively offer this chart type, but there are several ways to fake them in Excel. You can use an XY chart with Error Bars to produce the horizontal lines, or you can use a column chart with extra in-between data points to fill the gaps between your actual data points, and you can probably also use another hack where you tell Excel that the x axis is a date axis.
It's a bit hard to advise which approach would suit you best without knowing whether your actual data matches the example you've posted or whether it differs in some way. If you can elaborate further I'll amend this answer with some examples.
Edit: Since your data is as described, you should be able to use the approaches outlined at https://peltiertech.com/Excel/ChartsHowTo/StepChart.html
Or alternately, just add in extra coordinates to direct Excel where to draw the line:
...and then delete the markers of the data points you want to hide:

Excel chart with countries in y-axis, % in x-axis, circles as markers and control groups

Do you know if this chart, as shown in the following image, can be done in Excel?
Chart:
I don't even know how this kind of chart is named, so I cannot search in the web for tutorials. I don't need to display three points on every row as in this chart (one is enough), and even I can mark the control group manually.
Yes this can be done in Excel.
If you want vertical orientation like on the picture above, then you should probably use the Scatter chart with quite some modifications. You would set the x values of the series to your values and the y values can be just 1,2,3,4,5.... The biggest problem with this approach would be how to display the correct categories. There is a tool to help you do that and it is discussed here: https://superuser.com/questions/485883/how-to-create-dynamic-scatter-plot-matrix-with-labels-and-categories-on-both-axi
For horizontal one you can use a normal line chart - with hidden line and only markers visible (Excel doesn't support vertical line graphs).
Even three groups are easy to do, you just need to add three series and format them accordingly.
The lines are also quite easy to do, you add minor / major gridlines to the chart and then format those as well.

Excel - self adjusting chart marker

I have a series of line graphs in excel that is data over time.
There are several date milestones in the chart (I.E. Nov 24th: Black Friday)
On the chart I'm trying to put in an arrow on the chart with the label over the chart near the date. (See attached, below)
The problem is that these are manually added and as I expand the data in the chart (add another month of data) the chart compresses and my milestone markers have to all be hand repositioned.
How can I do these milestone markers so that I don't have to hand edit the table every time I expand the chart? A sample chart with a column for the desired labels can be found at this link.
As an added note, I'm using Office (Excel) 11 for Mac.
is it possible to use data labels for the milestones? There is a nice article about using a formula to make a custom data label:
http://chandoo.org/wp/2010/05/05/change-data-labels-in-charts/
Make your arrow and label outside the chart. Plot a new series with one point, with X corresponding to the date and Y determined appropriately (as I'll describe in a moment).
Copy the shapes you want to use as a milestone, select the point you added above, and paste (Ctrl+V).
Now adjust the Y value for this point so the milestone is where you want it.
This tutorial shows a similar approach:
Use an Arrow to Indicate Special Points

Partially missing gridlines on log-scale charts in Excel 2007

I'm using Excel 2007 to create a log-scale chart of numbers (specifically the Zimbabwean dollar exchange rate) over time. I'm using an x-y scatterplot and noticing one odd quirk.
The range of y values (numbers) spans a factor of about 10^30. On every chart I make using this data, half the gridlines are missing. Specifically, only the gridlines corresponding to the largest values show up. In fact, regardless of the total range only the top factor of 10^13 or so have gridlines. This is not dependent on the log base.
Am I doing something wrong? Is this a known bug? I can't find any references to this issue on google or microsoft's bug reports.
Silly work around as well, but if you are going to be presenting your graph in Powerpoint, you can make the background color of the graph "no fill" and then when you paste it into Powerpoint (I paste it as a PDF). You can draw grid lines and match them up with the ticks on the y-axis. Arrange your graph "bring to front" when you are finished drawing so that the lines won't appear in front of your data. You can group it all to make sure the lines don't shift while making your presentation and so that they re-size properly if you re-size your graph.
I'm having the same problem, it's definitely a bug.
Try a sequence 1, 10, 100, 1e+12, 1e+30 vs 0..4 and plot x,y scatter, and clearly the scale grid is messed-up even in linear, and in log is the behaviour you described.
My workaround was to make a transformation of the values and depict them scaled down (by a Million factor). That way the data the graph is handling is never above 10e9 (the value I started to hit issues).
So, my suggestion is: graph a Log version of the data (and clearly make a legend for it)
I was able to replicate your problem and come up with a pseudo-workaround.
The formatting goes a bit funny, but all the lines show up if you right-click on the axis, select Format Axis. Under the Axis Options, there is a Horizontal Axis Crosses setting. Changing it from Automatic to Maximum Axis Value causes all the gridlines to appear.
Ran into same thing: Will not show log grid lines for y-axis ranging below 1e-7. Have need for dynamic range of 1e5 down to 1e-15. Tagging auto or max will show grid, but puts axis labels in non-useful place for display.
My workaround: used Open Office to get what I needed. Could not find useful solution in Excel 2010.

Resources