Python结合pyecharts实现双动态曲线图表的完整教程
本文详细介绍如何使用Python的pyecharts库绘制双动态曲线,涵盖从后端数据生成到前端实时更新的完整流程。针对官方示例中存在的代码问题进行了修正,通过Django后端接口提供初始数据与动态更新数据,结合JavaScript AJAX请求实现图表的实时渲染与刷新,帮助开发者快速掌握动态可视化的核心实现方法。
教程概述与背景
整体实现思路与官方示例类似,但官方示例中部分代码存在错误导致无法直接运行,且需要开发者具备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)})URL路由配置
接下来是URL路由配置界面,用于定义访问路径。
path('index/',views.Index),
path('line/', views.ChartView.as_view()),
path('lineUpdate/', views.ChartUpdateView.as_view()),前端HTML结构
前端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图表的视觉风格进行了适当调整,使其更符合展示需求。

总结
至此,关于Python结合pyecharts绘制双动态曲线的教程已介绍完毕。如需了解更多相关Python与pyecharts双动态曲线的内容,建议搜索本站历史文章或继续浏览后续相关文章。感谢大家的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









