【问题标题】:pChart timeline with gaps有差距的 pChart 时间线
【发布时间】:2015-10-19 06:54:22
【问题描述】:

我想使用 pChart 来呈现样本值与日期的简单折线图。我有基本的工作,但我如何处理日期的差距?样本已经按季度平均,但并非每个季度都有样本。有时它会跳过一两个季度。

目前,这些间隙在 X 轴上一个接一个地被压缩,而不是在数轴中按照它们的自然顺序间隔开。

数据来自 MySQL 数据库。我可能错过了一些简单的东西。有人可以帮忙吗?

#Array variables.
$date       = "";
$value      = "";

#Fetch the database rows, and sort them into arrays.
while ($row = mysql_fetch_array($result))
{
    $date[] = $row["date"];
    $value[]    = $row["value"];
}

#Create a chart data object.
$MyData = new pData();

#Pass the data to the chart.
$MyData->addPoints($date, "Date");
$MyData->addPoints($value, "Value");

#Configure labels.
$MyData->setAxisName(0,"Value");

#Set the date as the X axis.
$MyData->setAbscissa("Date");
$MyData->setAbscissaName("Date");

【问题讨论】:

  • 这可能取决于您的 MSQL 查询 - 这是因为“值”可能返回 NULL 吗?在这种情况下,您可以使用 pChart 的 VOID 关键字来填充空值。

标签: php mysql pchart


【解决方案1】:

这是尝试使用drawLineChart() 函数,而它应该使用drawScatterLineChart() 函数。这些差异没有得到很好的解释,但很关键。

“折线图”不使用数轴作为其独立轴。它用于具有非数字轴的图表,例如一年中的月份。该轴不会像自然数轴那样记录间隙,因为文本不一定具有可以按逻辑方式排序的值。

“散点线图”是一个正常的 XY 图表,其轴上有适当的数字线。它像人们预期的那样对价值差距做出反应。这应该是文档中的默认示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-25
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多