谁说matplotlib做不出好看的可视化

简介: 谁说matplotlib做不出好看的可视化

简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。

纵向柱形图(按升序排列)

# 解决部分 jupyter notebook 中出图不成功
%matplotlib inline
# 导入相关库
import numpy as np
import matplotlib.pyplot as plt
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
# 显示负号
plt.rcParams['axes.unicode_minus'] = False
# 字体
TNR = {'fontname':'Times New Roman'}
Fs = {'fontname':'Fangsong'}
# 设置画布大小
plt.figure(figsize=(12,6))
figure,axes = plt.subplots(1,1,figsize = (12,6),dpi = 1000)
data = [100, 130, 169, 220, 286, 372, 484, 629, 818, 1063, 1382, 1797]
labels = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
# 数据顺序反转
# data.reverse()
# 标签顺序反转
# labels.reverse()
N = 12
x = np.arange(N)
# 自定义每根柱子的颜色
colors = ["#4E79A7",  "#A0CBE8",  "#F28E2B",  "#FFBE7D",  "#59A14F",  "#8CD17D",  "#B6992D",  "#F1CE63",  "#499894",  "#86BCB6",  "#E15759",  "#E19D9A"]
# 颜色顺序反转
# colors.reverse()
# 绘制纵向柱形图
plt.bar(range(len(data)), data, tick_label=labels,color = colors)
# plt.barh(range(len(data)), data, tick_label=labels,color = colors)
# 添加大标题
plt.title("2021年各月份销售业绩(万元)",fontsize=20,**Fs) 
# 给X轴定义标签
# plt.xlabel("月份",fontsize=15)
# 给Y轴定义标签
# plt.ylabel("销售额(万元)",fontsize=15)
# 依次给每根柱子添加数据标签,并把字体设置为新罗马体(教科书、论文的数字、公式一般都用新罗马体)
for i,j in zip(x, data):
    plt.text(i, j+0.05, '%.0f' % j, ha='center', va= 'bottom',fontsize=15,**TNR)
# 为了美观,不显示画布的黑色边框
[axes.spines[loc_axis].set_visible(False) for loc_axis in ['top','right','bottom','left']]
# 不显示Y轴坐标
axes.set_yticks([])
# 输出为矢量图,不管放大或缩小,图形皆不会失真
plt.savefig(r"C:\Users\Administrator\Desktop\test.svg", format="svg")
# 输出为常规的png格式
plt.savefig(r"C:\Users\Administrator\Desktop\test.png", format="png")
# 输出为常规的jpg格式
plt.savefig(r"C:\Users\Administrator\Desktop\test.jpg", format="png")
# 绘图
plt.show()
<Figure size 864x432 with 0 Axes>

image.png

向柱形图(类别与数据标签反转,按降序排列)

# 解决部分 jupyter notebook 中出图不成功
%matplotlib inline
# 导入相关库
import numpy as np
import matplotlib.pyplot as plt
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
# 显示负号
plt.rcParams['axes.unicode_minus'] = False
# 字体
TNR = {'fontname':'Times New Roman'}
Fs = {'fontname':'Fangsong'}
# 设置画布大小
plt.figure(figsize=(12,6))
figure,axes = plt.subplots(1,1,figsize = (12,6),dpi = 1000)
data = [100, 130, 169, 220, 286, 372, 484, 629, 818, 1063, 1382, 1797]
labels = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
# 数据顺序反转
data.reverse()
# 标签顺序反转
labels.reverse()
N = 12
x = np.arange(N)
# 自定义每根柱子的颜色
colors = ["#4E79A7",  "#A0CBE8",  "#F28E2B",  "#FFBE7D",  "#59A14F",  "#8CD17D",  "#B6992D",  "#F1CE63",  "#499894",  "#86BCB6",  "#E15759",  "#E19D9A"]
# 颜色顺序反转
# colors.reverse()
# 绘制纵向柱形图
plt.bar(range(len(data)), data, tick_label=labels,color = colors)
# plt.barh(range(len(data)), data, tick_label=labels,color = colors)
# 添加大标题
plt.title("2021年各月份销售业绩(万元)",fontsize=20,**Fs) 
# 给X轴定义标签
# plt.xlabel("月份",fontsize=15)
# 给Y轴定义标签
# plt.ylabel("销售额(万元)",fontsize=15)
# 依次给每根柱子添加数据标签,并把字体设置为新罗马体(教科书、论文的数字、公式一般都用新罗马体)
for i,j in zip(x, data):
    plt.text(i, j+0.05, '%.0f' % j, ha='center', va= 'bottom',fontsize=15,**TNR)
