我的网站开发技术经验总结 我的网站开发技术经验总结
首页

fangdown

我的网站开发技术经验总结
首页
  • 日记
  • 22
  • 06
fangdown
2022-06-13
目录

recharts去除CartesianGrid底部网格线

# recharts去除CartesianGrid底部网格线

# 背景

在使用recharts图表组件时, 发现使用了背景网格线后, 水平方向底部有虚线和实线 重叠现象。

image.png

<ResponsiveContainer width="100%" height="100%">
    <LineChart data={data} {...ChartProps}>
         <CartesianGrid
            strokeDasharray="4 4"
            horiziontal
            vertical={false}
            stroke="#dadfe6"
            className={s.horizontalLine}
        />
        <YAxis {...YAxisProps} />
        <XAxis {...XAxisProps} />
        <Tooltip content={<CustomTooltip />} />
    </LineChart>
   
    </ResponsiveContainer>

# 分析

  1. 看了官方api文档,没有相关属性介绍
  2. 查看issue,有类似的提问,但是时间较早,说的解决方法也不奏效
    • 把XAxis 配置放在CartesianGrid 后面, 本来就是放在后面的
    • 增加全局样式,没生效

# 解决

在stackoverflow上看到一篇文章,原理是给CartesianGrid增加class属性,由此受到启发,给CartesianGrid 增加一个属性解决, 将第一个线的透明度设置为0,这样就不显示了。

image.png

<CartesianGrid
    strokeDasharray="4 4"
    horiziontal
    vertical={false}
    stroke="#dadfe6"
    className={s.horizontalLine}
/>
.horizontal-line {
    &:first-child {
        opacity: 0;
    }
}
#recharts
上次更新: 2022/06/14, 09:43:39
最近更新
01
多分支修复撞车的问题
05-01
02
如何成为架构师
01-23
03
服务器部署全过程
11-23
更多文章>
Theme by Vdoing | Copyright © 2019-2026 fangdown | 粤ICP备19079809号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式