用python使用pyecharts绘制一个三维立体柱状图,数据使用中国2000年至2020年中国五岁儿童以下死亡率估计值,产生报错 Axis3DOpts.__init__() got an unexpected keyword argument 'range_'怎么解决
时间: 2023-07-30 22:07:14 浏览: 62
这个报错是因为 pyecharts 的 `Axis3DOpts` 类中没有 `range_` 这个参数,而是使用了 `range` 参数来设置坐标轴的范围。所以,你需要将 `range_` 改成 `range`,就可以解决这个报错了。
以下是修改后的代码示例:
```python
from pyecharts import options as opts
from pyecharts.charts import Bar3D
# 准备数据
data = [
[i, j, 0] for i in range(2000, 2021) for j in range(0, 5)
]
values = [39.4, 30.6, 23.7, 18.4, 14.3, 11.3, 9.2, 8.1, 7.4, 6.8, 6.4,
6.1, 5.9, 5.7, 5.6, 5.4, 5.3, 5.2, 5.1, 5.0, 4.9, 4.8, 4.7,
4.6, 4.6, 4.5]
min_value = min(values)
max_value = max(values)
# 绘制图表
bar3d = (
Bar3D()
.add(
"",
data,
values,
xaxis3d_opts=opts.Axis3DOpts(range=[2000, 2020]),
yaxis3d_opts=opts.Axis3DOpts(range=[0, 4]),
zaxis3d_opts=opts.Axis3DOpts(range=[min_value, max_value]),
)
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
max_=max_value,
range_text=["High", "Low"],
is_calculable=True,
range_color=["lightskyblue", "yellow", "orangered"],
),
title_opts=opts.TitleOpts(title="中国2000年至2020年五岁以下儿童死亡率估计值"),
)
)
# 保存图表
bar3d.render("bar3d.html")
```
你可以尝试运行这段代码,看看是否可以成功绘制三维立体柱状图。