Bar' object has no attribute 'render_tk'
时间: 2023-06-22 13:31:32 浏览: 85
这个错误是因为在您的代码中,Bar 对象不支持 render_tk() 方法。实际上,只有 Page 和 Chart 对象支持 render_tk() 方法。您可以通过以下代码创建一个 Page 对象,并在该对象中添加一个 Bar 图表,并使用 render_tk() 方法在 tkinter 窗口中渲染该图表:
```
from tkinter import *
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.render import tkinter as tk_render
from pyecharts.globals import ThemeType
from pyecharts.faker import Faker
# 创建 tkinter 窗口
root = Tk()
# 创建 Bar 图表
bar = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))
.add_xaxis(Faker.choose())
.add_yaxis("销量", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-RenderTk"))
)
# 创建 Page 对象,并将 Bar 图表添加到 Page 对象中
page = Page(layout=Page.SimplePageLayout, bg_color="#F0F0F0")
page.add(bar)
# 在 tkinter 窗口中渲染 Page 对象
tk_render(page, root)
# 进入 tkinter 主循环
root.mainloop()
```
这段代码创建了一个 Bar 图表,并使用 Page 对象将该图表添加到 Page 中。然后,使用 render_tk() 方法在 tkinter 窗口中渲染了该 Page。您可以将这段代码保存为 .py 文件并执行,即可在 tkinter 窗口中看到这个图表。
阅读全文