Drupal: ไม่สามารถตั้งค่าป้ายกำกับสำหรับแกน x โดยใช้โมดูลแผนภูมิ

ฉันต้องการสร้างแผนภูมิเส้นที่แสดงการเปลี่ยนแปลงของราคาหุ้นในช่วงเวลาหนึ่งโดยใช้ Drupal Charts 7.x-2.0-rc1 API และ Google Charts เป็นไลบรารี ฉันลองใช้โค้ดต่อไปนี้และเติมแผนภูมิด้วยค่าสุ่มบางค่า:

$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);

ฉันได้รับผลลัพธ์ต่อไปนี้: chart

ฉันต้องการให้แกน x แสดงเฉพาะป้ายกำกับ cerain (ในช่วงเวลาตัวอย่างนี้ 20 นาที) แต่ตัวเลือก 'showTextEvery' ไม่ทำงาน มีความคิดอะไรบ้างว่าทำไม? อาจมีวิธีอื่นในการบรรลุเป้าหมายนั้นหรือไม่?


person panblacha    schedule 29.06.2016    source แหล่งที่มา
comment
คุณได้ตรวจสอบวัตถุการตั้งค่า Drupal ในเพจที่สร้างขึ้นแล้วหรือยัง? ที่จะช่วยให้คุณตรวจสอบว่าโมดูลส่งตัวแปรผ่านอย่างถูกต้องหรือไม่ (หรืออย่างน้อยก็ตามที่คุณคาดหวัง)   -  person acrosman    schedule 29.06.2016
comment
ไม่แน่ใจว่าคุณหมายถึงอะไรเนื่องจากฉันใช้ Drupal มาสองวันแล้ว แต่อย่างที่ฉันเขียนไว้ในความคิดเห็นด้านล่าง: ฉันได้ตรวจสอบหน้าด้วย FireBug แล้ว และฉันเห็นตัวเลือกที่กำหนดเองสำหรับ vAxis ที่ส่งไปยัง html แต่ไม่ สำหรับ hAxis (ลองใช้แบบง่าย ๆ เช่น textStyle) ดังนั้นฉันคิดว่าปัญหาอยู่ที่ใดที่หนึ่งในการกำหนดค่าแผนภูมิของฉันหรือโมดูลแผนภูมิของ Drupal   -  person panblacha    schedule 30.06.2016


คำตอบ (1)


ค่าวันที่/เวลาบน hAxis ส่งผลให้แกน ต่อเนื่อง

'showTextEvery' ใช้ได้กับแกน แยก เท่านั้น ซึ่งเป็นผลลัพธ์จากค่าสตริง

ดูแยกส่วนและต่อเนื่อง

ดังนั้นคุณจะต้องจัดเตรียม ticks ของคุณเอง

อาจลองทำสิ่งนี้ สร้าง data พร้อมด้วย ticks ก่อน...

$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++;
    }
}

จากนั้นในคำจำกัดความของแผนภูมิ...

$chart = array(
    'hAxis' => array(
        'ticks' => $ticks
    )
person WhiteHat    schedule 29.06.2016
comment
ขอบคุณสำหรับคำตอบของคุณ แต่วิธีนี้ไม่สามารถแก้ปัญหาได้ ป้ายกำกับก็เหมือนกับเมื่อก่อนทุกประการ ฉันได้อ่านเอกสารของ Google แล้วและลองทั้ง ticks และ showTextEvery แล้ว แต่ก็ไม่ได้ผลเลย แปลกเพราะเมื่อฉันตั้งค่า ticks สำหรับป้ายกำกับ vAxis จะแสดงตามที่ฉันต้องการ ฉันได้ตรวจสอบหน้าด้วย FireBug แล้ว และฉันเห็นตัวเลือกที่กำหนดเองของฉันสำหรับ vAxis ที่ส่งไปยัง html แต่ไม่ใช่สำหรับ hAxis (พยายามอย่างง่าย ๆ เช่น textStyle) ดังนั้นฉันคิดว่าปัญหาอยู่ที่ใดที่หนึ่งในการกำหนดค่าแผนภูมิของฉันหรือโมดูลแผนภูมิของ Drupal อย่างไรก็ตาม นี่เป็นครั้งแรกที่ฉันใช้ Drupal - person panblacha; 29.06.2016
comment
ไม่ติดตาม คุณพูดว่า ลองทั้งเห็บและ showTextEvery ไม่มีอันใดทำงาน แต่แล้วคุณพูดว่า เมื่อฉันตั้งค่าเห็บสำหรับป้ายกำกับ vAxis จะแสดงตามที่ฉันต้องการ -- สุดท้าย ดูเหมือนว่าส่วนหนึ่งใช้งานได้ - ไม่ว่า showTextEvery จะไม่ทำงานที่นี่เพราะไม่มีแกนใดมีค่าสตริง ticks ควรทำงานบนแกนใดแกนหนึ่ง - แต่คุณต้องระบุค่าที่คุณต้องการ... - person WhiteHat; 29.06.2016
comment
และขออภัยที่ผิดแกน x และ y ฉันได้แก้ไขคำถามแล้ว อย่างไรก็ตามปัญหาของฉันและวิธีแก้ปัญหาของคุณยังคงใช้อยู่ hAxis - person panblacha; 29.06.2016
comment
ไม่มีสิ่งใดใช้ได้กับ hAxis แต่ฉันสามารถตั้งค่า ticks สำหรับ vAxis ได้ - person panblacha; 29.06.2016