Matplotlib绘制polar plot极坐标图时如何去除红色切片处的绿色边缘?
解决方法
你看到的红色切片边缘是ax.bar()方法生成的条形自带的边框,不属于坐标轴元素,所以调整坐标轴参数不会生效,直接修改条形的边框属性即可,以下是可行方案:
- 方案1:绘制时直接去除所有边框
在ax.bar的参数中添加edgecolor='none'或者linewidth=0即可:
ax = plt.subplot(111, projection='polar') bars = ax.bar(theta, radii, width=width, bottom=0, color=[1, 0, 0], edgecolor='none')
- 方案2:保留边框但修改为和填充色一致的颜色
如果需要保留边框避免条形之间无缝衔接的违和感,可以把边框颜色设为和填充色相同的红色:
ax = plt.subplot(111, projection='polar') bars = ax.bar(theta, radii, width=width, bottom=0, color=[1, 0, 0], edgecolor=[1, 0, 0])
- 方案3:已经生成条形后批量修改属性
如果已经执行完绘图代码不想重绘,可以遍历生成的条形对象修改属性:
for bar in bars: # 去除边框 bar.set_edgecolor('none') # 或者修改边框颜色 # bar.set_edgecolor([1, 0, 0])
内容的提问来源于stack exchange,提问作者Lucile
相关产品推荐
相关产品推荐

