Legend

注意,现在图例是使用 HTML 实现的。对于类目图表(LineChart, BarChart, AreaChart, ComposedChart, ScatterChart)以及 RadarChart 我们会根据组件的属性 "name" 来生成图例的内容,如果组件没有指定 "name" 属性,我们会根据组件的属性 "dataKey" 来生成图例的内容。对于极坐标图表 (PieChart, RadialBarChart) 我们会根据每个子组件的 "name" 属性值生成图例的内容。

Legend - 图1

  • Legend - 图2pv of pages
  • Legend - 图3uv of pages

显示数据格式

  1. <LineChart width={730} height={250} data={data}
  2. margin={{ top: 5, right: 30, left: 20, bottom: 5 }}>
  3. <XAxis dataKey="name" />
  4. <YAxis />
  5. <CartesianGrid strokeDasharray="3 3" />
  6. <Tooltip />
  7. <Legend verticalAlign="top" height={36}/>
  8. <Line name="pv of pages" type="monotone" dataKey="pv" stroke="#8884d8" />
  9. <Line name="uv of pages" type="monotone" dataKey="uv" stroke="#82ca9d" />
  10. </LineChart>

父组件

Properties

图例的宽度。

图例的高度。

  • layout 'horizontal', 'vertical'

图例的布局类型:横向布局、纵向布局。

默认值:'horizontal'

  • align 'left', 'center', 'right'

水平方向的对齐方式。

默认值:'center'

垂直方向的对齐方式。

默认值:'middle'

图例中图标的大小。

默认值:14

  • iconType 'line' | 'square' | 'rect' | 'circle' | 'cross' | 'diamond' | 'star' | 'triangle' | 'wye'

图例中图标的类型。

图例的源数据,通常内部计算,如果用户指定了这个值,会覆盖内部计算的值。

默认值:[]

格式:

  1. [{ value: 'item name', type: 'line', id: 'ID01' }]

图表的宽度,通常父组件会传下来。

图表的高度,通常父组件会传下来。

父组件的 marign 值。

格式:

  1. { top: 0, left: 0, right: 0, bottom: 0 }
  • content ReactElement | Function optional

定制图例展示的内容。如果值为 React element,会克隆这个元素来渲染图例的内容。如果值为函数,会调用这个函数来生成图例的内容。

格式:

  1. <Legend content={<CustomizedLegend external={external} />} />
  2. const renderLegend = (props) => {
  3. const { payload } = props;
  4. return (
  5. <ul>
  6. {
  7. payload.map((entry, index) => (
  8. <li key={`item-${index}`}>{entry.value}</li>
  9. ) )
  10. }
  11. </ul>
  12. ) ;
  13. }
  14. <Legend content={renderLegend} />

每个项目中“文本”的格式化函数。

格式:

  1. (value, entry, index) => ()

示例:

图例是使用 HTML 渲染的,最外层的节点是一个绝对定位的 div ,所以你可以通过 top、left 来指定图例的位置,当然也可以指定其他的样式。

示例:

图例每个项目 click 事件的回调函数。

图例每个项目 mousedown 事件的回调函数。

图例每个项目 mouseup 事件的回调函数。

图例每个项目 mousemove 事件的回调函数。

图例每个项目 mouseover 事件的回调函数。

图例每个项目 mouseout 事件的回调函数。

图例每个项目 moustenter 事件的回调函数。

示例:

图例每个项目 mouseleave 事件的回调函数。

示例: