GD::Graph 字体和图例
Posted
技术标签:
【中文标题】GD::Graph 字体和图例【英文标题】:GD::Graph Fonts and Legends 【发布时间】:2017-12-02 08:28:43 【问题描述】:我在 perl 脚本中有一个累积 GD 条形图,我似乎无法将标题字体更改为更大和粗体。
另外,更重要的是,如何向图表添加图例?我读到在实际图表中可能没有办法这样做,而是使用 GD::Graph::Map 添加。
你知道如何做这些吗?我找不到适用于其他任何地方的单一答案。
谢谢
my $graph = GD::Graph::bars->new (900,450);
$graph->set(
x_label => 'X Label',
y_label => 'Y label',
title => 'Title',
t_margin => 5,
b_margin => 2,
l_margin => 5,
r_margin => 5,
y_min_value => 0,
y_max_value => 1200,
y_tick_number => 8,
y_label_skip => 3,
cumulate => 1,
dclrs => [qw(#4f81bd #70AD47 #5b9bd5 #FFC000 #ED7D31 #AFABAB #9E480E #997300 #264478 #ac63e3 #FF7171 #d571ce)],
fgclr => black,
textclr => black,
labelclr => black,
axislabelclr => black,
x_labels_vertical => 1,
y_long_ticks => 1,
line_width => 4,
bar_spacing => 10,
transparent => 0,
) or warn $graph->error;
$tmp_trend_file = 'graph.png';
open(IMG, ">$tmp_trend_file") or die $!;
binmode IMG;
print IMG $graph->plot(\@data)->png();
close IMG;
print "<p><img src=$tmp_trend_file border=1><p>\n";
【问题讨论】:
GD 确实有一些内置字体,但它也支持 TrueType 字体,效果更好。这个slide set中有一些例子 你知道如何添加它们吗?这是我想不通的。 此外,该链接仅指向一张封面幻灯片。 我猜这不是很明显,下一张幻灯片有链接,或者你可以使用箭头键或 PgDn/PgUp。使用 TrueType 字体需要指定 .ttf 或 .otf 文件的路径名。 【参考方案1】:您可以使用以下代码添加图例并更改字体:
$graph->set_legend_font(GD::gdFontTiny);
$graph->set_legend(split(' ',$legend));
【讨论】:
以上是关于GD::Graph 字体和图例的主要内容,如果未能解决你的问题,请参考以下文章
python使用matplotlib可视化为可视化图像添加图例(legend)自定义图例的字体格式字体大小字体颜色等