pyecharts 诡异问题求解,同一个图表在不同模板中渲染出来数值相反?

2021-08-17 21:04:52 +08:00
 Ginson

我做了一个记账小工具,按月把支出情况以折线图表示,但同一个图表在不同模板中渲染出来数值相反,一时间给我整懵了,不知道问题出在哪,恳请大家帮看看

在 html 模板 A 中渲染结果是这样的

但在 html 模板 B 中渲染结果确是这样的…?!

折线图生成函数如下

def make_echart():
    line = Line(init_opts=opts.InitOpts(
        height="400px", width="100%"
    ))
    dates = list(set([
        x.ctime.strftime("%Y-%m")
        for x in Log.query.filter_by(type_name="支出").all()
        ]))
    dates.sort()
    outlay = []
    for d in dates:
        y,m = d.split("-")
        outlay.append(round(
            Log.query.with_entities(func.sum(Log.money)).filter(
                extract('year', Log.ctime) == y,
                extract('month', Log.ctime) == m,
                Log.type_name == '支出',
                Log.kind_name != '房贷'
            ).first()[0], 2)
        )
    line.add_xaxis(xaxis_data=dates)
    line.add_yaxis(
        series_name="支出",
        y_axis=outlay,
        markline_opts=opts.MarkLineOpts(
            data=[opts.MarkLineItem(type_="average", name="平均支出")]
        )
    )
    return line.render_embed()

折线图都是用同样的模板语法传进去的

<div class="echart">{{echart|safe}}</div>

我也在 flask shell 里面运行了图表生成函数,返回的代码里面数值是正值的,但不知道为什么到页面上就变成负值了

1071 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/796406

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX