1、

Matplotlib 中文Matplotlib中文网、Matplotlib官方中文文档。https://www.matplotlib.org.cn/

2、Matplotlib 教程 | 菜鸟教程Matplotlib 教程 Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。 Matplotlib 可以用来绘制各种静态,动态,交互式的图表。 Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。 Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。..https://www.runoob.com/matplotlib/matplotlib-tutorial.html

3、Matplotlib_AIHub社区Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。本社区召集管理运营志愿者,有意者请联系https://www.kuxai.com/f/matplotlib

4、

数据可视化是什么通过前面的学习,我们知道 matplotlib.pyplot 模块能够快速地生成图像,但如果使用面向对象的编程思想,我们就可以更好地控制和自定义图像。 在 Matplotlib 中,面向对象编程的核心思想是http://c.biancheng.net/matplotlib/data-visual.html

5、

matplotlib绘图入门详解 - 简书https://www.jianshu.com/p/da385a35f68d

6、

Python--Matplotlib(基本用法)_苦作舟的人呐-CSDN博客_matplotlibhttps://blog.csdn.net/qq_34859482/article/details/80617391

7、

matplotlib(一)——pyplot使用简介_CUG_UESTC的博客-CSDN博客_pyplothttps://blog.csdn.net/qq_31192383/article/details/53977822

8、

Matplotlib_百度百科https://baike.baidu.com/item/Matplotlib/20436231?fr=aladdin

9、

绘图: matplotlib核心剖析 - Vamei - 博客园https://www.cnblogs.com/vamei/archive/2013/01/30/2879700.html

10、

Matplotlib 可视化最有价值的 50 个图表(附完整 Python 源代码)_搜狐汽车_搜狐网https://www.sohu.com/a/285138406_671965

11、

Matplotlib 教程 | 始终http://liam.page/2014/09/11/matplotlib-tutorial-zh-cn/

12、

数据分析之matplotlib详解_!一直往南方开.的博客-CSDN博客_matplotlib数据分析https://blog.csdn.net/qq_44205272/article/details/102509441

13、

数据分析之matplotlib扩展篇——pyecharts绘图_!一直往南方开.的博客-CSDN博客https://blog.csdn.net/qq_44205272/article/details/103210310

14、Python--Matplotlib(基本用法)_苦作舟的人呐-CSDN博客_matplotlibhttps://blog.csdn.net/qq_34859482/article/details/80617391

15、Python- matplotlib使用方法大全 - Yi_warmth - 博客园https://www.cnblogs.com/zhouzetian/p/12726528.html

16、平面图和3D图(坐标系)

import matplotlib.pyplot as plt# 平面图形
fig = plt.figure()
ax1 = fig.add_subplot(1, 1, 1)
plt.show()  # 显示图像# 3D图形
# fig = plt.figure()
# ax = fig.gca(projection='3d')
# plt.show()

17、生产四个平面图形(坐标系)

import matplotlib.pyplot as plt# 生产四个平面图形
fig = plt.figure()
ax1 = fig.add_subplot(2, 2, 1)
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 3)
ax4 = fig.add_subplot(2, 2, 4)
plt.show()  # 显示图像

18、subplot2grid()函数,画折线图和柱状图

import matplotlib.pyplot as plt
import numpy as npx = np.arange(6)
y = np.arange(6)#  直接调用subplot2grid()函数,不需要先建立画布。
#  建立折线图
plt.subplot2grid((2, 2), (0, 0))
plt.plot(x, y)
plt.show()#  建立柱形图
plt.subplot2grid((2, 2), (0, 1))
plt.bar(x, y)
plt.show()

19、subplot()函数的用法

import matplotlib.pyplot as plt
import numpy as npx = np.arange(6)
y = np.arange(6)# subplot()函数的用法
# 将图表的整个区域分成2行2列,且在第1个坐标系上做折线图
plt.subplot(2, 2, 1)
plt.plot(x, y)
plt.show()# 将图表的整个区域分成2行2列,且在第4个坐标系上做柱形图
plt.subplot(2, 2, 4)
plt.bar(x, y)
plt.show()

20、subplots() 函数的应用

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = Falsex = np.arange(6)
y = np.arange(6)# subplots() 函数的应用
fig, axes = plt.subplots(2, 2)#  在[0, 0]坐标系中绘制折线图
axes[0, 0].plot(x, y)
#  在[1, 1]坐标系中绘制柱状图
axes[1, 1].bar(x, y)
# 设置x轴和y轴的标题
plt.xlabel("月份")
plt.ylabel("注册量")
plt.show()

