AmCharts DateAxis shows very wrong values - amcharts4

I have a chart with a DateAxis, a ValueAxis and two Series.
One Series contains all the data loaded in a certain timeperiod. For example if it is 18:00, all the data from 00:00 to 18:00 is in this series.
The other series is kind of a "placeholder" series. It contains two datapoints: 00:00 and 00:00 of the next day. I do this in order to get a white space on the right side of the chart, indicating that on a certain part of the period is loaded:
As you can see, this works fine. However, there is some major issue with this: as you can see, the last datapoint is some time before 18:00. The person using this graph would then conclude that the last datapoint was fetched at around 17:50 or so.
When zooming in however, this happens:
As you can see, the Datapoint is actually after 18:00.
I am pretty sure already why this happens: the vertical grid line on 18:00 is not actually indicating that it is 18:00 at this point of the grid, but more or less the middle of the 18th hour of the day. This would be fine by me, if it where not for that change that happens when zooming in a little bit.
I would prefer if the chart shows me the exact times if the granularity is less than days (basically, hours,minutes,seconds) and shows me "periods" when the granularity is higher than days (days,months,years)
Sadly, I do not know how to resolve this issue myself.

Related

Cloudwatch dashboard: widgets with independent time ranges?

I would like each widget in my Dashboard to have its own time range
I can't find a way to do this, and I would find it mind boggling if it's not possible.
I would like my Dashboard to contain the following stacked areas widgets:
RequestCount from the past hour with 30 seconds periods (i.e. 120 plot points)
RequestCount from the past day with 1 hour periods (i.e. 24 plot points)
RequestCount from the past week with 6 hour periods (i.e. 28 plot points)
However, I can't seem to enforce each widget's time range (only their periods), and the Dashboard's time range overrides everything, regardless of what I had previously set in each widget.
Is there a way for each widget to maintain its original time range?

just show every hour as time tick in chart.js

i have the following plot from chart.js:
But right now I cannot find anything how to just show the full hour and going in 1h steps: So what I want is just a simple time axis scale with labels at 0,1,2,3,4,5,... so that multiple data points could are bewteen two time ticks like the data at 3:26, 3:58 and 3:12 are just 3 points between 3 and 4.
Thank you very much!

Can I make a Power BI Trend Chart with 3 Axis?

I have 3 values which I don't need to compare the size of them to each other, just their trending nature. However, when I try to put them into a line chart/combo chart one value is always drowned out.
THe values are: Summation of Spending, Percentage of Turns, and Time To Sell (in days). So one month can have this:
Spend: 200,000
Turns: 9%
TTS: 107
This data is by month as well.
The one thing I am trying from the below article is stacking charts on each other. Which is ugly and causes me to lose some visibility on the chart in the back.
This article gets me close but not quite.
Stack Overflow Question

Is it possible to develop the line charts with multiple colors in powerbi?

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'.

Google Visualization Annotated Time Line, removing data points

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.