# 为了美观,不显示画布的黑色边框
[axes.spines[loc_axis].set_visible(False) for loc_axis in ['top','right','bottom','left']]
# 不显示Y轴坐标
axes.set_yticks([])
# 输出为矢量图,不管放大或缩小,图形皆不会失真
plt.savefig(r"C:\Users\Administrator\Desktop\test.svg", format="svg")
# 输出为常规的png格式
plt.savefig(r"C:\Users\Administrator\Desktop\test.png", format="png")
# 输出为常规的jpg格式
plt.savefig(r"C:\Users\Administrator\Desktop\test.jpg", format="png")
# 绘图
plt.show()
<Figure size 864x432 with 0 Axes>

image.png

纵向柱形图(类别与数据标签反转,按降序排列,颜色编码也反转)

# 解决部分 jupyter notebook 中出图不成功
%matplotlib inline
# 导入相关库
import numpy as np
import matplotlib.pyplot as plt
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
# 显示负号
plt.rcParams['axes.unicode_minus'] = False
# 字体
TNR = {'fontname':'Times New Roman'}
Fs = {'fontname':'Fangsong'}
# 设置画布大小
plt.figure(figsize=(12,6))
figure,axes = plt.subplots(1,1,figsize = (12,6),dpi = 1000)
data = [100, 130, 169, 220, 286, 372, 484, 629, 818, 1063, 1382, 1797]
labels = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
# 数据顺序反转
data.reverse()
# 标签顺序反转
labels.reverse()
N = 12
x = np.arange(N)
# 自定义每根柱子的颜色
colors = ["#4E79A7",  "#A0CBE8",  "#F28E2B",  "#FFBE7D",  "#59A14F",  "#8CD17D",  "#B6992D",  "#F1CE63",  "#499894",  "#86BCB6",  "#E15759",  "#E19D9A"]
# 颜色顺序反转
colors.reverse()
# 绘制纵向柱形图
plt.bar(range(len(data)), data, tick_label=labels,color = colors)
# plt.barh(range(len(data)), data, tick_label=labels,color = colors)
# 添加大标题
plt.title("2021年各月份销售业绩(万元)",fontsize=20,**Fs) 
# 给X轴定义标签
# plt.xlabel("月份",fontsize=15)
# 给Y轴定义标签
# plt.ylabel("销售额(万元)",fontsize=15)
# 依次给每根柱子添加数据标签,并把字体设置为新罗马体(教科书、论文的数字、公式一般都用新罗马体)
for i,j in zip(x, data):
    plt.text(i, j+0.05, '%.0f' % j, ha='center', va= 'bottom',fontsize=15,**TNR)
# 为了美观,不显示画布的黑色边框
[axes.spines[loc_axis].set_visible(False) for loc_axis in ['top','right','bottom','left']]
# 不显示Y轴坐标
axes.set_yticks([])
# 输出为矢量图,不管放大或缩小,图形皆不会失真
plt.savefig(r"C:\Users\Administrator\Desktop\test.svg", format="svg")
# 输出为常规的png格式
plt.savefig(r"C:\Users\Administrator\Desktop\test.png", format="png")
# 输出为常规的jpg格式
plt.savefig(r"C:\Users\Administrator\Desktop\test.jpg", format="png")
# 绘图
plt.show()
<Figure size 864x432 with 0 Axes>

image.png

给纵向柱形图添加网格线