21、指定设置x轴与y轴的值

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# xticks() 函数的应用
# 指定x轴与y轴的值
# plt.xticks(np.arange(9), ["一月", "二月", "三月", "四月", "五月", "六月", "七月"
#                           , "八月", "九月"])
# plt.yticks(np.arange(1000, 7000, 1000), ["1000人", "2000人", "3000人", "4000人", "5000人", "6000人"])
# plt.show()# 指定设置x轴与y轴的值xlim与ylim函数
plt.xlim(1, 10)
plt.ylim(1, 9999)
plt.show()

22、简单的折线图

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 简单的折线图
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y = np.array([866, 1245, 3456, 2134, 4556, 9871, 2376, 3452, 999])
plt.subplot(2, 1, 1)
plt.plot(x, y)
plt.xlabel("月份")
plt.ylabel("注册人数")# 添加网络格式
plt.grid(b="True")
# # 只打开x轴的网络线
plt.grid(axis="x")
# 只打开y轴的网络线
plt.grid(axis="y")
# linestyle线型设置成虚线,线宽设置成1
plt.grid(linestyle="dashed", linewidth=1)plt.show()

23、折线图和柱状图组合

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 简单的折线图和柱状图组合。
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y = np.array([866, 1245, 3456, 2134, 4556, 5871, 2376, 3452, 999])
plt.subplot(2, 1, 1)
plt.plot(x, y, label="折线图")
plt.bar(x, y, label="柱状图")
# loc来调整图例的显示位置
plt.legend(loc="upper right")  # loc=1 效果一样
plt.xlabel("月份")
plt.ylabel("注册人数")
plt.show()

24、图标标题设置,loc代表放在的位置

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 简单的折线图和柱状图组合。
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y = np.array([866, 1245, 3456, 2134, 4556, 5871, 2376, 3452, 999])
plt.subplot(2, 1, 1)
plt.plot(x, y, label="折线图")
plt.bar(x, y, label="柱状图")
# loc来调整图例的显示位置
plt.legend(loc="upper right")  # loc=1 效果一样
plt.xlabel("月份")
plt.ylabel("注册人数")
# 图标标题设置,loc代表放在的位置
plt.title("1-9月阿里巴巴销售额", loc="center")
plt.show()

25、每个值加上标签

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 简单的折线图和柱状图组合。
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y = np.array([866, 1245, 3456, 2134, 4556, 5871, 2376, 3452, 999])
plt.subplot(2, 1, 1)
plt.plot(x, y, label="折线图")
plt.bar(x, y, label="柱状图")
# loc来调整图例的显示位置
plt.legend(loc="upper right")  # loc=1 效果一样
plt.xlabel("月份")
plt.ylabel("注册人数")
# 图标标题设置,loc代表放在的位置
plt.title("1-9月阿里巴巴销售额", loc="center")
# 每个值加上标签
for a, b in zip(x, y):plt.text(a, b, b, ha="center", va="bottom", fontsize=11)plt.show()

26、折线图设置成虚线,linestyle="dashdot"

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 简单的折线图和柱状图组合。
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y = np.array([866, 1245, 3456, 2134, 4556, 5871, 2376, 3452, 999])
plt.subplot(2, 1, 1)
plt.plot(x, y, label="折线图", linestyle="dashdot")
plt.bar(x, y, label="柱状图")
# loc来调整图例的显示位置
plt.legend(loc="upper right")  # loc=1 效果一样
plt.xlabel("月份")
plt.ylabel("注册人数")
# 图标标题设置,loc代表放在的位置
plt.title("1-9月阿里巴巴销售额", loc="center")
# 每个值加上标签
for a, b in zip(x, y):plt.text(a, b, b, ha="center", va="bottom", fontsize=11)plt.show()

27、生成柱状图和并保存图片

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 简单的折线图和柱状图组合。
x = np.array(["上区", "下区", "左区", "右区"])
y = np.array([3456, 2134, 4556, 5871])
plt.subplot(1, 1, 1)
plt.bar(x, y, label="任务量", width=0.5, align="center")
# 图标标题设置,loc代表放在的位置
plt.title("各分区任务量", loc="center")
# 每个值加上数据标签
for a, b in zip(x, y):plt.text(a, b, b, ha="center", va="bottom", fontsize=11)
# loc来调整图例的显示位置
plt.legend(loc="upper center")  # loc=1 效果一样
plt.xlabel("分区")
plt.ylabel("任务量")
# 图片保存的位置
plt.savefig("C:/Users/Administrator/Desktop/456999/savePicture.jpg")plt.show()

