小编K.I*_*Ivi的帖子

如何避免 MatPlotLib ver.2.0.2 中饼图标签重叠?

关于饼图绘制的标签重叠有很多问题。但是,除了将它们转换为图例之外,我找不到自动化的解决方案。这个解决方案对我不起作用,因为我有很多值(大约 60 个),并且转换为图例将使绘图看起来非常混乱和不清楚。所以我的问题是,如果我想在饼图周围标记饼图楔形,MatPlotLib 2.0.2 版是否有任何自动化解决方案可以使标签具有良好的间距(无重叠)?我发现的唯一解决方案是使用annotation()手动完成。请参阅下面带有虚拟值的脚本。是否可以用箭头将饼图的楔形连接到相关标签?

我使用 Python 2.7 和 MatPlotLib 2.0.2

谢谢,

示例 1(重叠标签)

在此输入图像描述

示例2(手动更正)

在此输入图像描述

import pylab 
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
l = ax.pie([1,0.2, 0.3,0.1,0.4,7,50,35,5,2],#[0, 0.1, 0, 0.1,0,0.1,0,0.1,0,0.1],
            #labels=("one","two","three made up sentences","four is also ther","five becomes a sentence","six it is","seven long", "eight long sent", "nine, as bla bel mo","ten is also short"),
            labels=("","","","","","six it is","seven long", "eight long sent", "nine, as bla bel mo","ten is also short"),
            colors=("b","g","r","y", "b","g","r","y","g","black"),
            startangle =20,
            radius=1,
            frame=True,   # …
Run Code Online (Sandbox Code Playgroud)

python label matplotlib overlap pie-chart

5
推荐指数
1
解决办法
7285
查看次数

标签 统计

label ×1

matplotlib ×1

overlap ×1

pie-chart ×1

python ×1