Matplotlib中直方图边缘及画布边框颜色设置不生效问题求助
解决Matplotlib的两个绘图问题
问题1:直方图边缘颜色不生效
你当前的plt.hist()代码未指定边缘颜色参数,需添加edgecolor(指定颜色)和可选的linewidth(让边缘更清晰,避免因线宽太细看不见)。修改后代码如下:
plt.hist(BigMart_Data_Encoded['Item_Type'], bins=15, edgecolor='black', linewidth=1)
若此前已添加参数但未生效,检查颜色值拼写是否正确,或linewidth是否设置过小。
问题2:画布边框颜色无法更改
plt.figure()的edgecolor是设置整个画布(figure)的边缘颜色,但该边缘通常被绘图区域(axes)或窗口遮挡,因此无法显示。如果要修改的是绘图区域的坐标轴边框,需操作axes的spines组件:
fig=plt.figure(figsize=(25, 10), tight_layout=True) ax = plt.gca() # 将四个坐标轴边框设为黑色 for spine in ax.spines.values(): spine.set_color('black') plt.title('Distribution of Item Type') plt.xlabel('Item Type') plt.hist(BigMart_Data_Encoded['Item_Type'], bins=15, edgecolor='black', linewidth=1)
若确实需要显示画布本身的边缘,可给画布设置对比色的背景(如浅灰色),让边缘颜色更明显:
fig=plt.figure(figsize=(25, 10), tight_layout=True, edgecolor='black', facecolor='lightgray')
内容的提问来源于stack exchange,提问作者YamenAly
相关产品推荐
相关产品推荐

