如何让bcr.bar_chart_race中未出现词汇的柱状图自动消失?
解决动态条形图中未出现词汇的条形重叠问题
要让后续月份未使用的词汇对应的条形直接消失,只需两步操作:
第一步:预处理数据
确保后续未出现词汇的月份对应的数值为0(如果原数据中这些位置是NaN,先填充为0):# 填充NaN为0,保证未出现词汇的月份数值为0 df_bangui.fillna(0, inplace=True)第二步:添加
filter_zero=True参数
在调用bcr.bar_chart_race时加入filter_zero=True参数,这个参数会自动过滤掉当前周期数值为0的条目,让对应的条形直接消失,不会参与排序和显示,从根本上避免重叠问题。
修改后的完整代码如下:
import bar_chart_race as bcr # 预处理数据:填充NaN为0 df_bangui.fillna(0, inplace=True) bcr.bar_chart_race(df_bangui, sort='desc', n_bars=20, steps_per_period=50, period_length=100, fixed_order=False, #interpolate_period=True, label_bars=False, figsize=(8, 4), dpi=144, shared_fontdict={'color' : '.1'}, filename = "Word Frequency\\Bangui_by month_2.gif", # 注意路径转义,或用原始字符串r"..." filter_column_colors = True, cmap = "dark2", title = "Journal de Bangui - Word Frequency by month", filter_zero=True # 新增参数:过滤数值为0的条目 )
另外注意路径中的反斜杠,Python里需要转义成\\,或者用原始字符串r"Word Frequency\Bangui_by month_2.gif",避免路径解析错误。
内容的提问来源于stack exchange,提问作者Nico Larrea Avila
相关产品推荐
相关产品推荐