28、簇状图和保存图片

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False
# 建立一个坐标系
plt.subplot(1, 1, 1)# 指明 x 和 y值
x = np.array([1, 2, 3, 4])
y1 = np.array([7456, 9134, 8556, 6871])
y2 = np.array([3456, 2134, 1556, 2871])plt.bar(x, y1, label="任务量", width=0.3)  # 柱形图的宽度为0.5
plt.bar(x+0.3, y2, label="完成量", width=0.3)  # 把完成量的柱子右移0.5
# 图标标题设置,loc代表放在的位置
plt.title("各分区任务量和完成量情况", loc="center")
# 每个值加上数据标签
for a, b in zip(x, y1):plt.text(a, b, b, ha="center", va="bottom", fontsize=12)
for a, b in zip(x+0.3, y2):plt.text(a, b, b, ha="center", va="bottom", fontsize=12)
# loc来调整图例的显示位置
plt.legend(loc="upper right")  # loc=1 效果一样
plt.xlabel("区域")
plt.ylabel("任务情况")# 设置x轴刻度值
plt.xticks(x+0.15, ["东区", "南区", "西区", "北区"])
# 不设置网络线
plt.grid(False)# 图片保存的位置
plt.savefig("C:/Users/Administrator/Desktop/456999/savePicture2.jpg")plt.show()

29、堆积柱形图和保存图片

import matplotlib.pyplot as plt
import numpy as np# 堆积柱状图实例# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False
# 建立一个坐标系
plt.subplot(1, 1, 1)# 指明 x 和 y值
x = np.array(["东区", "南区", "西区", "北区"])
y1 = np.array([7456, 9134, 8556, 6871])
y2 = np.array([3456, 2134, 1556, 2871])# 绘图柱形图的宽度为0.3
plt.bar(x, y1, label="任务量", width=0.3)  # 柱形图的宽度为0.3
plt.bar(x, y2, label="完成量", width=0.3)  # 柱形图的宽度为0.3
# 图标标题设置,loc代表放在的位置
plt.title("各分区任务量和完成量情况", loc="center")# 每个值加上数据标签
for a, b in zip(x, y1):plt.text(a, b, b, ha="center", va="bottom", fontsize=12)
for a, b in zip(x, y2):plt.text(a, b, b, ha="center", va="top", fontsize=12)
# loc来调整图例的显示位置
plt.legend(loc="upper right")  # loc=1 效果一样# 设置x轴和y轴的名称
plt.xlabel("区域")
plt.ylabel("任务情况")# 不设置网络线
plt.grid(False)
# ncol 的意思是放一排,还是放两排
plt.legend(loc="upper right", ncol=2)# 图片保存的位置
plt.savefig("C:/Users/Administrator/Desktop/456999/savePicture3.jpg")plt.show()

30、绘制条形图和保存图片

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False
# 建立一个坐标系
plt.subplot(1, 1, 1)# 指明 x 和 y值
# x = np.array(["东区", "南区", "西区", "北区"])
x = np.array([1, 2, 3, 4])
y = np.array([7456, 9134, 8556, 6871])# 绘图条形图,width指明条形图的宽度,align指明条形图的位置,
#
plt.barh(x, height=0.5, width=y, align="center")
# 图标标题设置,loc代表放在的位置
plt.title("全国各分区任务量情况", loc="center")# 每个值加上数据标签
for a, b in zip(x, y):plt.text(b, a, b, ha="center", va="center", fontsize=12)# 设置x轴和y轴的名称
plt.ylabel("区域")
plt.xlabel("任务情况")plt.yticks(x, ["东区", "南区", "西区", "北区"])
# 不设置网络线
plt.grid(False)# 图片保存的位置
plt.savefig("C:/Users/Administrator/Desktop/456999/savePicture5.jpg")plt.show()

31、绘制散点图与保存图片

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False
# 建立一个坐标系
plt.subplot(1, 1, 1)# 指明 x 和 y值
x = np.array([5.5, 6.6, 8.1, 15.8, 19.5, 22.4, 28.3, 28.9])
y = np.array([2.38, 3.85, 4.41, 5.67, 5.44, 6.03, 8.15, 6.87])# 绘图
colors = y * 10  # 根据y值的大小生成不同的颜色
area = y * 100  # 根据y值的大小生成大小不同的形状
plt.scatter(x, y, marker="o", c=colors, s=area)
# 图标标题设置,loc代表放在的位置
plt.title("1-8月天气与啤酒的销量关系图", loc="center")# 每个值加上数据标签
for a, b in zip(x, y):plt.text(a, b, b, ha="center", va="center", fontsize=12)# 设置x轴和y轴的名称
plt.xlabel("平均气温")
plt.ylabel("啤酒销量")# 不设置网络线
plt.grid(False)# 图片保存的位置
plt.savefig("C:/Users/Administrator/Desktop/456999/scatterPicture.jpg")plt.show()

