如何在 recharts 中将字符串与值连接起来 - ReactJS

问题描述

当值显示在条形顶部时,我想将“%”与 barchart 上的值连接起来。

怎么做?

 <ResponsiveContainer width="99%" aspect={4}>
      <BarChart data={chartData} margin={{ top: 0,left: -30,right: 0,bottom: 0 }}>
        <Bar dataKey='hum' name="Humidity" barSize={15} fill='rgba(0,60,255,0.6)' unit=" %" >
        <LabelList dataKey="hum" position="top" />
        </Bar>
        <Cartesiangrid stroke="#ccc" strokeDasharray="5 5" />
        <XAxis dataKey="date" tick={{ fontSize: 12,fill: 'black' }} tickFormatter={(unixTime) => moment(unixTime).format('DD.MM - HHч.')} interval={1} />
        <YAxis tick={{ fontSize: 12,fill: 'black' }} />
        <Tooltip />
      </BarChart>
 </ResponsiveContainer>

barchart

我返回这样的数据:

formatData = (data) =>
data.map(({ dt_txt,main,pop }) => ({
  // date -> Can be used as dataKey for XAxis
  //Further you can format the date as per your need
  date: dt_txt,// temp -> Can be used as dataKey for Line
  temp: main.temp,hum: main.humidity,rain:  pop
}));

我想将 "%" 连接到 hum 属性并在图表上显示值。

解决方法

尝试在 YAxis 中给出“unit”属性,像这样

编辑: 尝试像这样更改 LabelList 标签。

<LabelList dataKey="hum" position="top" content={renderLabel} />

并在您的代码中添加以下功能性反应组件。

const renderLabel= ({value}) => {

  return (
    <span>{ value + '%'}</span>
  );
};

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...