📜  如何在 Matplotlib 饼图中为楔形设置边框?

📅  最后修改于: 2022-05-13 01:55:50.045000             🧑  作者: Mango

如何在 Matplotlib 饼图中为楔形设置边框?

饼图可用于数据的相对比较。 Python提供了几个数据可视化库来使用。 Matplotlib 库提供了不同类型的图形以及用于操作图形的内置方法和属性。可以使用 matplotlib.pyplot 的 pie() 方法的 wedgeprops 属性为饼图中的楔形指定边框。下面给出了两个这样的示例,用于为饼图的楔形设置边框。

示例 1:

首先导入matplotlib包的pyplot模块。年和利润数组被初始化。接下来,使用给定数据绘制图形。 autopct 属性用于指定楔形内的文本与圆心的距离。 startangle 属性用于决定图表的绘制方向。默认情况下,startangle 为 0,这意味着图表从正 X 轴开始。这里 startangle 设置为 90,这意味着图表旋转 90 度,图表从正 Y 轴开始。 wedgeprops 属性用于设置每个楔子的属性。 edgecolor 设置为黑色,线宽设置为 2。Antialiasing 设置为 True 以防止图像出现锯齿效果。

下面是实现:

Python3
import matplotlib.pyplot as plt
  
years = [2016, 2017, 2018, 2019, 2020]
profit = [15, 19, 35, 14, 17]
  
# Plotting the pie chart
plt.pie(profit, labels = years, autopct = '%1.1f%%',
        startangle = 90, 
        wedgeprops = {"edgecolor" : "black",
                      'linewidth': 2,
                      'antialiased': True})
  
# Equal aspect ratio ensures
# that pie is drawn as a circle.
plt.axis('equal')
  
# Display the graph onto the screen
plt.show()


Python3
import matplotlib.pyplot as plt
  
# the slices are ordered and
# plotted counter-clockwise:
product = 'Product A', 'Product B',
            'Product C', 'Product D'
    
stock = [15, 30, 35, 20]
explode = (0.1, 0, 0.1, 0) 
  
plt.pie(stock, explode = explode,
        labels = product, autopct = '%1.1f%%',
        shadow = True, startangle = 90,
        wedgeprops= {"edgecolor":"black",
                     'linewidth': 3,
                     'antialiased': True})
  
# Equal aspect ratio ensures that
# pie is drawn as a circle.
plt.axis('equal')  
  
plt.show()


输出:

示例 2:

首先导入matplotlib包的pyplot模块。 product 和 stock 数组被初始化。爆炸是一种可选的类似数组的结构,用于分隔饼图的某些部分。接下来,使用给定数据绘制图形。 autopct 属性用于指定楔形内的文本与圆心的距离。 shadow 属性是为分割部分生成的阴影。 startangle 属性用于决定图表的绘制方向。默认情况下,startangle 为 0,这意味着图表从正 X 轴开始。这里 startangle 设置为 90,这意味着图表旋转 90 度,图表从正 Y 轴开始。 wedgeprops 属性用于设置每个楔子的属性。 edgecolor 设置为黑色,线宽设置为 3。Antialiasing 设置为 true 以防止图像出现锯齿效果。

下面是实现:

蟒蛇3

import matplotlib.pyplot as plt
  
# the slices are ordered and
# plotted counter-clockwise:
product = 'Product A', 'Product B',
            'Product C', 'Product D'
    
stock = [15, 30, 35, 20]
explode = (0.1, 0, 0.1, 0) 
  
plt.pie(stock, explode = explode,
        labels = product, autopct = '%1.1f%%',
        shadow = True, startangle = 90,
        wedgeprops= {"edgecolor":"black",
                     'linewidth': 3,
                     'antialiased': True})
  
# Equal aspect ratio ensures that
# pie is drawn as a circle.
plt.axis('equal')  
  
plt.show()

输出: