pyecharts+django之自定义tooltip内容

在自学django,目前有用到图表,处于pyecharts入门级别,遇到一些问题请求度娘未果,然后自己记录一下:)

问题:
使用树形图,tooltip显示的文字应该如何去定义?

探索过程:
首先知道tooltip的总体设置是怎么做的,参考 pyecharts.org 发现是在add方法里定义:
pyecharts+django之自定义tooltip内容_第1张图片
tooltip_opts(截图省略中间内容)
尝试如下:

def make_tree(data):
    tree = (Tree()
            	.add(""
            		, data
                	,tooltip_opts=options.TooltipOpts()
           		)
           )
    return tree

默认的tooltip是这样的:
pyecharts+django之自定义tooltip内容_第2张图片
查看pyecharts源代码,global_options.py中的TooltipOpts类,可以找到控制tooltip文本的参数:

formatter: Optional[JSFunc] = None,

自己尝试如下:

def make_tree(data):
   tree = (Tree()
           	.add(""
           		, data
               	,tooltip_opts=options.TooltipOpts(formatter="test")
          		)
          )
   return tree

得到结果:
pyecharts+django之自定义tooltip内容_第3张图片
此时已经成功修改了tooltip的文本,但三个节点都是一样的,如果想使用变量怎么办?
笔者自己的需求是让每个节点的tooltip展示其value值,大家可以据此自己进行扩展实验~
从之前的源代码可以看出,formatter是可以使用JSFunc的,
尝试如下:

def make_tree(data):
   tree = (Tree()
           	.add(""
           		,data
               	,tooltip_opts=options.TooltipOpts(formatter=JsCode(
                        """function (params) {
                               return params.value;
                           }"""
                   ))
               )
          )
   return tree

得出结果:
pyecharts+django之自定义tooltip内容_第4张图片
至此已经可以成功展示node自己的value了~新手献丑的第一篇博客:)

你可能感兴趣的:(django,pyecharts)