I am creating a gvisMotionChart that displays data from the past 5 years. I would like the initial state to be the most recent date (ex. 2012) and for the chart to move "backwards" in time. I know how to set the initial state to the latest date, but that doesn't reverse the time scale at all it just starts the chart at the end of the timeline.
basically, I am looking for a function for the gvisMotionChart that does the same thing as the "hAxis.direction" function for the google Scatter Chart.
Does anyone know how to accomplish this?
Thanks!!
Related
problem screenshot
Hey guys, I'm having a problem: as you can see in the screenshot, there are some resolutions that the distance between the last and the second to last dates on x-axis is greater than other ones when you use a lot of data on that axis. Can somebody with a project like that test to see if this happens to every project? Probably this is the way Chart.js handles putting more elements on x-axis, but can I do something about it?
Thank you very much!
In a Power Bi report I'm using a Scatter Chart (bubble) with a Play Axis (months).
But this one is limited to 10 elements (I tried years, days, weeks... always 10). Also it's not a size problem, I already tried to put it on maximum size.
And I would like to have 12 elements (all months). How can I fix that?
[https://i.stack.imgur.com/QkW7f.png]
Thanks a lot
The scatter chart does not limit the play axis to 10 items, the value for those remaining items are null/blank due to which the play axis does not show those values. Please find below the screenshot. So please check the data for those missing categories.
Thanks.
I developed the few Line charts for BMP280 sensor data in powerbi. This is one of the line chart for displaying the temperature value by time and device id.
But I want same line chart with different Color like this below image, whenever temperature value suddenly changes.
Can you please tell me is it possible to develop the Line chart with multiple colors?
If you're willing to consider a vertical bar chart instead of a line chart, you would be able to create a calculation for each row that determines whether the change is significant, potentially by comparing an aggregate of recent measurements to specific thresholds.
Once you do that, you would use this column's value as a legend for your visualization. So if a row has a value of "Significant Positive Change" (or something like that), the bar or bars showing that change can be red.
Your other alternative is to use an R-based visual, of which there are surely examples of this type of visualization. I'll update this answer if I find one that looks promising.
Instead of tending 1 data series, you can split it into 2 data series e.g. one with normal temperatures and one with high temperatures. Then you can just plot these in different colours. Just make sure that the ranges are same i.e. cannot be 'Auto'.
I'm using cfchart tag to draw my line chart in ColdFusion.
My x-axis range is from 1 to 24 and it is fix number of labels for all my charts.
But in my chart, I may have values for first 10 (or any fix number from 1 to 24) points. I mean, my query row count will be 10.
So query with 24 points will show full graph ad query with 10 points will show x-axis values from 0 to 10. But I want to scale the chart for 24 points regardless of query count.
cfchart has an option called scaleFrom and scaleTo to fix the y-axis series, Is there any option for x-axis series?
Following is a chart and it should scale it for 24 points on x-axis (lines from the 10th point will not be there).
<cfchart format="jpg"
xaxistitle=""
yaxistitle="" chartwidth="600" chartheight="120">
<cfchartseries type="line" paintstyle="shade"
query="qChart1" markerstyle="circle"
itemcolumn="CHARTLABEL"
valuecolumn="INTCHART1" />
</cfchart>
I think you are looking for
xAxistype="Scale" scaleMin="1" scaleMax="24"
xaxistype normally defaults to "category" which I believe is simply the query in order, but by setting to "scale" (must be all numeric values) you can alter this.
If you are wanting more custom formatting for charts fire up webcharts.bat in the charting folder of CF and fill your boots.
Saul's answer is more elegant than mine, but I'll still share.
I had the same problem with showing monthly activity for the last year. Sites that had only been active briefly, or who had no traffic/growth/whatever I was tracking didn't display correctly.
Instead of using a cfchartseries displaying a query, I looped over the time to be displayed, used a query of queries to extract the data for that month, and then added a data point for that month.
A bit brute force, but it worked.
I am trying to build a graph that will change resolution depending on how far you are zoomed in. Here is what it looks like when you are complete zoomed out.
So this looks good so when I zoom in I get a higher resolution data and my graph looks like this:
The problem is when I zoom out the higher resolution data does not get cleared out of the graph:
The tables below the graphs are table display what is in the DataTable. This is what drawing code looks like.
var g_graph = new google.visualization.AnnotatedTimeLine(document.getElementById('graph_div_json'));
var table = new google.visualization.Table(document.getElementById('table_div_json'));
function handleQueryResponse(response){
log("Drawing graph")
var data = response.getDataTable()
g_graph.draw(data, {allowRedraw:true, thickness:2, fill:50, scaleType:'maximized'})
table.draw(data, {allowRedraw:true})
}
I am try to find a way for it to only displaying the data that is in the DataTable. I have tried removing the allowRedraw flag but then it breaks the zooming operation.
Any help would be greatly appreciated.
Thanks
See also
Annotated TimeLine when zoomed-out, Too Many Datapoints.
you can remove the allow redraw flag.
In that case you have to put the data points manually in your data table
The latest date of the actual whole data
The most outdated date in the actual whole data.
this will retain your zooming operation.
I think you have already seen removing the allowRedraw flag, works but with a small problem, flickering the whole chart.
It seems to me that the best solution would be to draw every nth data point, depending on your level of zoom. On the Google Finance graph(s), the zoom levels are pre-determined at the top: 1m, 5m, 1h, 1 day, 5 days, etc. It seems evident that this is exactly what Google is doing. At the max view level, they're plotting points that fall on the month. If you're polling 1000 times a day (with each poll generating a single point), then you'd be taking every 30,000th point (the fist point being the very first one of the month, and the 30,000th one being the last point).
Each of these zoom levels would implement a different plot of the data points. Each point should have a time stamp with accuracy to the second, so you'll easily be able to scale the plot based on the level of detail.