# 解决部分 jupyter notebook 中出图不成功
%matplotlib inline
# 导入相关库
import numpy as np
import matplotlib.pyplot as plt
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
# 显示负号
plt.rcParams['axes.unicode_minus'] = False
# 字体
TNR = {'fontname':'Times New Roman'}
Fs = {'fontname':'Fangsong'}
# 设置画布大小
plt.figure(figsize=(12,6))
figure,axes = plt.subplots(1,1,figsize = (12,6),dpi = 1000)
data = [100, 130, 169, 220, 286, 372, 484, 629, 818, 1063, 1382, 1797]
labels = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
# 数据顺序反转
# data.reverse()
# 标签顺序反转
# labels.reverse()
N = 12
x = np.arange(N)
# 自定义每根柱子的颜色
colors = ["#4E79A7",  "#A0CBE8",  "#F28E2B",  "#FFBE7D",  "#59A14F",  "#8CD17D",  "#B6992D",  "#F1CE63",  "#499894",  "#86BCB6",  "#E15759",  "#E19D9A"]
# 颜色顺序反转
# colors.reverse()
# 绘制纵向柱形图
plt.bar(range(len(data)), data, tick_label=labels,color = colors)
# plt.barh(range(len(data)), data, tick_label=labels,color = colors)
# 添加大标题
plt.title("2021年各月份销售业绩(万元)",fontsize=20,**Fs) 
# 给X轴定义标签
# plt.xlabel("月份",fontsize=15)
# 给Y轴定义标签
# plt.ylabel("销售额(万元)",fontsize=15)
# 依次给每根柱子添加数据标签,并把字体设置为新罗马体(教科书、论文的数字、公式一般都用新罗马体)
for i,j in zip(x, data):
    plt.text(i, j+0.05, '%.0f' % j, ha='center', va= 'bottom',fontsize=15,**TNR)
# 为了美观,不显示画布的黑色边框
[axes.spines[loc_axis].set_visible(False) for loc_axis in ["top","bottom","left","right"]]
# 不显示Y轴坐标
axes.set_yticks([])
# 输出为矢量图,不管放大或缩小,图形皆不会失真
plt.savefig(r"C:\Users\Administrator\Desktop\test.svg", format = "svg")
# 输出为常规的png格式
plt.savefig(r"C:\Users\Administrator\Desktop\test.png", format = "png")
# 输出为常规的jpg格式
plt.savefig(r"C:\Users\Administrator\Desktop\test.jpg", format = "png")
# 添加网格
plt.grid(axis = "y")
# 自定义网格线形状
plt.grid(c = "gold")
# 定义网格线的线型和线宽,jupyter notebook 有提示
# '-', '--', '-.', ':', 'None', ' ', '', 'solid', 'dashed', 'dashdot', 'dotted'
plt.grid(linestyle = "dotted", linewidth = 0.5)
# 绘图
plt.show()
<Figure size 864x432 with 0 Axes>

image.png

横向柱形图

# 导入相关的包
import numpy as np
import matplotlib.pyplot as plt
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
# 显示负号
plt.rcParams['axes.unicode_minus'] = False
# 字体
TNR = {'fontname':'Times New Roman'}
HP = {'fontname':'STHUPO'}
# 自定义每根柱子的颜色
colors = ["#4E79A7",  "#A0CBE8",  "#F28E2B",  "#FFBE7D",  "#59A14F",  "#8CD17D",  "#B6992D",  "#F1CE63",  "#499894",  "#86BCB6",  "#E15759",  "#E19D9A"]
# 设置画布大小
figure,axes = plt.subplots(1,1,figsize = (12,10),dpi = 80)
data_h = [100, 130, 169, 220, 286, 372, 484, 629, 818, 1063, 1382, 1797]
lable_h = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
# 依次给每根柱子添加数据标签,并把字体设置为新罗马体(教科书、论文的数字、公式一般都用新罗马体)
N = len(data_h)
x = np.arange(N)
for i,j in zip(x, data_h):
    plt.text(j+50, i+0.1, "%s" %j, ha='center', va = "top",fontsize = 15,**TNR)
# 数据顺序反转
# data_h.reverse()
# 标签顺序反转
# lable_h.reverse()
# 颜色顺序反转
# colors.reverse()
# 为了美观,不显示画布的黑色边框
[axes.spines[loc_axis].set_visible(False) for loc_axis in ["top","bottom","left","right"]]
# 添加大标题
plt.title("2021年各月份销售业绩(万元)",fontsize = 28,**HP) 
# 添加网格
# plt.grid(axis = "x")
plt.barh(x, data_h, height = 0.7, tick_label=lable_h,color = colors)
# 输出为矢量图,不管放大或缩小,图形皆不会失真
plt.savefig(r"C:\Users\Administrator\Desktop\test.svg", format="svg")
# 输出为常规的png格式
plt.savefig(r"C:\Users\Administrator\Desktop\test.png", format="png")
# 输出为常规的jpg格式
plt.savefig(r"C:\Users\Administrator\Desktop\test.jpg", format="png")
plt.show()

