
[英]Why is my reference line (HLine) not showing up in Holoviews plot?
[英]Holoviews: HLine error when trying to plot on categorical groupby bar plot
只是试图将 HLine(这是值的平均值)添加到我创建的 groupby 条形图,但是,我不断收到值错误“所有输入 arrays 必须具有相同的维数,但索引 0 处的数组有2 维,索引 1 处的数组有 1 维”。 有谁知道我哪里出错了? 产生以下错误的数据示例:
Data_test = [['2010', 5, 'Yes'], ['2010', 7, 'No'],
['2011', 3, 'Yes'], ['2011', 5, 'No'],
['2012', 7, 'Yes'], ['2012', 3, 'No'],
['2013', 8, 'Yes'], ['2013', 7, 'No'],
['2014', 2, 'Yes'], ['2014', 3, 'No'],
['2015', 6, 'Yes'], ['2015', 7, 'No'],
['2016', 1, 'Yes'], ['2016', 7, 'No'],
['2017', 9, 'Yes'], ['2017', 3, 'No'],
['2018', 7, 'Yes'], ['2018', 5, 'No'],
['2019', 3, 'Yes'], ['2019', 9, 'No']]
test_df = pd.DataFrame(Data_test, columns = ['Year', 'Value', 'Category'])
test_plot = test_df.groupby(['Year', 'Category'])['Value'].mean().plot(kind = 'bar').opts(multi_level = False) * hv.HLine(test_df['Value'].mean())
test_plot
感谢您的任何建议!
目前尚不清楚您看到的是什么错误。 如果我运行您发布的代码,它可以工作,如果您使用 hvplot 覆盖 object 系列的默认 plot 方法。 绘图线应该是
test_plot = test_df.groupby(['Year', 'Category'])['Value'].mean().hvplot.bar().options(multi_level = False) * hv.HLine(test_df['Value'].mean())
你得到 plot。
剩下的代码和你的一样
import pandas as pd
import holoviews as hv
import hvplot.pandas
Data_test = [['2010', 5, 'Yes'], ['2010', 7, 'No'],
['2011', 3, 'Yes'], ['2011', 5, 'No'],
['2012', 7, 'Yes'], ['2012', 3, 'No'],
['2013', 8, 'Yes'], ['2013', 7, 'No'],
['2014', 2, 'Yes'], ['2014', 3, 'No'],
['2015', 6, 'Yes'], ['2015', 7, 'No'],
['2016', 1, 'Yes'], ['2016', 7, 'No'],
['2017', 9, 'Yes'], ['2017', 3, 'No'],
['2018', 7, 'Yes'], ['2018', 5, 'No'],
['2019', 3, 'Yes'], ['2019', 9, 'No']]
test_df = pd.DataFrame(Data_test, columns = ['Year', 'Value', 'Category'])
test_plot = test_df.groupby(['Year', 'Category'])['Value'].mean().hvplot.bar().options(multi_level = False) * hv.HLine(test_df['Value'].mean())
test_plot
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.