Is there a way to do this in spotfire cross table? The column header of the current format would be my data in vertical axis while the horizontal axis would be the date format. I'm not be able to find any sample from the net that the format is look like from my sample below.
Example format would be like:
BR,
JV
The first part of this question is easy to get:
The second part with the YTD you can get with a grand total column. You just cant rename the Grand Total column heading:
The third part with the Projected is where you will have problems. If you try to add it in this form it will show the projected heading/value repeated across all the month dates. You really need a higher level visualization. I would just create two pivot tables and place them really close to each other. I don't think there is a clean way to get this higher level data to show without having the heading repeat for each date, unless you have projection data by month and don't mind summing it up like a grand total again. Going off what you show, I would do something like this:
And set up markings so that when you click, the related rows are highlighted/other rows fade out:
Finally, you could make one chart a details chart of the other by setting up markings. This makes it look a little cleaner and gives it some added interactivity:
Obviously all formatting/names etc. are up to you. This is just made up sample data. Two charts isn't ideal but because you have two different grains I am not sure there is a way to cleanly smash them into the same visualization.
Related
I have a stacked area chart that I'm building using D3.js, but I haven't been able to figure out how to get the end-points of my data to behave properly. Here's a screenshot showing the "issue" I'm seeing:
The data associated with both the orange and dark blue segments start on the beginning of their corresponding months (February 1 and March 1, respectively). However, because the default interpolation mechanism "smooths" the curves, it appears as if non-zero values are present on days prior to the start of the month.
How can I get these end-points to drop vertically? I'm aware of the step-before and step-after interpolation models, but I like the look of the default chart. I simply want the ends to "behave" properly. Here's a mockup of what I envision it would look like:
Is this kind of thing even possible?
To be complete, I ended up switching to the step- style interpolations for my graph, since it provides a more accurate picture of my data.
I am looking to create a line chart which will plot an array of data which has a corresponding x value (date/time) and y value associated with it. The chart can have any number of series (different lines on the same graph). You can think of this as like how yahoo/google graph a particular stock and if you want to compare different companies stock prices on the same chart.
The problem I am facing is that the data I am given might not be given in regular intervals (e.g. series 1 might give an array of plots that occur every 15 mins, series2 might be 10 mins, etc). Also the data might not have the same start / end time (e.g. series 1 starts at 8:40 am, series 2 starts at 8:42 am). There can also be holes in the data where no data was gathered (want to display this as nothing in the chart)
I have thought about some potential ways to solve this problem
Put everything on a 1 minute interval (the smallest possible interval) and place null values for everything we do not have data for. I need to have null values because there are datatips on the graph when you hover over a point to tell you what the value is at that point. The problem with this is that this will cause the graph to become a point graph rather than a line graph and will look ugly. I can tell dojo to interpret the data between null values but I also want to have explicit null values (e.g. when the market is not open leave the space as nothing rather than connecting the lines)
Round the data to the closest interval. The problem with this is the data is no longer accurate for that particular moment which is a problem.
Don't allow them to be plotted together (not an option).
Use a different charting library (last resort)
I am using the dojox charting library and I cannot change the back end code that gives me the data.
What are my options?
I am using Highstock.js to build a stock ticker that spans three days. I am using a line to graph the S & P 500 vs time, and I have a data point for every minute the market is open. I also have a feed sending a new data point every minute. When the page loads the previous two days of data is loaded into the chart, plus all the data available so far today. Then I update with new data each minute.
All data is displayed correctly, but I am trying to split the x-axis into thirds (with no gaps). Each third would correspond to each day. This means the last third would only be partially filled while the current day's data is coming in. The line graph would be moving toward the edge of the chart.
The issue I am running into is that the line always fills the entire chart.
I have tried setting the xAxis.max, but this doesn't work unless I set xAxis.ordinal = false. but that leaves gaps for nights, weekends, holidays, etc...
I have also tried sorting and ignoring the x value, but it has become a headache to account for weekends and holidays. Plus I don't know how to get the axis labels back to the correct time.
Basically I'm asking, Is it possible to create a chart that is only partially filled, without ordinal = false
I have several highcharts graphs that display data over a date-range that can be customized by the user. In cases where the range specified is very long and granular, I tell highcharts to skip x-axis labels by setting xAxis.options.labels.step to some value n.
My problem is that this usually results in the last date on the x-axis not being displayed. Highcharts will by default always show the first (left-most) date, then show every nth label up to the edge of the graph, but this won't always include the final label.
For my use case, I would prefer the opposite: I want the final date to always be displayed and then show every nth date moving to the left, not necessarily including the first date. Is there a knob I'm missing that would allow me to tweak highcharts to obtain this behavior?
Thanks!
I decided to use tickPositioner and just apply the date formatting manually. I managed to find a way to do this such that the x-axis labels show up appropriately.
I have a table that makes extensive use of the features in Google Charts' Table Chart, notably, sorting by selected column and color gradients.
I'd like to add a sparkline column. Can anyone suggest methods for doing so? Google Sparkline doesn't appear to be at all integrable.
The only method I've come up with (I haven't tried it) is to create a set of images and set them as the CSS background, one cell at a time. Blecch.
I also have a need to show something like a pie chart or stacked bar per row in a column - something that shows gross proportions of the parts of a whole, with three to five parts. Here also, the Google chart tools don't integrate into Table, AFAICT.
Answers that suggest a different library that doesn't include Google table are fine - as long as the level of effort isn't too much higher, and a similar level of documentation is available.
I agree with Larry K regarding remembering the requirement to store/access the set of numbers that represent the points on your sparkline.
In terms of inserting it to the table, consider the image line charts api. You can easily generate sparkline images once you have the relevant set of numbers for them, and can embed the image url into a table cell, allowing it to render by specifying the allowHtml option in the table chart.
So, just making a cell with <img src='google.com?params=2&whatever=3' /> should do the trick.
You would write your own data formatter to display the sparkline rather than the contents of the cell.
The next issue is to access/store the array of numbers that you want to represent by a sparkline. -- Remember that a Sparkline represents a set of values, it does not represent a single column/value.
There are several ways to solve this problem--eg store the number set as a string; store a key that would be used to look up the number set; or the formatter could use other values in the same row to determine the number set.
Added On second thought, it is not clear if you have access to a generic formatter that can return arbitrary html as the format for the cell's data. I thought you did but perhaps not.