reactjs - 当我将动态颜色值从 JSON 传递到 BarSeries 时,devextreme 条形图无法识别它们并使所有条形变黑
问题描述
我已经使用 ReactJS 和@devexpress
and构建了一个数据可视化器@material-ui
。该图表目前如下所示:
但是,我希望条形图以动态颜色呈现,这些颜色存在于以下 JSON ( bar_color
)
[
{
"id": 8,
"place": "Valley Of Flowers",
"search": 2048,
"bar_color": "#82b507"
},
{
"id": 4,
"place": "Bali Pass",
"percent": 11,
"bar_color": "#025596"
},
...
]
这是完整的组件:
import React, { Component } from "react";
import Paper from "@material-ui/core/Paper";
import { BarSeries, Animation, EventTracker } from "@devexpress/dx-react-chart";
export default class PlaceSearchData extends Component {
state = {
error: null,
isLoaded: false,
items: []
};
render() {
return (
<Paper>
<Chart data={items}>
<ArgumentAxis />
<ValueAxis max={10} />
<BarSeries
valueField="search"
argumentField="place"
color="bar_color" // I want this to be dynamically assigned from the JSON data
/>
<Title text="Place wise search (top 6)" />
<Animation />
<EventTracker />
<Tooltip />
</Chart>
</Paper>
);
}
}
但是所有的酒吧颜色都是黑色的!
但是,如果我输入一个特定的颜色代码,所有的条都用那种颜色渲染,即
<BarSeries
valueField="search"
argumentField="place"
color="#82b507"
/>
有什么方法可以动态传递每个条的颜色吗?我使用https://devexpress.github.io/devextreme-reactive/react/chart/docs/reference/bar-series/作为参考点。
解决方案
在寻找解决方案的同时,我找到了解决方案:必须<Palette scheme={shema} />
在
<Chartdata={data}>
注意之后使用,例如不要放在后面:
<PieSeries valueField="area" argumentField="country" />
否则它将不起作用:)并且它只能识别十进制颜色
<Palette scheme={['#d72e3d', '#249e3d', '#ffb90c', '#1698af', '#616a72']} />
推荐阅读
- python - 对 DataFrame 的一列求和重复的子集行条件
- javascript - 删除带有事件的项目
- java - 从 Spring RequestDumperFilter 中消除敏感标头
- mysql - 从 Mysql 到 Postgresql 的 Pentaho 中的错误“用于编码 UTF-8 的字节序列无效:0x00”
- media-queries - 在其他js中导出断点时媒体查询有什么问题?
- python - 使用VS Code按行(f10)运行的jupyter笔记本出现问题
- node.js - 跨级别填充猫鼬并显示某些字段
- python - 如何导入 FastAPI 应用程序文件夹以满足 pycharm 和 pylint?
- python - 使用 numpy 生成具有正态分布的从 0 到 1 的随机十进制数
- laravel - Laravel 和 Nuxtjs cors 显示上传文件的问题