如何改变pygal中的笔触颜色?

时间:2016-03-04 12:22:44

标签: python python-2.7 pygal

如何将一个设置为红色,将第二个设置为蓝色?

import pygal

chart = pygal.Line()

chart.x_labels = range(5)
chart.add('one', [1, None, 3, None, 5])
chart.add('two', range(5))

chart.render_to_png(__file__ + '-linear.png')

2 个答案:

答案 0 :(得分:1)

您可以使用Pygal' Custom Styles为您要加载的系列定义特定颜色。唯一的缺点是颜色是根据系列顺序分配的,因此在您的情况下,您应该将colors参数设置为('red','blue'),以便它们与您的系列顺序相匹配。

答案 1 :(得分:0)

您可以按如下方式添加自定义样式。

public ArrayList<HashMap<String, String>> selectRecordFromDbList(String qry, String[] args, boolean status) {
        ArrayList<HashMap<String, String>> arraylist = null;
        try {
            HashMap<String, String> mapRow;
            Cursor cursor = sqLiteDatabase.rawQuery(qry, args);
            if (cursor.moveToFirst()) {
                arraylist = new ArrayList<>();
                do {
                    mapRow = new HashMap<>();
                    for (int i = 0; i < cursor.getColumnCount(); i++) {
                        mapRow.put(cursor.getColumnName(i), cursor.getString(i));
                    }
                    arraylist.add(mapRow);
                } while (cursor.moveToNext());
            }
            if (cursor != null && cursor.isClosed()) {
                cursor.close();
            }
        } catch (Exception e) {
            Log.e("SqliteAssetHelper:", e.getMessage());
            arraylist = null;

        }
        return arraylist;
    }

您有许多样式选项可以更改颜色,字体大小,字体系列,背景,透明度等... 检查官方documentation here

当我发布这篇文章时,虽然文档中存在错误。他们提供了颜色元组而不是列表,在他们的示例中为from pygal.style import Style yourCustomStyle = Style( ... colors=['#hex_color1', '#hex_color2', ...], ... ) yourChart = pygal.Line(style=yourCustomStyle) yourChart.add('Series1', [value1, value2, value3, ...]) yourChart.add('Series2', [value1, value2, value3, ...]) ... yourChart.render() 选项。您必须使用colors在自定义样式中添加颜色。