为什么图显示出来只有标题,没有副标题
303030330330303030303003033303300330303003003033(凑字数)
删除了item_gap语句,就显示出来了,why?
问题点:参数类型错误
item_gap #主副标题之间的距离 int类型,默认值是 10.
根据参考资料中的第一个段落,问题是图表只显示标题而没有显示副标题,并且删除了item_gap语句后,图表正常显示了。那么,接下来我将解释这个问题的原因。
在给定的代码中,没有找到关于副标题的相关代码。因此,副标题的显示问题可能是因为副标题的相关代码没有被添加进去。
要在图表中添加副标题,可以使用set_global_opts
方法,并传递title_opts
参数来设置标题选项。在这个问题中,副标题是通过调用opts.TitleOpts
方法来设置的。
具体的解决方案如下:
options
和charts
模块:from pyecharts import options as opts
from pyecharts.charts import Bar, Timeline
tl = Timeline()
for i in range(1977, 2021):
# 根据年份筛选数据并排序
df_sub = df[df["year"] == i].sort_values(by="csum")
cats_list = list(df_sub["cats"])
csum_list = list(df_sub["csum"])
color_list = list(df_sub["color"])
y = []
# 创建BarItem实例,设置图形的颜色
for j in range(5):
y.append(
opts.BarItem(
name=cats_list[j],
value=csum_list[j],
itemstyle_opts=opts.ItemStyleOpts(color=color_list[j])
)
)
# 创建柱状图实例
bar = (
Bar(init_opts=opts.InitOpts(width='720px', height='320px'))
.add_xaxis(xaxis_data=cats_list)
.add_yaxis(series_name='', yaxis_data=y, label_opts=opts.LabelOpts(position="right", font_weight="bold"), category_gap=30)
.reversal_axis()
.set_global_opts(
title_opts=opts.TitleOpts(title="看看谁跑得快(时间:{} 年)".format(i), subtitle="副标题", pos_left=350, padding=[30, 20]),
xaxis_opts=opts.AxisOpts(max_=50000)
)
)
# 将柱状图添加到时间轴实例中
tl.add(bar, "{} 年".format(i))
tl.add_schema(play_interval=300, is_loop_play=False)
# 渲染并保存图表
tl.render("b.html")
这样,每个图表都会显示一个主标题和一个副标题。
至于为什么删除了item_gap
语句后,图表就正常显示了,无法确定,因为没有提供完整的代码和数据。这可能是由于item_gap
参数的使用方式不正确或者其他原因导致的。