日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python+pyecharts繪制雙動態曲線教程詳解_python

作者:一拳十個鏘鏘怪 ? 更新時間: 2022-08-01 編程語言

總體跟官方樣例相似,但是官方樣例因為部分代碼有誤無法運行,同時需要了解json,以及前后端知識需要一些時間,因此供大家參考。

這個是views

def line_base() -> Line:
    line = (
        Line()
        .add_xaxis(list(range(10)))
        .add_yaxis(series_name="專注度", y_axis=[randrange(0, 100) for _ in range(10)],areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
        .add_yaxis(series_name="放松度", y_axis=[randrange(0, 100) for _ in range(10)],areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
        .set_series_opts()
        .set_global_opts(
            title_opts=opts.TitleOpts(title="專注度和放松度"),
            xaxis_opts=opts.AxisOpts(type_="value"),
            yaxis_opts=opts.AxisOpts(type_="value"),
        )
 
        .dump_options_with_quotes()
    )
    return line
 
class ChartView(APIView):
    def get(self, request, *args, **kwargs):
        return JsonResponse(json.loads(line_base()))
 
cnt = 9
cnt1 = 9
class ChartUpdateView(APIView):
    def get(self, request, *args, **kwargs):
        global cnt,cnt1
        cnt = cnt + 1
        cnt1 = cnt1 + 1
        return JsonResponse({"name": cnt,"value": randrange(0, 100),"name1":cnt1,"value1":randrange(0, 100)})

這個是urls界面

    path('index/',views.Index),
    path('line/', views.ChartView.as_view()),
    path('lineUpdate/', views.ChartUpdateView.as_view()),

html

function fetchData() {
            $.ajax({
                type: "GET",
                url: "http://127.0.0.1:8000/line",
                dataType: "json",
                success: function (result) {
                    var options = result.data;
                    line.setOption(options);
                    old_data = line.getOption().series[0].data;
                    old_data1 = line.getOption().series[1].data;
 
                }
            });
        }
 
function getDynamicData() {
            $.ajax({
                type: "GET",
                url: "http://127.0.0.1:8000/lineUpdate",
                dataType: 'json',
                success: function (result) {
                    var options = result.data;
                    old_data.push([options.name, options.value]);
                    old_data1.push([options.name1, options.value1]);
                    line.setOption({
                        series: [{
                            data: old_data
                        },
                        {
                           data:old_data1
                        }
                        ]
                    });
 
                }
            });
        }

效果如圖所示,這里葉修改了Line圖的風格

原文鏈接:https://blog.csdn.net/m0_49015921/article/details/122889399

欄目分類
最近更新