python绘图系列文章目录

往期python绘图合集:
python绘制简单的折线图
python读取excel中数据并绘制多子图多组图在一张画布上
python绘制带误差棒的柱状图
python绘制多子图并单独显示
python读取excel数据并绘制多y轴图像
python绘制柱状图并美化|不同颜色填充柱子
python随机生成数据并用双y轴绘制两条带误差棒的折线图
Python绘制带误差棒的柱状图渐变色填充含数据标注(进阶)
python绘制散点图|散点大小和颜色深浅由数值决定


本文目录

  • python绘图系列文章目录
  • 1、 安装和导入 Matplotlib
  • 2、 绘制简单的饼状图
  • 3、 绘制复杂的饼状图
    • 3.1 准备工作
  • 4 、绘制子图和设置坐标轴
    • 4.1 运行结果

饼状图是数据可视化中常见的一种类型,能够直观地表示各类别在总体中所占的比例。Matplotlib 是 Python 中常用的数据可视化库,提供了丰富的绘图工具和函数,包括绘制饼状图的方法。

本文将介绍如何使用 Matplotlib 绘制复杂的饼状图,包含多个子图以及两个坐标轴。我们将结合实例代码进行讲解,帮助读者快速掌握饼状图的绘制方法和技巧。

1、 安装和导入 Matplotlib

# 使用 pip 安装 Matplotlib
pip install matplotlib
# 使用 conda 安装 Matplotlib
conda install matplotlib

安装完成后,可以在 Python 中导入 Matplotlib 库,通常使用以下方式:

import matplotlib.pyplot as plt

2、 绘制简单的饼状图

为了更好地理解和掌握饼状图的基本绘制方法,我们先来看一个简单的例子。假设有四种动物,它们分别是青蛙、猪、狗和木头,它们分别占据了总动物数量的 15%、30%、45% 和 10%。我们可以使用 Matplotlib 来绘制这个饼状图,并将它们按逆时针顺序从大到小排列。代码如下:

import matplotlib.pyplot as plt# 各类别的标签和比例
labels = ['Frogs', 'Hogs', 'Dogs', 'Logs']
sizes = [15, 30, 45, 10]# 饼状图中各部分的颜色
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']
# 绘制饼状图
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=90)
# 显示图形
plt.show()

在上述代码中,我们首先定义了四个动物种类的标签和比例变量,分别存放了它们的名称和所占比例。然后,我们定义了饼状图中各部分的颜色,用于美化图形。最后,使用 plt.pie() 方法绘制了饼状图,并传递了各种参数,如标签、颜色、百分比格式和起始角度。最后,运行 plt.show() 显示图形。绘制完成后,我们将得到一个简单的饼状图。

3、 绘制复杂的饼状图

在实际情况中,我们可能需要绘制更加复杂和详细的饼状图,以更好地展示数据。下面,我们将介绍如何使用 Matplotlib 绘制一个包含多个子图和坐标轴的复杂饼状图。

3.1 准备工作

首先,我们需要导入一些必要的库和模块:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

其中,NumPy 是 Python 中处理数值计算的常用库,Matplotlib 则是绘制图形的核心库。此外,我们还导入了 FontProperties 类,用于设置字体属性。

接下来,我们定义一些变量,用于存储饼状图中各部分的标签、比例和颜色。代码如下:

# 饼状图中各部分的标签、比例和颜色
labels = ['Frogs', 'Hogs', 'Dogs', 'Logs']
sizes = [15, 30, 45, 10]
colors = ['yellowgreen', 'gold', '#FF0000', 'lightcoral']

4 、绘制子图和设置坐标轴

为了绘制复杂的饼状图,我们需要使用 plt.subplots() 方法创建多个子图,并在每个子图上绘制不同的饼状图。同时,我们还需要设置两个坐标轴,以便更好地展示数据。代码如下:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# The slices will be ordered and plotted counter - clockwise .
labels =' Frogs ',' Hogs ',' Dogs ',' Logs '
sizes =[15,30,45,10]colors =['yellowgreen','gold','#FF0000','lightcoral'] explode =(0,0.15,0,0.2)
#使饼状图中第2片和第4片裂开
fig = plt.figure(dpi=300) font = FontProperties(fname=r"c:\windows\fonts\times.ttf", size=12)ax = fig.gca ()ax.pie ( np.random.random (4), explode = explode , labels = labels , colors = colors ,textprops={'fontproperties': font},
autopct ='%1.1f%%', shadow = True , startangle =90, radius =0.8, center =(1,1), frame = True,)
ax.pie ( np.random.random (4), explode = explode , labels = labels , colors = colors ,textprops={'fontproperties': font},
autopct ='%1.1f%%', shadow = True , startangle =90, radius =0.8, center =(-1,1), frame = True )
ax.pie ( np.random.random (4), explode = explode , labels = labels , colors = colors ,textprops={'fontproperties': font},
autopct ='%1.lf%%', shadow = True , startangle =90, radius =0.8, center =(-1,-1), frame = True )
ax.pie ( np.random.random (4), explode = explode , labels = labels , colors = colors ,textprops={'fontproperties': font},
autopct ='%1.1f%%', shadow = True , startangle =90, radius =0.8, center =(1,-1), frame = True )ax.set_xticks ([-1,1])
ax.set_yticks ([-1,1])
ax.set_xticklabels ([" Sunny "," Cloudy "],fontname='Times New Roman',fontsize=14)#设置坐标轴刻度上显示的标签
ax.set_yticklabels ([" Dry "," Rainy "],fontname='Times New Roman',fontsize=14)
ax.set_xlim ((-2.5,2.5))
ax.set_ylim ((-2.5,2.5))
# Set aspect ratio to be equal so that pie is drawn as a circle . ax . set _ aspect (' equal ')for tick in ax.get_xticklabels():tick.set_fontname("Times New Roman")
for tick in ax.get_yticklabels():tick.set_fontname("Times New Roman")
# #设置坐标轴刻度# #设置坐标轴跨度
plt.tight_layout()
plt.savefig('.jpg')

