【问题标题】:How do I get the correct format x-axis for my phpspreadsheet chart?如何为我的 phpspreadsheet 图表获取正确格式的 x 轴?
【发布时间】:2019-06-08 23:44:09
【问题描述】:

我正在使用 33_Chart_create_scatter.php 制作一个两线 xyScatter 图表。一切都很顺利,除了 x 轴没有按照我的意愿进行格式化。没有相关的错误涉及者。只有一个糟糕的x轴。看第一张图。有关正确(所需)的 x 轴,请参见第二张图像。有人可以帮我获得正确的 x 轴格式吗? 我只需右键单击图表区域并选择“更改图表类型”即可获得正确的 x 轴格式。然后我选择(已经选择)“X Y(散点图)”和“确定”。 x 轴更改为我正确的 x 轴图像中显示的那个。那么,这带来了我的第二个问题,如果我无法通过代码更正来获得正确的 x 轴格式,我们可以在创建图表中包含宏吗?一个简单的三行 auto_open 宏将在打开新电子表格时生成正确的图表/x 轴。

我对源值使用了水平和垂直选择。我也尝试过对源使用特定的值。请参阅我的图像中的 J1:R1。我不知道如何添加我的图像。所以,不正确的 x 轴从 1 到大约 50 x 1 看起来可能有两到三组数字都挤在一起。正确的比例是 0 到 40 x 5 等间距。这是分钟刻度。 y 比例看起来很完美。

这是涉及的代码。

$xAxisTickValues = [ 新 DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, '工作表!$C$1:$C$18', null, 18), 新的 DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, '工作表!$F$1:$F$18', null, 18) ];

【问题讨论】:

    标签: php phpspreadsheet


    【解决方案1】:

    以下代码应控制 x 和 y 属性。我能够控制 Y 轴的所有属性。 x 轴最小值和最大值如何由 x 轴刻度值控制。如果我不使用 x 轴刻度值,那么 x 轴最小值和最大值似乎由 y 数据点的数量控制? 我该怎么做才能使用此代码来控制 x 轴的最小值和最大值?

    $xaxis = new Axis();
    $xaxis->setAxisOptionsProperties('low', 0, 'autoZero', null, 'in', 'out', 0, 40, 5, 0);
    
    $title = new Title('Calorimetric Calibration');
    $yAxisLabel = new Title(html_entity_decode('Temp (°C)',ENT_QUOTES,'UTF-8'));
    $xAxisLabel = new Title('Time (Min)');
    
    // Create the chart  
    $chart = new Chart(
        'chart1', // name
        $title, // title
        $legend, // legend
        $plotArea, // plotArea
        true, // plotVisibleOnly
        0, // displayBlanksAs
        $xAxisLabel, // xAxisLabel
        $yAxisLabel,  // yAxisLabel
        $yaxis, 
        $xaxis,
        null, 
        null
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 2017-08-09
      • 2015-01-11
      • 2022-12-18
      • 1970-01-01
      相关资源
      最近更新 更多