32、绘制面积图和保存图片

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False
# 建立一个坐标系
plt.subplot(1, 1, 1)# 指明 x 和 y值
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y1 = np.array([238, 385, 441, 567, 544, 603, 815, 687, 981])
y2 = np.array([438, 585, 641, 967, 844, 703, 215, 287, 876])# 绘图
labels = ["注册人数", "活跃人数"]  # 指明系列标签
plt.stackplot(x, y1, y2, labels=labels)
# 图标标题设置,loc代表放在的位置
plt.title("阿里巴巴1-9月注册与激活人数", loc="center")# 每个值加上数据标签
for a, b in zip(x, y1):plt.text(a, b, b, ha="center", va="top")
for a, b in zip(x, y2):plt.text(a, b, b, ha="center", va="top")# 设置x轴和y轴的名称
plt.xlabel("月份")
plt.ylabel("注册与激活人数")# 不设置网络线
plt.grid(False)# 图片保存的位置
plt.savefig("C:/Users/Administrator/Desktop/456999/stackPicture.jpg")plt.show()

33、squarify绘制树地图和保存图片

import matplotlib.pyplot as plt
import numpy as np
import squarify# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 指定每一块大小
size = np.array([3.4, 0.693, 0.585, 0.570, 0.562, 0.531,0.530, 0.524, 0.501, 0.478, 0.468, 0.436])# 指定每一块的文字标签
xingzuo = np.array(["未知", "摩羯座", "天秤座", "双鱼座", "天蝎座", "金牛座", "处女座", "双子座", "射手座", "狮子座", "水瓶座", "白羊座"])
# 指定每一块的数值标签
rate = np.array(["34%", "6.93%", "5.85%", "5.70%", "5.62%", "5.31%","5.30%", "5.24%", "5.01%", "4.78%", "4.68%", "4.36%"])
# 指定每一块的颜色
colors = ['steelblue', '#9999ff', 'red', 'indianred','green', 'yellow', 'orange']# 绘图
plot = squarify.plot(sizes=size,label=xingzuo, color=colors, value=rate,edgecolor='white', linewidth=3)
# 设置标题大小
plt.title('菊粉星座分布', fontdict={'fontsize': 12})
# 除坐标轴
plt.axis('off')
# 去除上边框和右边框的刻度
plt.tick_params(top='off', right='off')# 图片保存的位置
plt.savefig("C:/Users/Administrator/Desktop/456999/shudituPicture.jpg")plt.show()

34、绘制雷达图和保存图片

import matplotlib.pyplot as plt
import numpy as np
import squarify# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# polar 等于true表示建立一个极坐标系
plt.subplot(111, polar=True)
# 把整个圆分成4份
dataLenth = 4
# 表示在指定的间隔内返回均匀间隔的数字
angles = np.linspace(0, 2*np.pi, dataLenth, endpoint=False)labels = ['沟通能力', '业务理解能力', '逻辑思维能力', '快速学习能力', '工具使用能力']data = [2, 3.5, 4, 4.5, 5]
data = np.concatenate((data, [data[0]]))  # 闭合
angles = np.concatenate((angles, [angles[0]]))  # 闭合# 绘图
plt.polar(angles, data, color="r", marker='o')
# 设置x轴刻度
plt.xticks(angles, labels)
# 设置标题
plt.title("学数据分析师的总和评级")
plt.savefig("C:/Users/Administrator/Desktop/456999/leidaPicture.jpg")plt.show()

35、绘制箱形图和保存图片

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 建立一个坐标系
plt.subplot(1, 1, 1)# 指明x值
y1 = np.array([568, 987, 821])
y2 = np.array([168, 387, 221])
x = [y1, y2]# 绘图
labels = ["注册人数", "激活人数"]
plt.boxplot(x, labels=labels, vert=True, widths=[0.2, 0.5])# 设置标题
plt.title("阿里巴巴1-9月注册与激活人数", loc="center")
plt.grid(False)
plt.savefig("C:/Users/Administrator/Desktop/456999/xiangxituPicture.jpg")plt.show()

