我想创建一个带有圆形条形图的条形图,该条形图看起来像这样,但是条形图却是相反的
但是将 reversed 道具添加到 XAxis 组件后,它变成了这样
这是我在“图表”示例中所做的代码
const {BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend} = Recharts;
const data = [
{name: 'Page A', uv: 4000, pv: 2400, amt: 2400},
{name: 'Page B', uv: 3000, pv: 1398, amt: 2210},
{name: 'Page C', uv: 2000, pv: 9800, amt: 2290},
{name: 'Page D', uv: 2780, pv: 3908, amt: 2000},
{name: 'Page E', uv: 1890, pv: 4800, amt: 2181},
];
const SimpleBarChart = React.createClass({
render () {
return (
<BarChart width={ 600 } height={ 400 } data={ data } maxBarSize={ 20 } layout={ 'vertical' }>
<CartesianGrid strokeDasharray="3 3" />
<XAxis type={ 'number' } orientation={ 'top' } reversed />
<YAxis type={ 'category' } orientation={ 'right' } dataKey={ 'name' } />
<Bar dataKey={ 'pv' } fill={ '#8884d8' } radius={ 20 }/>
</BarChart>
);
}
})
ReactDOM.render(
<SimpleBarChart />,
document.getElementById('container')
);
body {
margin: 0;
}
#container {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
width: 800px;
height: 800px;
background-color: #fff;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://npmcdn.com/react@15.6.2/dist/react-with-addons.min.js"></script>
<script src="https://npmcdn.com/react-dom@15.6.2/dist/react-dom.min.js"></script>
<script src="https://npmcdn.com/prop-types@15.6.2/prop-types.min.js"></script>
<script src="https://npmcdn.com/recharts@1.4.2/umd/Recharts.min.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
更新-我尝试删除了 reversed 道具,只是添加了带有负值的数据,以查看是否会出现相同的倒置条并且结果相同。因此,当值是负数且条形图处于垂直布局中时,圆角将恰好以这种方式起作用。有谁知道发生了什么事。
更新-似乎这是“图表”方面的错误,已在较新版本中修复
答案 0 :(得分:0)
您应该在XAxis中将类型指定为数字
<BarChart
width={600}
height={300}
data={data}
layout="vertical"
margin={{top: 5, right: 30, left: 20, bottom: 5}}
>
<XAxis type="number"/>
<YAxis type="category" dataKey="name" />
<CartesianGrid strokeDasharray="3 3"/>
<Tooltip/>
<Legend />
<Bar dataKey="pv" fill="#8884d8" />
<Bar dataKey="uv" fill="#82ca9d" />
</BarChart>
因为XAxis中type的默认值为'category'。
答案 1 :(得分:0)
最新版本的“图表”解决了此问题。更新后,现在可以正常使用