海里挣扎 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
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

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

报告相同问题?

悬赏问题

  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