关于highcharts显示数据时dataLabels存在阴影的问题

hhighcharts是一款流行易配置的图表库,不过在使用中依然会遇到一些问题,比如当显示图标中的item数据时,会出现以下这种文字阴影。
这里写图片描述
看起来体验貌似不好?尤其是大大屏幕上显示就更加没有辨识度了,因为使用者一眼注意到的是图表然后是数据,虽说有坐标轴,但这数据还得仔细辨认才是。

其实我们想要的是隔壁echarts这种…
这里写图片描述
这种:‘
这里写图片描述

看了一下文档自己摸索了一下,试了几种方法均无效果,比如dataLabels里style设置textShadow:false,修改背景色,但是都没用,但是真的解决不了了吗?
在chrome浏览器的开发者模式下进行调试,在我一层一层的抽丝剥茧后,发现选中目标元素上的数据时dataLabels 时, 检查元素的Elements出现以下代码:
这里写图片描述

什么东东?fill="#000000",stroke="#000000’’,图表中并没有用到黑色,所谓的黑色阴影就只能是它了,怎么解决呢,最简单粗暴的的办法就是直接去掉它们咯:
在声明好之后对其进行处理:

$("tspan.highcharts-text-outline").css("fill","none");
$("tspan.highcharts-text-outline").css("stroke","none");

ok,完美解决~~
其实并不完美,highcharts配置性这么高怎么能用这种办法呢?看了一下类名是“highcharts-text-outline”,在dataLabels中加入以下代码

style:{
	color:'#eee',
	fontSize:'16px',
    textOutline:"none"
  }

果然ok,效果如下:
这里写图片描述
白色无textOutline是这样的:
这里写图片描述
看起来自然多了吧,数据阴影问题至此完美解决,其实我觉得highcharts本意是好的,他为了提高字体和周边颜色的对比度加上的阴影。我当初试了几种背景颜色都有阴影,当然默认的是黑色, 如果将字体直接改为白色阴影就没那么明显,效果会好一些,以下是白色有textOutline的:
这里写图片描述
另外看属性是textoutline,所以说明其实不是阴影而是在字体外描了一圈颜色。

注:文章属于作者原创,可随意使用,转载请注明出处

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kirinlau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值