amCharts - шар не отображается на линейном графике

Я не понимаю, почему вы храните такие поля, но вот возможное решение:

$fields = array();
$cats_array = array(1,7,28);

foreach ($cats_array as $category) {
    $category_field_query = "SELECT fields FROM categories WHERE status = 1 AND id = $category";
    $category_field_query_run = mysqli_query($connect, $category_field_query);
    $cat_field = mysqli_fetch_object($category_field_query_run);

    preg_match_all('/\/(\d+)\//', $cat_field->fields, $matches);

    if (!empty($matches[1])) {
         $fields = array_merge($fields, $matches[1]);
    }
}

print_r($fields);
0
задан CaptnHirni 19 January 2019 в 22:15
поделиться

1 ответ

Для построения линейных графиков необходимо добавить маркеров на свой график (graph.bullet = "round"; или любой другой формы) или курсор на графике (chart.chartCursor = new AmCharts.ChartCursor();), чтобы появлялись воздушные шары. Выберите метод, который лучше всего подходит для вашего варианта использования.

var chartData = getData();
// init wrapper
var chart = new AmCharts.AmSerialChart();
chart.dataProvider = chartData;
chart.categoryField = "date";

// config baloon
var balloon = chart.balloon;
balloon.adjustBorderColor = true;
balloon.color = "#000000";
balloon.cornerRadius = 5;
balloon.fillColor = "#FFFFFF";

var graph = new AmCharts.AmGraph();
graph.valueField = "value";
graph.balloonText = "[[category]]: <b>[[value]]</b>";
graph.type = "line";
graph.bullet = "round";
chart.addGraph(graph);

var categoryAxis = chart.categoryAxis;
categoryAxis.autoGridCount = false;
categoryAxis.parseDates = true;
categoryAxis.gridCount = chartData.length;
categoryAxis.gridPosition = "start";

var chartScrollbar = new AmCharts.ChartScrollbar();
chart.addChartScrollbar(chartScrollbar);

//chart.chartCursor = new AmCharts.ChartCursor(); //alternative solution for balloons

chart.write("graphMonitor");

function getData() {
  var data = [];
  var firstDate = new Date();
  var newDate;
  firstDate.setDate(firstDate.getDate() - 10);
  for (var i = 0; i < 10; ++i) {
    newDate = new Date(firstDate);
    newDate.setDate(i);
    data.push({
      "date": newDate, 
      "value": Math.floor(Math.random() * 20 + 10)
    });
  }
  return data;
}
<script src="//www.amcharts.com/lib/3/amcharts.js"></script>
<script src="//www.amcharts.com/lib/3/serial.js"></script>
<div id="graphMonitor" style="width: 100%; height: 300px"></div>

0
ответ дан xorspark 19 January 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: