【问题标题】:PHPExcel Chart Axis Options set MaximiumPHPExcel图表轴选项设置最大值
【发布时间】:2015-04-20 19:44:23
【问题描述】:

我已经阅读了这篇PHPExcel Chart Axis Options set Minimum 的帖子,我的问题是这样的,我想将最大值(固定)设置到轴中,与绘制的值无关。

我已经阅读了很多帖子,但我无法得到我的问题的答案。

通过进入轴格式选项并为该轴的最大值设置 max_value_scale 的固定值(即 20),可以在 Excel 中“修复”该问题。我可以在 PHPExcel 中更改此格式选项吗?

当我使用 pChart 渲染图表时(在我的系统提供的另一个选项中),我这样做了

$AxisBoundaries = array(0=>array("Min"=>0,"Max"=>$max_value_scale+1));
$scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"LabelSkip"=>1,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE,"Mode"=>SCALE_MODE_MANUAL,"ManualScale"=>$AxisBoundaries,"MinDivHeight"=>50);

我渲染这张图片:

但我需要这样的东西:


我的图表创建正常,我已经验证了很多帖子和论坛,但我找不到这个问题的解决方案。

$chart = new PHPExcel_Chart(
    'chart1',       // name
    $title,         // title
    $legend,        // legend
    $plotarea,      // plotArea
    true,           // plotVisibleOnly
    0,              // displayBlanksAs
    $xAxisLabel,    // xAxisLabel
    $yAxisLabel     // yAxisLabel
);

【问题讨论】:

  • 如何设置x轴标签的角度? (我没有问你的名字)

标签: php codeigniter charts phpexcel pchart


【解决方案1】:

我的这个提交修复了 PHPExcel 中的一个错误:https://github.com/PHPOffice/PHPExcel/commit/1a237573f9127a02388f4e306732122b39d1ea49

使用示例(最大值为 100):

$axis =  new PHPExcel_Chart_Axis();
$axis->setAxisOptionsProperties('nextTo', null, null, null, null, null, null, 100);

$chart = new PHPExcel_Chart('chart' . $locTL, $title, $legend, $pa, true, 0, NULL, NULL, $axis);

安装具有此错误修复的 PHPExcel 版本或在您的版本之上应用补丁。

【讨论】:

  • 非常感谢,直到今天我还没有一个服务器可以用来做我的证明。它有效!
【解决方案2】:

就像您提到的 StackOverflow 问题一样,PHPExcel(从 1.8.1 开始)无法以编程方式更改 y 轴图表比例。 y 轴图表比例是根据图表数据自动生成的,您无法控制。

pChart 和 PHPExcel 是独立的库。不幸的是,在 pChart 中可用的调整比例的配置在 PHPExcel 中不可用。因此,使用 PHPExcel,您无法按照您的要求自动生成配置 y 轴的图表。

如果您设置包含具有自定义最大/最小 y 轴刻度的图表图像,您可以渲染您的 pChart 图像,然后 insert those images into a Worksheet via PHPExcel。明显的缺点是最终电子表格文档的用户将无法自行配置图表图像(因为它们是图像,而不是图表)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 2015-06-04
    • 1970-01-01
    相关资源
    最近更新 更多