将数据点级别的所有颜色设置为零是无效的。
工作示例:
如果将所有颜色设置为1,如下例所示,则图表将正确呈现:
<XYPlot width={300} height={300}>
<VerticalGridLines />
<HorizontalGridLines />
<XAxis />
<YAxis />
<MarkSeries
onValueMouseOver={this._rememberValue}
onValueMouseOut={this._forgetValue}
data={[
{x: 1, y: 3, color: 1},
{x: 2, y: 5, color: 1},
{x: 3, y: 1, color: 1}
]}
colorRange={["#ff0000", "#0000ff"]}
/>
{value ? <Hint value={value} /> : null}
</XYPlot>
输出:
另一个工作示例:
将第一个和第三个数据点颜色设置为0:
<XYPlot width={300} height={300}>
<VerticalGridLines />
<HorizontalGridLines />
<XAxis />
<YAxis />
<MarkSeries
onValueMouseOver={this._rememberValue}
onValueMouseOut={this._forgetValue}
data={[
{x: 1, y: 3, color: 0},
{x: 2, y: 5, color: 1},
{x: 3, y: 1, color: 0}
]}
colorRange={["#ff0000", "#0000ff"]}
/>
{value ? <Hint value={value} /> : null}
</XYPlot>
输出:
非工作示例:
将所有数据点颜色设置为零将不起作用:
<XYPlot width={300} height={300}>
<VerticalGridLines />
<HorizontalGridLines />
<XAxis />
<YAxis />
<MarkSeries
onValueMouseOver={this._rememberValue}
onValueMouseOut={this._forgetValue}
data={[
{x: 1, y: 3, color: 0},
{x: 2, y: 5, color: 0},
{x: 3, y: 1, color: 0}
]}
colorRange={["#ff0000", "#0000ff"]}
/>
{value ? <Hint value={value} /> : null}
</XYPlot>
输出:
这是React-vis中的错误吗? 不确定我缺少什么。
万一有人想玩这段代码,我分叉了库,并注释掉了除我们要解决的一张图表以外的所有内容。
您可以克隆以下git存储库:https://github.com/willetvary/react-vis.git
这是测试此代码的分支:疑难解答-xyplot-color-range-bug
代码在此文件中:Showcase / axes / dynamic-hints.js