highcharts - Higcharts:当有不同颜色的 plotBand 时,如何在图表上渲染背景文本?
问题描述
我有这段代码,我在图表的背景上呈现了文本,还有一个具有不同背景颜色的 plotBand。
背景中的文本呈现为:
this.renderer.text('This text is <span style="color: rgb(255,0,0)">styled</span>!!!', 50, 150)
.css({
color: 'rgb(0,0,255)',
fontSize: '40px'
}).add();
而 plotBand 配置为:
xAxis: {
plotBands: [{ // mark the weekend
color: 'rgb(0,255,0)',//'rgba(0,255,0,0.5)',
from: Date.UTC(2010, 0, 2),
to: Date.UTC(2010, 0, 4),
label: {
text: 'Plot band',
align: 'right',
x: -10
}
}],
tickInterval: 24 * 3600 * 1000, // one day
type: 'datetime'
},
在我得到的结果中,我们可以看到 plotBand 是如何超出背景文本的,这是我需要避免的。我需要我的背景文本在这个 plotBand 前完全可见。
作为一种解决方法,我将设置不透明度与绘图背景颜色绑定在一起color: 'rgba(0,255,0,0.5)'
,但这并没有帮助,因为颜色会相互干扰,并且背景文本不在 plotBand 前面是显而易见的。
解决方案
您可以使用toFront
SVGElement 中内置的方法。
演示:https ://jsfiddle.net/BlackLabel/vj51kogm/
function() {
let text = this.renderer.text('This text is <span style="color: rgb(255,0,0)">styled</span>!!!', 50, 150)
.css({
color: 'rgb(0,0,255)',
fontSize: '40px',
}).add();
text.toFront()
}
API:https ://api.highcharts.com/class-reference/Highcharts.SVGElement#toFront
推荐阅读
- php - PHP password_hash() 如何通过 PHP_DEFAULT 确定使用哪种算法?
- pandas - distutils.errors.DistutilsPlatformError:需要 Microsoft Visual C++ 14.0
- angularjs - XSRF-TOKEN 在 AngularJS + Spring Boot 中使用 HttpOnly 进行保护,但不包含在返回的请求中
- sql - oracle % 函数中的通配符
- sharepoint - 有人知道如何以编程方式将文件附加到 sharepoint 中的文档项上吗?
- arrays - 如何在 GoLang 中创建多维键值数组/切片
- charts - 如何在 Tableau 中创建堆积图和柱形图?
- python - scala count word co-occurrence 性能真的很低
- javascript - Phantomjs 无法针对 Qunit 测试中使用的复杂方法运行
- geometry - 在 OpenMesh 中查找邻居/内部查询