4.1 运行结果

Matplotlib绘制漂亮的饼状图|python绘制漂亮的饼状图相关推荐

  1. python绘制3d图-Python绘制3D图形

    3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行3D图形的绘制,包括3D散点.3D表面.3D轮廓.3D直线(曲线)以及3D文字等的绘制 ...

  2. python画3d图-Python绘制3D图形

    来自:https://www.jb51.net/article/139349.htm 3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行 ...

  3. python画3d圆形图,Python绘制3D图形

    3d图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行3d图形的绘制,包括3d散点.3d表面.3d轮廓.3d直线(曲线)以及3d文字等的绘制 ...

  4. python话雷达图-PYTHON绘制雷达图代码实例

    这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.py ...

  5. python画函数图-Python 绘制你想要的数学函数图形

    Python 非常热门,但除非工作需要没有刻意去了解更多,直到有个函数图要绘制,想起了它.结果发现,完全用不着明白什么是编程,就可以使用它完成很多数学函数图的绘制.通过以下两个步骤,就可以进行数学函数 ...

  6. python画折线图代码实现_python如何绘制分布折线图 python绘制分布折线图代码示例...

    python如何绘制分布折线图?本篇文章小编给大家分享一下python绘制分布折线图代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 用Pyth ...

  7. python画50个图-python绘制多个子图的实例

    python绘制多个子图的实例 绘制八个子图 import matplotlib.pyplot as plt fig = plt.figure() shape=['.','o','v','>', ...

  8. python画折线图-python绘制简单折线图代码示例

    1.画最简单的直线图 代码如下: import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt ...

  9. python绘制组合图_Python如何绘制组合图 Python绘制组合图代码示例

    Python如何绘制组合图?本篇文章小编给大家分享一下Python绘制组合图代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 绘制组合图: 组合 ...

最新文章

  1. python如何统计字典里面健的数量_Python中使用Counter进行字典创建以及key数量统计的方法...
  2. 视差滚动(Parallax Scrolling)效果的原理和实现
  3. 如何在aspx页面中插入swf动画
  4. 【图像去噪】基于matlab GUI小波+中值+维纳及频域滤波【含Matlab源码 506期】
  5. 让代码更美:10大编程字体
  6. linux雨滴桌面,Rainmeter(雨滴桌面秀)
  7. APEX光学分析设计软件
  8. 南京周边城市两日游方案
  9. Git 换行符自动转换
  10. 计算机的cpu不能用,CPU故障该怎么确定?解决办法?
  11. 30岁之后想转行,可行吗?这20条建议让你少走弯路!
  12. 诗歌十一 十二则名门家训(非淡泊无以明志,非宁静无以致远)
  13. 兰博基尼推出全新混动超跑Revuelto
  14. Vue3究竟好在哪里?
  15. 什么是禅?《禅与计算机程序设计艺术》 / 陈光剑
  16. 织梦gbk下文章随机文字转换为图片
  17. 一个简洁的斐波那契求法和它的简单应用
  18. c语言设计模拟闹钟主函数,基于STM32F407的四重感觉人体自然唤醒仪器设计
  19. 英伟达的DPU,是想在数据中心奇袭英特尔?
  20. 和IDEA一样好用的go语言IDE:Goland

热门文章

  1. 不要制造紧迫感,要培养目标感
  2. 邹伟:如何开发一款小游戏
  3. h5案例欣赏及分析_【标签H5】你几岁了?
  4. android自定义view,时间刻度尺,时间轴,视频轴
  5. [读书笔记]《SQL基础教程》
  6. 使用TensorFlow训练Boosted Trees model
  7. AR9331校验功率
  8. 关于\u003c转换成正常html符号的事
  9. 谷歌搜索揭示人性最黑暗的秘密
  10. powerdesigner数据库建模工具