海里挣扎 2019-12-29 16:03 采纳率: 0%
浏览 606

为什么我的pyecharts柱形图表部署在flask后,横坐标由原来的文字标签变成数字了?

求助各位大佬!我是一个pyecharts小白,下面是我用flask部署pyecharts的代码。

import pandas as pd

from flask import Flask, render_template

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.charts import Timeline
from pyecharts.charts import Pie

app = Flask(__name__, static_folder="templates")


data总=pd.read_csv('datazong.csv',encoding='utf-8')

zuojia = pd.read_csv('zuojia.csv',encoding='gbk')
X轴=[str(x) for x in zuojia.loc[:,'网络作家']]
Y轴=[str(x) for x in zuojia.loc[:,'版税收入(万元)']]


def bar_datazoom_inside() -> Timeline:
    tl = Timeline()
    for i in range(2014, 2020):
        c = (
            Bar()
            .add_xaxis(list(zip(list(data总.index))))
            .add_yaxis("显示",list(data总["{}".format(i)]))
            .set_global_opts(
                title_opts=opts.TitleOpts(title="纵横小说月票榜"),
                datazoom_opts=opts.DataZoomOpts(type_="inside"),
                visualmap_opts=opts.VisualMapOpts(type_="color", max_=250000, min_=200,pos_right='20',pos_top='middle'),
                toolbox_opts=opts.ToolboxOpts(),
            )
            .set_series_opts(
            label_opts=opts.LabelOpts(is_show=False),
            markpoint_opts=opts.MarkPointOpts(
                data=[
                    opts.MarkPointItem(type_="max", name="最大值"),
                    opts.MarkPointItem(type_="min", name="最小值"),
                ]
            ),
        )
    )
        tl.add(c, "{}年".format(i))
    return tl


def pie_rosetype() -> Pie:
    c = (
        Pie()
        .add(
            "",
            [list(z) for z in zip(X轴, Y轴)],
            radius=["30%", "60%"],
            center=["50%", "60%"],
            rosetype="area",
        )
        .set_global_opts(title_opts=opts.TitleOpts(title="2018作家版税收入榜单",pos_top = 'middle'))
        .set_series_opts(
            label_opts=opts.TextStyleOpts(font_style='oblique')
        )
    )
    return c

@app.route("/")
def index():
    return render_template("index.html")


@app.route("/barChart")
def get_bar_chart():
    tl = bar_datazoom_inside()
    return tl.dump_options_with_quotes()

@app.route("/2")
def index2():
    return render_template("index2.html")

@app.route("/barChart2")
def get_bar_chart2():
    c = pie_rosetype()
    return c.dump_options_with_quotes()



if __name__ == "__main__":
    app.run()
        ```


代码没问题,也能够将网站部署出来,如下图:

![flask](https://img-ask.csdn.net/upload/201912/29/1577606001_509738.png)

但是!我的横坐标变成数字了,原来在jupyter简单的render后产生的可视化横坐标是正常的如:

![图片说明](https://img-ask.csdn.net/upload/201912/29/1577606183_550451.png)

请各位大佬帮帮忙,我实在搞不明白哪里出错了。

下面是我的index.html代码。

<!DOCTYPE html>



Awesome-pyecharts





<br> $(<br> function () {<br> var chart = echarts.init(document.getElementById(&#39;bar&#39;), &#39;white&#39;, {renderer: &#39;canvas&#39;});<br> $.ajax({<br> type: &quot;GET&quot;,<br> url: &quot;<a href="http://127.0.0.1:5000/barChart">http://127.0.0.1:5000/barChart</a>&quot;,<br> dataType: &#39;json&#39;,<br> success: function (result) {<br> chart.setOption(result);<br> }<br> });<br> }<br> )<br>

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 17:32
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器