为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Latex pygal 标签中渲染

如何在 Latex pygal 标签中渲染

Cats萌萌 2021-10-19 15:51:06
我有一些带有标签的二维数据点,我想在 pygal 中呈现它们。例如,对于每个点,当我用鼠标经过它时,我需要可视化一个特征。首先,为了绘制没有任何标签的点,我执行了以下操作:import pygal                                                       # data = [(0, 0), (.1, .2), (.3, .1), (.5, 1), (.8, .6), (1, 1.08), (1.3, 1.1), (2, 3.23), (2.43, 2)]xy_chart = pygal.XY(stroke=False)xy_chart.title = 'Correlation'xy_chart.add('A', data)xy_chart.render()它按照我的意愿绘制了所有数据,没有标签(这意味着如果我将鼠标放在一个点上,它只会给我“A”类和该点的坐标)。现在,为了给我的数据添加标签,我应该如何修改代码?最初,我尝试这样做:xy_chart.add('A', [{'value': data, 'label': r'$\tau = 2.3'}])但它给了我错误 unsupported operand type(s) for -: 'tuple' and 'tuple如果我每次只考虑列表中的一个元素,例如:first_elem = data[0]xy_chart.add('A', [{'value': first_elem, 'label': r'$\tau = 2.3'}])它工作没有错误,但它不会在乳胶中呈现标签,所以我在图像中看到$\tau = 2.3$而不是呈现的乳胶代码。所以有两个问题:第一个是我如何在点上放置标签,第二个是我如何在 Latex 中渲染这些标签
查看完整描述

1 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

关于您的第二个问题:我不确定 pygal 是否支持 LaTeX(我无法找到有关此的任何信息 - 如果我错了,请纠正我)。


关于你的第一个问题:用字典填充你的数据列表,如下所示:


data = [{'value': (0, 0), 'label': "τ = 2.3"},

        (.1, .2), (.3, .1), (.5, 1), (.8, .6), (1, 1.08), (1.3, 1.1),

        (2, 3.23), (2.43, 2)]

...

xy_chart.add('A', data)

...

(我只在你列表的第一学期展示了它)。


顺便说一句,您可以包含一些 unicode 字符,因此,除非您想要包含数学公式的标签,否则您应该能够获得一些符号(如τ这里)。


您可以使用列表推导以编程方式确定您的标签。例如,


data = [(0, 0), (.1, .2), (.3, .1), (.5, 1), (.8, .6), (1, 1.08), (1.3, 1.1), (2, 3.23), (2.43, 2)]

labelled_data = [{'value': k, 'label': "τ = 2.3"} for k in data]

...

xy_chart.add('A', labelled_data)

...


查看完整回答
反对 回复 2021-10-19
  • 1 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信