36、绘制饼图和保存图片

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 建立一个坐标系
plt.subplot(1, 1, 1)# 指明x值
x = np.array([8566, 5335, 7310, 6482])# 绘图
labels = ["东区", "北区", "南区", "北区"]
explode = [0.07, 0, 0, 0]
labeldistance = 1.1
plt.pie(x, labels=labels, autopct="%.0f%%",  explode=explode,radius=1.0, labeldistance=labeldistance)# 设置标题
plt.title("全国各区域任务量占比", loc="center")
plt.grid(True)
plt.savefig("C:/Users/Administrator/Desktop/456999/bingTuPicture.jpg")plt.show()

37、绘制环形图和保存图片

import matplotlib.pyplot as plt
import numpy as np# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 建立一个坐标系
plt.subplot(1, 1, 1)# 指明x值
x1 = np.array([8366, 5335, 7310, 6482])
x2 = np.array([4212, 2332, 3602, 3019])# 绘图
labels = ["东区", "北区", "南区", "北区"]
plt.pie(x1, labels=labels, radius=1.0, wedgeprops=dict(width=0.3, edgecolor='w'))
plt.pie(x2, radius=0.7, wedgeprops=dict(width=0.3, edgecolor='w'))# 添加注释
plt.annotate("完成量", xy=(0.35, 0.35), xytext=(0.7, 0.45), arrowprops=dict(facecolor='black', arrowstyle="->"))
plt.annotate("任务量", xy=(0.75, 0.20), xytext=(1.1, 0.2), arrowprops=dict(facecolor='black', arrowstyle="->"))# 设置标题
plt.title("全国各区域任务量与完成量占比", loc="center")plt.savefig("C:/Users/Administrator/Desktop/456999/huanxingtuPicture.jpg")plt.show()

38、

39、

40、

41、

42、

43、

44、

45、商城订单1、本月的销售额,2,本月的订单总和,3、本月客单价

import pandas as pd
from datetime import datetime# 读取数据
pdDate = pd.read_csv("C:/Users/Administrator/Desktop/456999/5678/order-14.1.csv",encoding='gb18030',parse_dates=["成交时间"])# print(pdDate.head())
# print(pdDate.info())# 商城订单1、上月的销售额,2,上月的订单总和,3、上月客单价
this_month = pdDate[(pdDate["成交时间"] >= datetime(2018, 1, 1)) & (pdDate["成交时间"] <= datetime(2018, 1, 31))]
sales_1 = (this_month["销量"]*this_month["单价"]).sum()
print(f"本月的销售额:{sales_1:.2f}")
order_1 = this_month["订单ID"].drop_duplicates().count()
print(f"本月的订单总和:{order_1:.2f}")
# 客单价计算
s_t_1 = sales_1/order_1
print(f"本月客单价:{s_t_1:.2f}")

46、电子商城订单表,如何实现报表自动化(环比,同比)

import pandas as pd
from datetime import datetime# 读取数据
pdDate = pd.read_csv("C:/Users/Administrator/Desktop/456999/5678/order-14.1.csv",encoding='gb18030',parse_dates=["成交时间"])# print(pdDate.head())
# print(pdDate.info())# 商城订单1、上月的销售额,2,上月的订单总和,3、上月客单价
last_month = pdDate[(pdDate["成交时间"] >= datetime(2018, 1, 1)) & (pdDate["成交时间"] <= datetime(2018, 1, 31))]
this_month = pdDate[(pdDate["成交时间"] >= datetime(2018, 2, 1)) & (pdDate["成交时间"] <= datetime(2018, 2, 28))]
month_year = pdDate[(pdDate["成交时间"] >= datetime(2017, 2, 1)) & (pdDate["成交时间"] <= datetime(2017, 2, 28))]def test_cs(this_months):sales_1 = (this_months["销量"] * this_months["单价"]).sum()order_1 = this_months["订单ID"].drop_duplicates().count()# 客单价计算s_t_1 = sales_1 / order_1# return f"{sales_1:.2f}", f"{order_1:.2f}", f"{s_t_1:.2f}"return sales_1, order_1, s_t_1# 上个月指标
s1, t1, s_t_1 = test_cs(last_month)
# 这个月指标
s2, t2, s_t_2 = test_cs(this_month)
# 去年的指标
s3, t3, s_t_3 = test_cs(month_year)totals = pd.DataFrame([[s1, s2, s3], [t1, t2, t3], [s_t_1, s_t_2, s_t_3]],columns=["上月同期", "本月累计", "去年同期"],index=["销售额", "成交量", "客单价"])print(totals)
# 添加同比和环比字段
totals["环比"] = totals["本月累计"]/totals["上月同期"] - 1
totals["同比"] = totals["本月累计"]/totals["去年同期"] - 1
print("****************************")
# 最后结果
# 生成excel文档
totals.to_excel('C:/Users/Administrator/Desktop/456999/top222.xlsx')
# 生成cvs文档
totals.to_csv('C:/Users/Administrator/Desktop/456999/top333.csv',encoding="utf-8-sig")
print(totals)

