2012-04-01 7 views
6

मैंने लेबल छोड़ने के लिए x_label_skip सेट किया है, लेकिन यह अभी भी अंतिम लेबल प्रदर्शित करने का प्रयास करता है और यह अन्य लेबल को ओवरराइट कर रहा है, और गन्दा दिखता है। यह अंतिम लेबल नहीं लिखना चाहिए। यह अंतिम लेबल छोड़ना चाहिए। मैंने लेबल के कितने डेटा पॉइंट्स के फ़ंक्शन के रूप में छोड़ने के लिए सेट की संख्या निर्धारित की है।मैं जीडी :: ग्राफ को अंतिम एक्स लेबल लिखने और अपने अन्य लेबलों को ओवरराइट करने से कैसे रोकूं?

इस तरह यह क्या दिखाई देता है:

कोड:

my $graph = GD::Graph::lines->new(400, 500); 
$graph->set(
    r_margin   => 2, 
    x_label   => 'Date', 
    y_label   => 'Price', 
    title    => "$symbol1, $symbol2", 
    dclrs    => [ qw(lred lblue lgreen lyellow lpurple cyan lorange) ], 
    transparent  => 0, 
    x_labels_vertical => 1, 
    x_label_skip  => int ((@tmpDate * 8)/(400-50) + 1), # a function of # of data points, each label 8px. More labels, more skip. 
) or die $graph->error; 

उत्तर

5

ठीक है, मैं यह पाया। छोड़ने के लिए # लेबलों द्वारा # प्रविष्टियों को विभाजित करने के लिए मॉड्यूल का उपयोग करें, और ऑफसेट के रूप में इसका उपयोग करें। ऐसा लगता है कि जीडी :: ग्राफ हमेशा अंतिम लेबल प्रिंट करना चाहता है, इसलिए इसे नियंत्रित नहीं किया जा सकता है, लेकिन आप प्रिंट करने के लिए पहले लेबल को नियंत्रित कर सकते हैं। मुझे पीछे की तरफ लगता है लेकिन जो भी हो। जैसा कि आप इसकी आवश्यकता है, अभी पिछले लेबल लंघन

my $graph = GD::Graph::lines->new(400, 500); 
my $skip = int ((@tmpDate * 8)/(400-50) + 1); # a function of # of data points, each label 8px. More labels, more skip. 
$graph->set( 
    r_margin   => 2, 
    x_label   => 'Date', 
    y_label   => 'Price', 
    title    => "$symbol1, $symbol2", 
    dclrs    => [ qw(lred lblue lgreen lyellow lpurple cyan lorange) ], 
    transparent  => 0, 
    x_labels_vertical => 1, 
    x_label_skip  => $skip, 
    x_tick_offset  => @tmpDate % $skip, # ensure last label doesn't overwrite second-to-last label 
) or die $graph->error; 
0

x_last_label_skip => 1 वास्तव में काम करता है। शायद इसे 2012 में लागू नहीं किया गया था, लेकिन अब यह है।

संबंधित मुद्दे

 संबंधित मुद्दे