image.png

默认生成的饼图

# 解决部分 jupyter notebook 中出图不成功
%matplotlib inline
# 导入相关库
import numpy as np
import matplotlib.pyplot as plt
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ["Fangsong"]
# 显示负号
plt.rcParams['axes.unicode_minus'] = False
# 设置画布大小
plt.figure(figsize=(12,6))
figure,axes = plt.subplots(1,1,figsize = (6,6),dpi = 120)
# 构造数据
y = [100, 130, 169, 220, 286, 372, 484, 629, 818, 1063, 1382, 1797]
label=["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
# 绘图
plt.pie(y,labels=label)
# 添加大标题,并设置字号大小,以及定义所用字体
plt.title("各月份销售占比",fontsize = 28)
# 输出为矢量图,不管放大或缩小,图形皆不会失真
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.svg", format="svg")
# 输出为常规的png格式
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.png", format="png")
# 输出为常规的jpg格式
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.jpg", format="png")
# 可视化呈现
plt.show()
<Figure size 864x432 with 0 Axes>

image.png

自定义配色的饼图

# 解决部分 jupyter notebook 中出图不成功
%matplotlib inline
# 导入相关库
import numpy as np
import matplotlib.pyplot as plt
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
# 显示负号
plt.rcParams['axes.unicode_minus'] = False
# 字体
TNR = {'fontname':'Times New Roman'}
Fs = {'fontname':'Fangsong'}
# 设置画布大小
plt.figure(figsize=(15,6))
figure,axes = plt.subplots(1,1,figsize = (15,6),dpi = 120)
y = [100, 130, 169, 220, 286, 372, 484, 629, 818, 1063, 1382, 1797]
label=["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"] # 设置饼图标签
# 数据顺序反转
y.reverse()
# 标签顺序反转
label.reverse()
# 自定义饼图各扇区的颜色
colors=["#4E79A7",  "#A0CBE8",  "#F28E2B",  "#FFBE7D",  "#59A14F",  "#8CD17D",  "#B6992D",  "#F1CE63",  "#499894",  "#86BCB6",  "#E15759",  "#E19D9A"]
plt.pie(y,
        labels=label, # 设置分组类别标签
        colors = colors,  #自定义每个扇区的颜色
#         explode=(0, 0.2, 0, 0,0,0, 0,0,0, 0,0,0), # 让比值较大的扇区炸裂开来,占比越大,距离圆心越远
        autopct='%.2f%%', # 让标签以百分比形式显示,且精确到两位小数
        labeldistance = 1.1, # 分组名称标签相对圆心的距离位置
        pctdistance = 0.9, # 数值标签相对圆心的距离位置
#         shadow = True, # 添加阴影
        radius = 1,  # 饼图的相对半径
        startangle = 90,  # 绘图的起始角度
        counterclock = False  # 时针方向
       )
# 添加大标题,并设置字号大小,以及定义所用字体
plt.title("各月份销售占比",fontsize = 28,**HP)
# 输出为矢量图,不管放大或缩小,图形皆不会失真
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.svg", format="svg")
# 输出为常规的png格式
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.png", format="png")
# 输出为常规的jpg格式
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.jpg", format="png")
# 绘图
plt.show()
<Figure size 1080x432 with 0 Axes>

image.png

调整角度的饼图

# 解决部分 jupyter notebook 中出图不成功
%matplotlib inline
# 导入相关库
import numpy as np
import matplotlib.pyplot as plt
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
# 显示负号
plt.rcParams['axes.unicode_minus'] = False
# 字体
TNR = {'fontname':'Times New Roman'}
Fs = {'fontname':'Fangsong'}
# 设置画布大小
plt.figure(figsize=(12,6))
figure,axes = plt.subplots(1,1,figsize = (6,6),dpi = 120)
y = [100, 130, 169, 220, 286, 372, 484, 629, 818, 1063, 1382, 1797]
label=["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"] # 设置饼图标签
# 数据顺序反转
y.reverse()
# 标签顺序反转
label.reverse()
# 自定义饼图各扇区的颜色
colors=["#4E79A7",  "#A0CBE8",  "#F28E2B",  "#FFBE7D",  "#59A14F",  "#8CD17D",  "#B6992D",  "#F1CE63",  "#499894",  "#86BCB6",  "#E15759",  "#E19D9A"]
plt.pie(y,
        labels=label, # 设置分组类别标签
        colors = colors,  #自定义每个扇区的颜色
#         explode=(0, 0.2, 0, 0,0,0, 0,0,0, 0,0,0), # 让比值较大的扇区炸裂开来,占比越大,距离圆心越远
        autopct='%.2f%%', # 让标签以百分比形式显示,且精确到两位小数
        labeldistance = 1.1, # 分组名称标签相对圆心的距离位置
        pctdistance = 0.9, # 数值标签相对圆心的距离位置
#         shadow = True, # 添加阴影
        radius = 1,  # 饼图的相对半径
        startangle = 90,  # 绘图的起始角度
#         counterclock = False  # 时针方向
       )
# 添加大标题,并设置字号大小,以及定义所用字体
plt.title("各月份销售占比",fontsize = 28,**HP)
# 输出为矢量图,不管放大或缩小,图形皆不会失真
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.svg", format="svg")
# 输出为常规的png格式
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.png", format="png")
# 输出为常规的jpg格式
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.jpg", format="png")
# 绘图
plt.show()
<Figure size 864x432 with 0 Axes>

image.png

调整角度让标签可以在内部不重叠显示的饼图

# 解决部分 jupyter notebook 中出图不成功
%matplotlib inline
# 导入相关库
import numpy as np
import matplotlib.pyplot as plt
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
# 显示负号
plt.rcParams['axes.unicode_minus'] = False
# 字体
TNR = {'fontname':'Times New Roman'}
Fs = {'fontname':'Fangsong'}
# 设置画布大小
plt.figure(figsize=(12,6))
figure,axes = plt.subplots(1,1,figsize = (6,6),dpi = 120)
y = [100, 130, 169, 220, 286, 372, 484, 629, 818, 1063, 1382, 1797]
label=["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"] # 设置饼图标签
# 数据顺序反转
y.reverse()
# 标签顺序反转
label.reverse()
# 自定义饼图各扇区的颜色
colors=["#4E79A7",  "#A0CBE8",  "#F28E2B",  "#FFBE7D",  "#59A14F",  "#8CD17D",  "#B6992D",  "#F1CE63",  "#499894",  "#86BCB6",  "#E15759",  "#E19D9A"]
plt.pie(y,
        labels=label, # 设置分组类别标签
        colors = colors,  #自定义每个扇区的颜色
#         explode=(0, 0.2, 0, 0,0,0, 0,0,0, 0,0,0), # 让比值较大的扇区炸裂开来,占比越大,距离圆心越远
        autopct='%.2f%%', # 让标签以百分比形式显示,且精确到两位小数
        labeldistance = 1.1, # 分组名称标签相对圆心的距离位置
        pctdistance = 0.9, # 数值标签相对圆心的距离位置
#         shadow = True, # 添加阴影
        radius = 1,  # 饼图的相对半径
        startangle = 180,  # 绘图的起始角度
#         counterclock = False  # 时针方向
       )
# 添加大标题,并设置字号大小,以及定义所用字体
plt.title("各月份销售占比",fontsize = 28,**HP)
# 输出为矢量图,不管放大或缩小,图形皆不会失真
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.svg", format="svg")
# 输出为常规的png格式
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.png", format="png")
# 输出为常规的jpg格式
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.jpg", format="png")
# 绘图
plt.show()
<Figure size 864x432 with 0 Axes>

image.png

炸裂出来的饼图

# 解决部分 jupyter notebook 中出图不成功
%matplotlib inline
# 导入相关库
import numpy as np
import matplotlib.pyplot as plt
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
# 显示负号
plt.rcParams['axes.unicode_minus'] = False
# 字体
TNR = {'fontname':'Times New Roman'}
Fs = {'fontname':'Fangsong'}
# 设置画布大小
plt.figure(figsize=(12,6))
figure,axes = plt.subplots(1,1,figsize = (6,6),dpi = 120)
# 构造数据
y = [100, 130, 169, 220, 286, 372, 484, 629, 818, 1063, 1382, 1797]
label=["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
# 数据顺序反转
y.reverse()
# 标签顺序反转
label.reverse()
# 自定义饼图各扇区的颜色
colors=["#4E79A7",  "#A0CBE8",  "#F28E2B",  "#FFBE7D",  "#59A14F",  "#8CD17D",  "#B6992D",  "#F1CE63",  "#499894",  "#86BCB6",  "#E15759",  "#E19D9A"]
# 开始绘图
plt.pie(y,
        labels=label, # 设置分组类别标签
        colors = colors,  #自定义每个扇区的颜色
        explode=(0.2, 0.1, 0, 0,0,0, 0,0,0, 0,0,0), # 让比值较大的扇区炸裂开来,占比越大,距离圆心越远
        autopct='%.2f%%', # 让标签以百分比形式显示,且精确到两位小数
        labeldistance = 1.1, # 分组名称标签相对圆心的距离位置
        pctdistance = 0.9, # 数值标签相对圆心的距离位置
#         shadow = True, # 添加阴影
        radius = 1,  # 饼图的相对半径
        startangle = 90,  # 绘图的起始角度
        counterclock = False  # 时针方向
       )
# 添加大标题,并设置字号大小,以及定义所用字体
plt.title("各月份销售占比",fontsize = 28,**HP)
# 输出为矢量图,不管放大或缩小,图形皆不会失真
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.svg", format="svg")
# 输出为常规的png格式
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.png", format="png")
# 输出为常规的jpg格式
plt.savefig(r"C:\Users\Administrator\Desktop\matplotlib饼图.jpg", format="png")
# 可视化呈现
plt.show()
<Figure size 864x432 with 0 Axes>

image.png

相关文章
|
2月前
|
数据可视化 数据挖掘 大数据
【数据分析与可视化】Matplotlib绘图基础语法讲解(图文解释 超详细)
【数据分析与可视化】Matplotlib绘图基础语法讲解(图文解释 超详细)
83 0
|
8月前
|
数据可视化 程序员 Python
python生成可视化数据(matplotlib)进阶版
上期我们讲到如何用matplotlib模块将表格里的数据转换成可视化的折线图,但是,这里会有一个问题,表格里的数据是死的,是我随手创建的。在这一期,我将讲解如何通过requests+matplotlib等编写一个真实数据的可视化内容。
|
2月前
|
数据可视化 数据挖掘 Python
【数据分析与可视化】Matplotlib中动态rc参数设置详解与实战(图文解释 附源码)
【数据分析与可视化】Matplotlib中动态rc参数设置详解与实战(图文解释 附源码)
154 0
|
9月前
|
数据可视化 Python
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
153 0
|
2月前
|
资源调度 自然语言处理 数据可视化
【数据分析与可视化】Matplotlib中十大绘图模型的讲解及实现(图文解释 附源码)
【数据分析与可视化】Matplotlib中十大绘图模型的讲解及实现(图文解释 附源码)
90 1
|
9月前
|
数据可视化 定位技术 Python
【100天精通Python】Day68:Python可视化_Matplotlib 绘制热力图,示例+代码
【100天精通Python】Day68:Python可视化_Matplotlib 绘制热力图,示例+代码
1163 0
|
10天前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
25 1
|
1天前
|
数据可视化 计算机视觉 异构计算
确保您已经安装了必要的库,包括`torch`、`torchvision`、`segmentation_models_pytorch`、`PIL`(用于图像处理)和`matplotlib`(用于结果可视化)。您可以使用pip来安装这些库:
确保您已经安装了必要的库,包括`torch`、`torchvision`、`segmentation_models_pytorch`、`PIL`(用于图像处理)和`matplotlib`(用于结果可视化)。您可以使用pip来安装这些库:
7 0
|
2月前
|
数据可视化 数据挖掘 Python
【Python DataFrame专栏】DataFrame的可视化探索:使用matplotlib和seaborn
【5月更文挑战第20天】本文介绍了使用Python的pandas、matplotlib和seaborn库进行数据可视化的步骤,包括创建示例数据集、绘制折线图、柱状图、散点图、热力图、箱线图、小提琴图和饼图。这些图表有助于直观理解数据分布、关系和趋势,适用于数据分析中的探索性研究。
【Python DataFrame专栏】DataFrame的可视化探索:使用matplotlib和seaborn
|
2月前
|
存储 数据可视化 算法
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库