47、exce取数,加工,处理,保存excel,再读取excel,生产可视化报表图(饼图占比)。

import numpy as np
import pandas as pd
from datetime import datetime
import matplotlib.pyplot as plt
# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 读取数据
pdDate = pd.read_csv("C:/Users/Administrator/Desktop/456999/5678/order-14.3.csv",encoding='gb18030',parse_dates=["成交时间"])print(pdDate.head())
# print(pdDate.info())# 对每个商品类别销量求和
cxOrder = pdDate.groupby("类别ID")["销量"].sum().reset_index()
print(cxOrder)# 那些类别的商品比较畅销,求前10名的商品类别
print("***************求前10名的商品类别***************")
cxOrder_top10 = pdDate.groupby("类别ID")["销量"].sum().reset_index().sort_values(by="销量", ascending=False).head(10)
print(cxOrder_top10)
# 新增一个销售额字段
pdDate["销售额"] = pdDate["销量"]*pdDate["单价"]
# print(pdDate["销售额"])
# 按部门统计销售额
dept_sales = pdDate.groupby("门店编号")["销售额"].sum()
# print(dept_sales)
# 各部门销售额占比
sales_zanbi = pdDate.groupby("门店编号")["销售额"].sum()/pdDate["销售额"].sum()# 方法1、不生成excel通过代码生成饼图
# 代码来源:https://www.cnblogs.com/zhuminghui/p/9418820.html
plt.title("各部门销量占比111", loc="center")
# label="" 为的是不显示,销售额,三个字
sales_zanbi.plot.pie(autopct="%.2f%%", label="")
# 生成可视化饼图图片保存
plt.savefig("C:/Users/Administrator/Desktop/456999/bingTuPicture99999.jpg")
plt.show()# 方法2、生成excel通过调用excel生成饼图
# 生成excel文档
sales_zanbi.to_excel('C:/Users/Administrator/Desktop/456999/pie20211229.xlsx')
# 读取excel
pdShuJu = pd.read_excel('C:/Users/Administrator/Desktop/456999/pie20211229.xlsx')
# print(pdShuJu["门店编号"])
# print(pdShuJu["销售额"])x = np.array(pdShuJu["销售额"])
labels = np.array(pdShuJu["门店编号"])plt.pie(x, labels=labels, autopct="%.2f%%",radius=1.0)
# 设置可视化标题
plt.title("各部门销量占比", loc="center")
# 生成可视化饼图图片保存
plt.savefig("C:/Users/Administrator/Desktop/456999/bingTuPicture29.jpg")
plt.show()

48、

48.1、超市或商城订单表,每个部门的销售,每个部门的销售占比,每个小时时间段的人流量
   48.2、每个部门的销售占比生成饼图,每个小时时间段的人流量生成折线图(方便搞促销活动)

import numpy as np
import pandas as pd
from datetime import datetime
import matplotlib.pyplot as plt# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 超市或商城订单表,每个部门的销售,每个部门的销售占比,每个小时时间段的人流量
# 每个部门的销售占比生成饼图,每个小时时间段的人流量生成折线图(方便搞促销活动)
# 读取数据
pdDate = pd.read_csv("C:/Users/Administrator/Desktop/456999/5678/order-14.3.csv",encoding='gb18030',parse_dates=["成交时间"])print(pdDate.head())
# print(pdDate.info())# 对每个商品类别销量求和
cxOrder = pdDate.groupby("类别ID")["销量"].sum().reset_index()
print(cxOrder)# 那些类别的商品比较畅销,求前10名的商品类别
print("***************求前10名的商品类别***************")
cxOrder_top10 = pdDate.groupby("类别ID")["销量"].sum().reset_index().sort_values(by="销量", ascending=False).head(10)
print(cxOrder_top10)
# 新增一个销售额字段
pdDate["销售额"] = pdDate["销量"] * pdDate["单价"]
# print(pdDate["销售额"])
# 按部门统计销售额
dept_sales = pdDate.groupby("门店编号")["销售额"].sum()
# print(dept_sales)
# 各部门销售额占比
sales_zanbi = pdDate.groupby("门店编号")["销售额"].sum() / pdDate["销售额"].sum()# 方法1、不生成excel通过代码生成饼图
# 代码来源:https://www.cnblogs.com/zhuminghui/p/9418820.html
plt.title("各部门销量占比,方法1实现", loc="center")
# label="" 为的是不显示,销售额,三个字
sales_zanbi.plot.pie(autopct="%.2f%%", label="")
# 生成可视化饼图图片保存
plt.savefig("C:/Users/Administrator/Desktop/456999/bingTuPicture99999.jpg")
plt.show()# 方法2、生成excel通过调用excel生成饼图
# 生成excel文档
sales_zanbi.to_excel('C:/Users/Administrator/Desktop/456999/pie20211229.xlsx')
# 读取excel
pdShuJu = pd.read_excel('C:/Users/Administrator/Desktop/456999/pie20211229.xlsx')
# print(pdShuJu["门店编号"])
# print(pdShuJu["销售额"])x = np.array(pdShuJu["销售额"])
labels = np.array(pdShuJu["门店编号"])plt.pie(x, labels=labels, autopct="%.2f%%",radius=1.0)
# 设置可视化标题
plt.title("各部门销量占比,方法2实现", loc="center")
# 生成可视化饼图图片保存
plt.savefig("C:/Users/Administrator/Desktop/456999/bingTuPicture29.jpg")
plt.show()# 那段时间段是超市的客流量高峰期(提取小时数)
pdDate["小时"] = pdDate["成交时间"].map(lambda xf: int(xf.strftime("%H")))
traffic_people = pdDate[["小时", "订单ID"]].drop_duplicates()
# 生成折线图
traffic_people.groupby("小时")["订单ID"].count().plot()
# 生成可视化折线图片保存
plt.savefig("C:/Users/Administrator/Desktop/456999/bingTuPicture27777.jpg")
plt.show()

