2012-03-13 5 views
0

Я пытаюсь решить проблему в jpGraph. Как вы видите выше, мой график и ось x состоят из раз. Но есть также числа, подобные 20 30 40 50 60. Могу ли я скрыть их? Есть ли способ сделать это?jpgraph и ось x

Это мой код

<?php // content="text/plain; charset=utf-8" 
require_once ('jpgraph.php'); 
require_once ('jpgraph_line.php'); 

ini_set("display_errors","off"); 
$getJson = file_get_contents("http://borsa.doviz.com/hisse_grafik_ajax/XU100/hisse/minute/json",false); 

$j = json_decode($getJson); 
$i = 0; 
$datay1 = array(); 
$datay2 = array(); 
$max = 0; 
foreach($j as $result) 
{ 
    $datay1[]=$result->KAPANIS; 
    $arr = explode(" ",$result->TARIH); 
    $arr2 = explode(":",$arr[1]); 
    $datay2[]=$arr2[0] . ":" . $arr2[1]; 
    if($arr[0] > $max) 
     $max = $arr[0]; 
} 


// Setup the graph 
$graph = new Graph(450,300); 
$graph->SetScale('intlin',0,0,0,70); 


$theme_class= new UniversalTheme; 
$graph->SetTheme($theme_class); 




$graph->SetBox(false); 
$graph->yaxis->HideLine(false); 
$graph->yaxis->HideTicks(false,false); 


// For background to be gradient, setfill is needed first. 
$graph->ygrid->SetFill(true,'#[email protected]','#[email protected]'); 
$graph->SetBackgroundGradient('#F0F8FF', '#FFFFFF', GRAD_HOR, BGRAD_PLOT); 

for($i = 0; $i < sizeof($datay2); $i++) 
{ 
    if($datay2[$i] == ":") 
     $datay2[$i] = ""; 
} 





$graph->xaxis->SetTickLabels($datay2); 
$graph->xaxis->HideLastTickLabel(); 

for($i = 0; $i < sizeof($datay2); $i++) 
{ 
    if($datay2[$i] == ":") 
     $datay2[$i] = ""; 
} 





// Create the line 
$p1 = new LinePlot($datay1); 
$graph->Add($p1); 



$p1->SetFillGradient('#00FF7F','#FFFFFF'); 
$p1->SetColor('#aadddd'); 



// Output line 
$graph->Stroke(); 

?> 

enter image description here

ответ

1

Я действительно провожу часы, чтобы решить эту проблему. Сначала я нашел класс с именем jpgraph.

найти это место

// ticks_label has an entry for each data point and is the array 
       // that holds the labels set by the user. If the user hasn't 
       // specified any values we use whats in the automatically asigned 
       // labels in the maj_ticks_label 
       if (isset($this->ticks_label[$i * $m])) { 
        $label = $this->ticks_label[$i * $m]; 
       } else { 
        if ($aAbsLabel) { 
         $label = abs($this->scale->ticks->maj_ticks_label[$i]); 
        } else { 
         $label = $this->scale->ticks->maj_ticks_label[$i]; 

и добавить

if($label == 60) 
           $label = ""; 
         elseif ($label == 50) 
          $label = ""; 
         elseif ($label == 40) 
          $label = ""; 
          elseif ($label == 30) 
          $label = ""; 
          elseif ($label == 20) 
          $label = ""; 
          elseif ($label == 10) 
          $label = ""; 

 Смежные вопросы

  • Нет связанных вопросов^_^