jqplot切换noData消息

时间:2019-04-21 15:17:07

标签: javascript jquery jqplot

我正在尝试使用jqplot创建饼图。
图表的数据会根据用户请求动态更新。当用户选择数据集时,页面将转到服务器并获取数据。

在某些情况下,可能没有所请求选择的数据。在这种情况下,我想显示一条消息,说没有数据。我试图为此使用“ noDataIndicator”,但是遇到了一个问题,其中postDrawHook绘制了“ noDataIndicator”。此外,查看源代码,仅在绘图初始化时添加/删除它。

我遇到的问题是-要么根本没有绘制“ noDataIndicator” div,在这种情况下,即使我确实有数据,也仍然在其上绘制了一个空的div;否则即使切换到空数据集并设置map()

这是我正在做的示例代码。参见下面的小提琴。要自己运行它,需要:

  • jquery
  • jqplot
  • jqplot.pieRenderer

HTML

noDataIndicator["show"] = true

JavaScript

<div id="myChart" class="jqplot-target"></div>

<ul>
  <li id="updateGraph"><a href="#changeDataSet">change DataSet</a></li>
  <li id="redrawGraph"><a href="#replotGraph">redraw Graph</a></li>
</ul>

Working (bit buggy) fiddle。单击“更改数据集”将更改数据。单击“重绘图形”将间歇性地在有或没有noDataIndicator的情况下重绘它。

您可以看到,使用指示器进行绘制时,当没有数据时将显示文本,但是当有数据时,图形会被不透明的东西遮盖住,从而阻止鼠标事件。

除了像我第二个按钮一样完全删除图形并重画图形之外,是否有解决方案可以正确删除“ noDataIndicator”?

0 个答案:

没有答案