Ниже приведена javascript-реализация "поддельного" загрузочного счетчика, которая кажется одинаковым для всех. Это всегда возвращает одинаковые результаты для каждого каждый раз и не требует для этого базы данных или файлов. Он также грациозно обрабатывает случай, когда вы не запрашиваете новые данные одновременно, он будет выглядеть естественным в следующий раз, когда вы запросите день. https://jsfiddle.net/Lru1tenL/1/
Counter = {
time:Date.now(),
count:0,
rate:0.45
};
Counter.seed = function(seed, startTime)
{
this.time = startTime,
this.count = 0,
this.prng = new Math.seedrandom(seed);
this.prng.getRandomInt = function(min, max) {
return Math.floor(this() * (max - min)) + min;
};
};
Counter.getNext = function(t){
var diff = t - this.time;
console.log(diff);
if(diff <= 0) return this.count;
this.time = t;
var max = Math.ceil(diff/100 * this.rate);
console.log("max: " + max);
this.count += this.prng.getRandomInt(0,max);
return this.count;
};
var results = [];
var today = Date.now();
Counter.seed("My Random Seed", today);
for (var i = 0; i < 7; i++) {
if(i === 4)
{
results.push(null);
} else {
var future = today + 86400000 * i;
results.push(Counter.getNext(future));
}
}
console.log(results);
var data = {
labels: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday","Sunday"],
datasets: [
{
label: "My Second dataset",
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: results
}
]
};
var ctx = document.getElementById("myChart").getContext("2d");
var myLineChart = new Chart(ctx).Line(data);
Является JavaScript. Он создает объект-счетчик, который увеличивается при запросе в зависимости от времени предыдущего запроса. Повторимость поступает через библиотеку третьей стороны «seedrandom», и диаграмма рисуется с использованием диаграмм.
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/seedrandom/2.4.0/seedrandom.min.js">
</script>
<body>
<canvas id="myChart" width="600" height="400"></canvas>
</body>
</html>
y = sin (x) + x может сделать что-то вроде того, что вы ищете. не очень случайный. Кроме того, если у вас нет вопросов программирования, это не подходит для stackoverflow. – mstbaum
Это не полное решение, но вы можете каким-либо образом включить функцию Prime-counting * π (x) *] (https://en.wikipedia.org/wiki/Prime-counting_function). –
Почему вы думаете, что база данных поможет? Все компьютерные языки имеют какую-то случайную функцию.Все, что вам нужно сделать, это сохранить накопленное общее количество в переменной, возможно статической переменной, и добавить к ней случайную сумму. Но нам нужен больше контекста. Это даже вопрос программирования. –