Drupal: tidak dapat menyetel label untuk sumbu x menggunakan modul Charts

Saya ingin membuat diagram garis yang menampilkan perubahan harga saham dari waktu ke waktu menggunakan Drupal Charts 7.x-2.0-rc1 API dan Google Charts sebagai perpustakaan. Saya mencoba kode berikut dan mengisi grafik dengan beberapa nilai acak:

$chart = array(
    '#type' => 'chart',
    '#chart_type' => 'line',
    '#chart_library' => 'google',
    '#title' => t(''),
    '#legend' => FALSE,
    '#colors' => array('FF6600'),
    '#width' => 480,
    '#height' => 240,
    '#data_labels' => TRUE,
    '#raw_options' => array(
        'vAxis' => array(
            'viewWindowMode' => 'explicit',
            'viewWindow' => array(
                'min' => 1,
            ),
        ),
        'hAxis' => array(
            'showTextEvery' => 20
        )
    ),
);

$data = array();
for ($i = 0; $i < 100; $i++) {
    $data[$i] = array(date('H:i', strtotime("+$i minute")), (rand(5, 10) / 10) * 6);
}

$chart['price'] = array(
    '#type' => 'chart_data',
    '#title' => t('Share price'),
    '#show_in_legend' => FALSE,
    '#data' => $data,
    '#decimal_count' => 2,
);

$shareChart['chart'] = $chart;

return drupal_render($shareChart);

Saya mendapatkan output berikut: chart

Saya ingin sumbu x hanya menampilkan label tertentu (dalam contoh ini interval 20 menit) tetapi opsi 'showTextEvery' tidak berfungsi. Ada ide kenapa? Mungkin ada cara lain untuk mencapainya?


person panblacha    schedule 29.06.2016    source sumber
comment
Sudahkah Anda memeriksa objek pengaturan Drupal di halaman yang dihasilkan? Itu akan memungkinkan Anda memeriksa apakah modul meneruskan variabel dengan benar (atau setidaknya seperti yang Anda harapkan).   -  person acrosman    schedule 29.06.2016
comment
tidak yakin apa yang Anda maksud karena saya telah menggunakan Drupal selama dua hari sekarang tetapi seperti yang saya tulis di komentar di bawah: Saya telah memeriksa halaman dengan FireBug dan saya dapat melihat opsi khusus saya untuk vAxis diteruskan ke html tetapi tidak untuk hAxis (mencoba yang sederhana seperti textStyle) jadi menurut saya masalahnya terletak pada konfigurasi bagan saya atau modul Bagan Drupal   -  person panblacha    schedule 30.06.2016


Jawaban (1)


nilai tanggal/waktu pada hAxis menghasilkan sumbu kontinu

'showTextEvery' hanya berfungsi untuk sumbu diskrit, yang dihasilkan dari nilai string

lihat diskrit vs berkelanjutan

oleh karena itu, Anda harus memberikan ticks Anda sendiri

mungkin coba sesuatu seperti ini, buat data, bersama dengan ticks, dulu...

$data = array();
$ticks = array();
$x = 0;
for ($i = 0; $i < 100; $i++) {
    $data[$i] = array(date('H:i', strtotime("+$i minute")), (rand(5, 10) / 10) * 6);
    if ($i % 20 == 0) {
        $ticks[$x] = date('H:i', strtotime("+$i minute"));
        $x++;
    }
}

lalu dalam definisi bagan...

$chart = array(
    'hAxis' => array(
        'ticks' => $ticks
    )
person WhiteHat    schedule 29.06.2016
comment
terima kasih atas jawaban Anda tetapi ini tidak menyelesaikan masalah, labelnya sama persis seperti sebelumnya; Saya telah membaca dokumentasi Google dan mencoba ticks dan showTextEvery, tidak ada satupun yang berfungsi, aneh karena ketika saya menyetel ticks untuk label vAxis ditampilkan sesuai keinginan saya; Saya telah memeriksa halaman dengan FireBug dan saya dapat melihat opsi khusus saya untuk vAxis diteruskan ke html tetapi tidak untuk hAxis (mencoba yang sederhana seperti textStyle) jadi saya pikir masalahnya terletak pada konfigurasi bagan saya atau modul Bagan Drupal; btw, ini pertama kalinya saya menggunakan Drupal - person panblacha; 29.06.2016
comment
tidak mengikuti, Anda mengatakan mencoba kedua tanda centang dan showTextSetiap, tidak satupun yang berfungsi tetapi kemudian Anda mengatakan saat saya menyetel tanda centang untuk label vAxis ditampilkan sesuai keinginan saya -- terakhir bagian sepertinya berfungsi -- apa pun showTextEvery tidak akan berfungsi di sini karena tidak ada sumbu yang memiliki nilai string, ticks harus berfungsi pada salah satu sumbu -- tetapi Anda harus memberikan nilai yang Anda inginkan... - person WhiteHat; 29.06.2016
comment
dan maaf karena salah mengira sumbu x dan y, saya telah mengedit pertanyaannya; bagaimanapun masalah saya dan solusi Anda tetap berlaku hAxis - person panblacha; 29.06.2016
comment
tidak ada satupun yang berfungsi untuk hAxis tetapi saya dapat menyetel ticks untuk vAxis - person panblacha; 29.06.2016