49、

49.1、银行坏账与,年龄,收入,和家属人数的关系
   49.2、成柱状图和折线图等

import numpy as np
import pandas as pd
from datetime import datetime
import matplotlib.pyplot as plt# 解决文中乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"
# 解决负号无法正常显示的问题
# plt.rcParams["axes.unicode_minus"] = False# 银行坏账与,年龄,收入,和家属人数的关系
# # 生成柱状图和折线图等# 读取数据
pdDate = pd.read_csv("C:/Users/Administrator/Desktop/456999/5678/loan.csv",encoding='gb18030')
# 查看信息
print(pdDate.head())
# 查看字段类型
# print(pdDate.info()pdDate = pdDate.fillna({"月收入": pdDate["月收入"].mean()})
# print(pdDate)
cut_bins = [0, 5000, 10000, 15000, 20000, 100000]
income_cut = pd.cut(pdDate["月收入"], cut_bins)
# print(income_cut)# 这里可以理解成虚拟分组,用sum()函数,是因为里面的状态是1,可以统计数量
all_income_user = pdDate["好坏客户"].groupby(income_cut).count()
# print("6666666666666=", pdDate["好坏客户"].groupby(income_cut).value_counts())
bad_income_user = pdDate["好坏客户"].groupby(income_cut).sum()
# bad_income_user.to_excel('C:/Users/Administrator/Desktop/456999/top20211229.xlsx')
bad_rate = bad_income_user / all_income_user
# bad_rate.to_excel('C:/Users/Administrator/Desktop/456999/top20211229.xlsx')
# 坏账率与收入占比的关系
bad_rate.plot.bar()
plt.savefig("C:/Users/Administrator/Desktop/456999/zhuzhuangtu999.jpg")
plt.show()# 年龄与坏账率的关系
age_cut = pd.cut(pdDate["年龄"], 6)
all_age_user = pdDate["好坏客户"].groupby(age_cut).count()
bad_age_user = pdDate["好坏客户"].groupby(age_cut).sum()
bad_age_rate = bad_age_user / all_age_user
bad_age_rate.plot.bar()
# 保存可视化图片
plt.savefig("C:/Users/Administrator/Desktop/456999/zhuzhuangtu888.jpg")
plt.show()# 家庭人口数量与坏账率的关系
all_home_num = pdDate.groupby("家属数量")["好坏客户"].count()
bad_home_num = pdDate.groupby("家属数量")["好坏客户"].sum()
home_num_rate = bad_home_num / all_home_num
home_num_rate.plot()
# 保存可视化图片
plt.savefig("C:/Users/Administrator/Desktop/456999/zhuzhuangtu777.jpg")
plt.show()

50、

51、

52、

53、

54、

55、

56、

57、

58、

59、

60、

61、

62、

63、

64、

65、

66、

67、

68、

69、

70、

71、

72、

73、

74、

75、

76、

77、

78、

79、

80、

81、

82、

83、

84、

85、

86、

87、

88、

89、

90、

91、

92、

93、

94、

95、

95、

96、

97、

98、

99、

100

