在odoo中更改条形图列颜色

change bar chart column color in odoo

我的任务是更改图形 -> 条形图列中的颜色。 默认情况下,它们是蓝色的。但我想改变它。我应该怎么办? 自定义 odoo/addons/web/static/src/views/graph/graph_renderer.js ? 我应该写下一个自定义小部件(owl 组件)?

图表颜色在 graph renderer. For example for the bar chart, odoo get the color from colors.js using the loop index of the dataset 中设置。

在下面的示例中,我们使用自定义渲染器定义了一个新的图形视图:

graph_renderer.js

/** @odoo-module **/

import { GraphRenderer } from "@web/views/graph/graph_renderer";


export class CustomGraphRenderer extends GraphRenderer {
    
}

graph_view.js

/** @odoo-module **/

import { GraphView } from "@web/views/graph/graph_view";
import { CustomGraphRenderer } from "./graph_renderer";
import { registry } from "@web/core/registry";


class CustomGraphView extends GraphView {}
CustomGraphView.components.Renderer = CustomGraphRenderer;

registry.category("views").add("custom_graph", CustomGraphView);

您需要将以上文件添加到web.assets_backend

下的assets条目中

要使用新的图形视图,请使用 js_class 属性 图表视图:

<graph js_class="custom_graph">