提问人:Nuno Can 提问时间:11/15/2023 更新时间:11/15/2023 访问量:19
Python 错误:绘图时没有数值数据
Python Error: No numeric data when plotting
问:
我想按工作日和小时绘制条形图。当我限制数据时,它向我显示以下消息:
TypeError:没有要绘制的数值数据
我的代码适用于整个数据集。但是,当数据受到限制时,它不起作用。
我已经检查了数据集中的非数字数据,这不是问题(不能说它适用于更大的数据集)。我怀疑这与某些小时/天根本没有数据这一事实有关。
当我定义较新的数据时,当我遇到问题时,如果包含所有内容或更多数据就可以了。
data_last_week = data_excel[data_excel["date"] >= "2023-11-07"]
我添加了这两行来尝试解决问题
grouped_data=grouped_data.astype(float)
grouped_data = grouped_data.fillna(0)
def create_bar_plot_after(data, column, colors):
grouped_data = data.groupby(["weekday", "hours"])[column].mean().unstack()
grouped_data=grouped_data.astype(float)
grouped_data = grouped_data.fillna(0)
# Plotting
plt.figure() # Create a new figure to avoid overlapping with previous plots
grouped_data2.plot(kind="bar", color=colors, alpha=0.7, edgecolor='black') # Add edgecolor for better separation
plt.xlabel("Weekday")
plt.ylabel(column)
plt.title(f"{column} by Weekday and Hour after {str(seven_days_ago)}")
plt.xticks(rotation=45)
plt.legend(title='Hour', bbox_to_anchor=(1.05, 1), loc='upper left') # Move legend outside the plot for better visibility
# Save the plot to an image file (optional)
plt.savefig(os.path.join(folder_path, f"{file_name}_{column}_by_weekday_hour_after_{str(seven_days_ago)}.png"), bbox_inches='tight')
create_bar_plot_after(data_last_week, "atendeu", colors)
答: 暂无答案
评论