Matplotlib 应用相关推荐

  1. matplotlib交互模式

    Matpotlib交互模式 在运行python程序时有时候需要生成以下的 动态图模式 来显示程序运行的结果 此时需要使用matplotlib的 交互模式 ,在Ipython中时默认使用交互模式的. 在 ...

  2. matplotlib绘制热力图

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/jin_tmac/article/det ...

  3. Python关于%matplotlib inline

    我在做一个比赛需要使用到LSTM模型对时间序列进行预测,然后在github代码中经常会看到这样的代码: import numpy import matplotlib.pyplot as plt fro ...

  4. Python:matplotlib实践:直方图、散点图展示、变色、线条变换、点样式变换、添加名称、设置横纵轴范围、在一张图上显示多条线

    直方图: ''' 来源:天善智能韦玮老师课堂笔记 作者:Dust ''' # 折线图.散点图 import matplotlib.pylab as pyl import numpy as npy x= ...

  5. pip install scipy和matplotlib报错的问题详解:(pip install其它时报错通用)

    多灾多难的pip简直太玄学了,在第一个电脑上装的时候啥问题都没有,给第二个装的时候各种问题-- 附上numpy 和 pandas的报错解决方案:https://blog.csdn.net/qq_362 ...

  6. 机器学习实战 k-近邻算法 使用matplotlib创建散点图

    问题一: >>>import matplotlib 出现 No module named 'matplotlib' 解决过程 >pip install matplotlib 出 ...

  7. 能带曲线图绘制python_如何使用python的matplotlib模块画折线图

    python是个很有趣的语言,可以在cmd命令窗口运行,还有很多的功能强大的模块.这篇经验告诉你,如何利用python的matplotlib模块画图. 工具/原料 windows系统电脑一台 pyth ...

  8. matlab contour光滑,使用Matplotlib在Contour Plot中平滑数据

    我正在使用Matplotlib创建轮廓图.我有所有的数据 在一个多维的数组中.这是12长约2000宽.所以它是 基本上是12个长度为2000的列表.我有等高线图 工作正常,但我需要平滑数据.我读了很多 ...

  9. matlab plot不均匀间隔,matplotlib如何绘制间隔为2^n的不均匀图形?

    如果我的意见不够清楚,请你问.:)from matplotlib import pyplot as plt # Instanciating my lists... f = lambda x:x**2 ...

  10. 机器学习四剑客2——Matplotlib

    1.什么是Matplotlib 2.Matplotlib的基本要点 3.Matplotlib的散点图.直方图.柱状图 4.更多的画图工具 函数 说明 plt.plot(x,y,fmt,...) 绘制一 ...

最新文章

  1. JDBC 学习(一)
  2. hiho_1089_floyd最短路
  3. 闭式系统蒸汽管径推荐速度_闭式空调系统管径选用表
  4. Quartz分布式实现
  5. matlab 判断一个数组中有没有重复的元素
  6. 中国大学MOOC“Python程序设计基础”第6次开课时间
  7. 坐地起价?三星首款折叠屏手机 1.3 万起!
  8. Python List pop()方法
  9. 自定义TextView显示指定行数
  10. 啦啦外卖最新版41.9啦啦外卖41.9版本全开源
  11. Maven引入数据库JDBC驱动
  12. 对班级网站注册功能中密码输入运用等价类划分法设计测试用例
  13. 拆分PDF文件的一个办法
  14. 父亲节php源码,剑盟社区-【父亲您在,世界就在】6月20日父亲节系列活动
  15. vscode插件Todo Tree配置
  16. mysql报错:1264-Out of range value for column ‘字段‘ at row 1
  17. 态度和态度改变:影响思维和情绪
  18. ping命令使用介绍及怎样使用Ping命令来测试网络连通性
  19. 如何成为一个优秀的数据分析师?
  20. 超详细,如何不用任何第三方软件实现电脑与手机文件传输

热门文章

  1. linux中怎么粘贴复制文件路径,如何在Linux中复制文件和目录
  2. 网页设计大作业-五子棋游戏,可以进行双人对弈
  3. mingw不能安装_C语言/C++初学——Visual Studio环境的安装配置与使用
  4. 压力换算公斤单位换算_压力单位换算方法
  5. 详细讲解CASS勘测定界图的绘制及出图
  6. bip动作捕捉_Mocap动作捕捉系列
  7. 浅谈App Hybrid混合开发的五种方案
  8. 分享一款手机最强Python编程神器,用手机运行Python。天秀!
  9. laravel实战项目之管理员表设计
  10. 快速制作index.html,介绍一个h5快速制作平台鲁班H5