使用matplotlib绘制半圆图

使用matplotlib绘制半圆图,matplotlib,pie-chart,Matplotlib,Pie Chart,matplotlib是否能够创建如下半圆图: 我尝试了matplotlib.pyplot.pie但没有成功。在matplotlib中似乎没有内置的半圆类型。但是,可以基于matplotlib.pyplot.pie: 附加数据的总和并为其指定白色 用对象()在中心覆盖一个白色圆圈 示例代码: import matplotlib.pyplot as plt # data label = ["A", "B", "C"] val = [1,

matplotlib
是否能够创建如下半圆图:


我尝试了
matplotlib.pyplot.pie
但没有成功。

matplotlib
中似乎没有内置的半圆类型。但是,可以基于
matplotlib.pyplot.pie

  • 附加数据的总和并为其指定白色
  • 用对象()在中心覆盖一个白色圆圈
  • 示例代码:

    import matplotlib.pyplot as plt
    
    # data
    label = ["A", "B", "C"]
    val = [1,2,3]
    
    # append data and assign color
    label.append("")
    val.append(sum(val))  # 50% blank
    colors = ['red', 'blue', 'green', 'white']
    
    # plot
    fig = plt.figure(figsize=(8,6),dpi=100)
    ax = fig.add_subplot(1,1,1)
    ax.pie(val, labels=label, colors=colors)
    ax.add_artist(plt.Circle((0, 0), 0.6, color='white'))
    fig.show()
    
    输出:

    我的解决方案:

    导入matplotlib.pyplot作为plt
    #资料
    标签=[“A”、“B”、“C”]
    val=[1,2,3]
    #附加数据并指定颜色
    label.append(“”)
    val.append(总和(val))#50%空白
    颜色=['红色'、'蓝色'、'绿色'、'k']
    #密谋
    plt.图(figsize=(8,6),dpi=100)
    楔块,标签=plt.pie(val,楔块操作=dict(宽度=0.4,边颜色='w'),标签=标签,颜色=颜色)
    #我试过这个方法
    楔块[-1]。设置为可见(假)
    plt.show()
    
    输出

    谢谢你的回答。我找到了解决这个问题的方法。我们可以使用
    wedges[-1]。将_visible(False)
    设置为隐藏圆的最后一部分chart@guotree我们如何定义楔子?它是从修补程序还是其他任何东西导入的