Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

125
Views
how to give string value on y axis in rechart

I am working on Recat.js and using rechart library for chart implementation. I want to give string value on the y axis as label and workout on some numbers included in the json data in x axis. here Iam giving my code I don't why its not working properly. the value key pair has to gone through x axis and label values on the y axis. but its not working . please help me to solve this issue. iam giving my code

  "timestamp": 1645727400000,
  "value": 1,
  "label":"connection_recovered"
  },
  {
  "timestamp": 1645790232297,
  "value": 2,
  "label":"up"
  },
  {
  "timestamp": 1645790232297,
  "value": -2,
  "label":"down"
  },
  {
  "timestamp": 1645790232297,
  "value": 2,
  "label":"up"
  },
  {
  "timestamp": 1645790232297,
  "value": -2,
  "label":"down"
  }]

 return (
    <Container lg={6}>
    <ResponsiveContainer aspect="3">
      <AreaChart
      width={500}
      height={400}
      data={data}
      margin={{
        top: 10,
        right: 30,
        left: 0,
        bottom: 0,
      }}
    >
      <CartesianGrid strokeDasharray="3 3" />
      
      <XAxis style={{fontSize:"12px"}} dataKey="timestamp" />
      
      
      <YAxis dataKey="label" type="category" />
      <Tooltip  />
      <defs>
        <linearGradient id="splitColor" x1="0" y1="0" x2="0" y2="1">
          <stop offset={off} stopColor="green" stopOpacity={1} />
          <stop offset={off} stopColor="red" stopOpacity={1} />
        </linearGradient>
      </defs>
      <Area style={{fontSize:"12px"}}
        type="monotone"
        dataKey="value"
        stroke="#000"
        fill="url(#splitColor)"
      />
     
    </AreaChart>
    </ResponsiveContainer>
    </Container>
    
  );
}
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

In your data array, I assumed that the values with

  • 2 will always have the "up" label,
  • 1 the "connection_recovered" label and
  • -2 the "down" label.

In order to have the label on a fixed tick in your graph on the YAxis, you can use the tickFormatter prop, where you can pass a function, which could return the label you want according to the value.

It would give the following:

// Depending on the value of the tick, you'll have a different label
function formatYAxis(value: number) {
  switch(value) {
    case 2:
      return "up";
    case -2:
      return "down";
    case 1:
      return "connection_recovered";
    default:
      return ""
  }
}

Used in the YAxis just like so:

<YAxis tickFormatter={formatYAxis} />

Which would give out a graph like the following enter image description here

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!