这是在 Pandas+Excel+绘图库Matplotlib+Seaborn图表 的基础上进行的。
列出当前环境所有已经安装的第三方库的名称和其版本号:
C:\Users\jacky\Desktop>pip3 freeze
cycler==0.11.0
et-xmlfile==1.1.0
kiwisolver==1.3.1
matplotlib==3.3.0
numpy==1.19.5
openpyxl==3.1.2
pandas==1.1.5
Pillow==8.4.0
pyparsing==3.1.1
python-dateutil==2.8.2
pytz==2023.3
scipy==1.5.4
seaborn==0.11.2
six==1.16.0
xlrd==1.2.0
xlwt==1.3.0
C:\Users\jacky\Desktop>
NumPy是Python数组计算、矩阵运算和科学计算的核心库,提供了一个高性能的数组对象,其用途是以数组的形式对数据进行操作。
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,2,3]) #创建一个一维数组
print(n_1)
print(type(n_1))
print(n_1.dtype)
print("-" * 10)
n_2 = np.array([[1,-2],[3,4.5]]) #创建一个二维数组
print(n_2)
print(type(n_2))
print(n_2.dtype)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
Key_1 = -1
Key_2 = 4.5
n_1 = np.array([Key_1,Key_2]) #创建一个一维数组
print(n_1)
print(type(n_1))
print(n_1.dtype)
print("-" * 10)
n_2 = np.array([[1,2,3],[3,4,5]]) #创建一个二维数组
print(n_2)
print(type(n_2))
print(n_2.dtype)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
Key_1 = '10'
Key_2 = '25'
Key_3 = '-30'
n_1 = np.array([Key_1,Key_2,Key_3]) #创建一个一维数组(字符串)
print(n_1)
print(type(n_1))
print(n_1.dtype)
print("-" * 5)
Result_1 = n_1[1] #数组n_1的第二个元素
print(Result_1)
print(type(Result_1))
print("-" * 10)
print("-" * 10)
n_2 = n_1.astype(int) #把数组n_1转换为整型
print(n_2)
print(n_2.dtype)
print("-" * 5)
Result_2 = n_2[1] #数组n_2的第二个元素
print(Result_2)
print(type(Result_2))
print("-" * 3)
Result_22 = int(Result_2) #转换为整型
print(Result_22)
print(type(Result_22))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
Key_1 = '10'
Key_2 = '20.5'
Key_3 = '-30.5'
n_1 = np.array([Key_1,Key_2,Key_3]) #创建一个一维数组(字符串)
print(n_1)
print(type(n_1))
print(n_1.dtype)
print("-" * 5)
Result_1 = n_1[2] #数组n_1的第三个元素
print(Result_1)
print(type(Result_1))
print("-" * 10)
print("-" * 10)
n_2 = n_1.astype(float) #把数组n_1转换为浮点型
print(n_2)
print(n_2.dtype)
print("-" * 5)
Result_2 = n_2[2] #数组n_2的第三个元素
print(Result_2)
print(type(Result_2))
print("-" * 3)
Result_22 = float(Result_2) #转换为浮点型
print(Result_22)
print(type(Result_22))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
xKey_1 = '李大杰'
xKey_2 = 'Jacky'
xKey_3 = 'Lily'
yKey_1 = 20
yKey_2 = -40
yKey_3 = 30
n_1 = np.array([[xKey_1,xKey_2,xKey_3],[yKey_1,yKey_2,yKey_3]]) #创建一个二维数组
print(n_1)
print(type(n_1))
print(n_1.dtype)
print("-" * 5)
Result_1 = n_1[1] #二维数组n_1的第2行的数组
print(Result_1)
print(Result_1.dtype)
print("-" * 10)
print("-" * 10)
Result_2 = map(int,n_1[1]) #把二维数组n_1的第2行的数组转换为整型
Result_2 = list(Result_2) #转换为列表
print(Result_2)
print(type(Result_2))
print("-" * 5)
Result_22 = Result_2[1] #列表的第二个元素
print(Result_22)
print(type(Result_22))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
xKey_1, xKey_2 = '李大杰','Jacky'
xKey_3 = 'Lily'
yKey_1,yKey_2,yKey_3 = 20, -40.5, 30
n_1 = np.array([[xKey_1,xKey_2,xKey_3],[yKey_1,yKey_2,yKey_3]]) #创建一个二维数组
print(n_1)
print(type(n_1))
print(n_1.dtype)
print("-" * 5)
Result_1 = n_1[1] #二维数组n_1的第2行的数组
print(Result_1)
print(type(Result_1))
print(Result_1.dtype)
print("-" * 10)
print("-" * 10)
Result_2 = map(float,n_1[1]) #把二维数组n_1的第2行的数组转换为的浮点型
Result_2 = list(Result_2) #转换为列表
print(Result_2)
print(type(Result_2))
print("-" * 5)
Result_22 = Result_2[1] #列表的第二个元素
print(Result_22)
print(type(Result_22))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
Key_1 = 1
Key_2 = 4.5
n_1 = np.array([Key_1,Key_2],dtype=int) #创建一个一维数组,并且指定数组类型为整型
print(n_1)
print(n_1.dtype)
print("-" * 10)
n_2 = np.array([Key_1,Key_2],dtype=float) #创建一个一维数组,并且指定数组类型为浮点型
print(n_2)
print(n_2.dtype)
脚本运行的结果:(由于数组n_1的数组类型为整型,所以其元素不显示小数部分)
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,2,3,4]) #创建一个一维数组
print(n_1)
print("-" * 10)
n_2 = np.array(n_1,copy=True) #复制数组n_1
print(n_2)
n_2[0] = 8 #修改数组n_2的第一个元素为8
n_2[2] = 18 #修改数组n_2的第三个元素为18
print("-" * 10)
print("-" * 10)
print(n_1)
print("-" * 10)
print(n_2)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,2,3,4]) #创建一个一维数组
n_2 = np.array([5,6,7]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
print("-" * 10)
Result_1 = np.hstack((n_1,n_2)) #往水平方向增加数据
print(Result_1)
print("-" * 10)
Result_2 = np.hstack((n_2,n_1)) #往水平方向增加数据
print(Result_2)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([[1,2,3],[10,25,30.5]]) #创建一个二维数组
print(n_1)
print("-" * 10)
n_2 = np.array(n_1,copy=True) #复制数组n_1
print(n_2)
n_2[0][1] = 2.5 #修改二维数组n_2的第1行的第2个元素为2.5
n_2[1] = [10,20,30] #修改二维数组n_2的第2行的数组为[10,20,30]
print("-" * 10)
print("-" * 10)
print(n_1)
print("-" * 10)
print(n_2)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([[1,2,3],[3,4,5]]) #创建一个二维数组
print(n_1)
print("-" * 10)
n_2 = np.array([[10,20,30],[30,45,55]]) #创建一个二维数组
print(n_2)
print("-" * 10)
print("-" * 10)
Result_1 = np.hstack((n_1,n_2)) #往水平方向增加数据
print(Result_1)
print("-" * 10)
Result_2 = np.vstack((n_1,n_2)) #往垂直方向增加数据
print(Result_2)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([[1,2,3],[3,4,5],[10,20,30]])
print(n_1)
print(type(n_1))
print("-" * 10)
print("-" * 10)
Result_1 = np.delete(n_1,1,axis=0) #删除数组n_1的第2行
print(Result_1)
print("-" * 10)
print("-" * 10)
Result_2 = np.delete(n_1,0,axis=1) #删除数组n_1的第1列
print(Result_2)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([[1,2,3],[3,4,5],[10,20,30]])
print(n_1)
print(type(n_1))
print("-" * 10)
print("-" * 10)
n_2 = np.delete(n_1,1,axis=0) #删除数组n_1的第2行
print(n_2)
print("-" * 5)
Result_2 = np.delete(n_2,0,axis=1) #再删除数组n_2的第1列
print(Result_2)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([[1,2,3],[3,4,5],[10,20,30],[30,45,55]])
print(n_1)
print(type(n_1))
print("-" * 10)
print("-" * 10)
Result_1 = np.delete(n_1,(0,1),axis=0) #删除数组n_1第1行、第2行
print(Result_1)
print("-" * 10)
print("-" * 10)
Result_2 = np.delete(n_1,(0,2),axis=1) #删除数组n_1第1列、第3列
print(Result_2)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([[1,2,3],[3,4,5],[10,20,30]])
print(n_1)
print(type(n_1))
print(n_1.dtype)
print("-" * 10)
print("-" * 10)
n_1[1][2] = -5 #修改数组n_1的第2行的第3个元素为-5
print(n_1)
print("-" * 5)
n_1[2] = [10,-20,30.5] #再修改数组n_1的第3行的数组为[10,-20,30.5]
print(n_1)
脚本运行的结果:(由于数组n_1的数组类型为整型,所以其元素不显示小数部分)
######
#coding=utf-8
import numpy as np
n_1 = np.array([[1,2,3],[3,4,5],[10,20,30]],dtype=float) #指定数组类型为浮点型
print(n_1)
print(type(n_1))
print(n_1.dtype)
print("-" * 10)
print("-" * 10)
n_1[0][2] = -3 #修改数组n_1的第1行的第3个元素为-3
print(n_1)
print("-" * 5)
n_1[2] = [10,-20,30.5] #再修改数组n_1的第3行的数组为[10,-20,30.5]
print(n_1)
脚本运行的结果:(由于数组n_1的数组类型为浮点型,所以其元素显示小数部分)
######
#coding=utf-8
import numpy as np
n_1 = np.array([[1,2,3],[3,4,5],[10,20,30]])
print(n_1)
print(type(n_1))
print("-" * 10)
print("-" * 10)
print(n_1[0]) #输出第1行的数组
print(type(n_1[0]))
print("-" * 5)
print(n_1[-1]) #输出倒数第1行的数组
print("-" * 10)
print(n_1[0,0]) #输出第1行第1列的元素
print("-" * 5)
print(n_1[1,2]) #输出第2行第3列的元素
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([[1,2,3],[3,4,5]]) #创建一个二维数组
print(n_1)
print(type(n_1))
print("-" * 10)
print("-" * 10)
print(n_1[0]) #输出第1行的数组
print("-" * 3)
Result_1 = list(n_1[0]) #将第1行的数组转换为列表
print(Result_1)
print(type(Result_1))
print("-" * 10)
print(n_1[1]) #输出第2行的数组
print(type(n_1[1]))
print("-" * 3)
Result_2 = tuple(n_1[1]) #将第2行的数组转换为元组
print(Result_2)
print(type(Result_2))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,2,3,4]) #创建一个一维数组
print(n_1)
print(type(n_1))
print(n_1.dtype)
print("-" * 3)
print(n_1[1])
print(type(n_1[1]))
print("-" * 10)
n_2 = list(n_1) #转换为列表
print(n_2)
print(type(n_2))
print("-" * 3)
print(n_2[1])
print(type(n_2[1]))
print("-" * 10)
n_3 = tuple(n_1) #转换为元组
print(n_3)
print(type(n_3))
print("-" * 3)
print(n_3[1])
print(type(n_3[1]))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = [1,2,3,4] #创建一个列表
print(n_1)
print(type(n_1))
print("-" * 3)
print(n_1[1])
print(type(n_1[1]))
print("-" * 10)
print("-" * 10)
n_2 = np.array(n_1) #转换为一维数组
print(n_2)
print(type(n_2))
print("-" * 3)
print(n_2[1])
print(type(n_2[1]))
print("-" * 3)
Result_2 = int(n_2[1]) #转换为整型
print(Result_2)
print(type(Result_2))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = (1,2,3,4.5) #创建一个元组
print(n_1)
print(type(n_1))
print("-" * 3)
print(n_1[2])
print(type(n_1[2]))
print("-" * 10)
print("-" * 10)
n_2 = np.array(n_1) #转换为一维数组
print(n_2)
print(type(n_2))
print("-" * 3)
print(n_2[2])
print(type(n_2[2]))
print("-" * 3)
Result_2 = float(n_2[2]) #转换为浮点型
print(Result_2)
print(type(Result_2))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,4]) #创建一个一维数组
n_2 = np.array([3,2]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
Result_1 = n_1 + n_2 #加法运算
print(Result_1)
print("-" * 10)
Result_2 = n_1 - n_2 #减法运算
print(Result_2)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,4]) #创建一个一维数组
n_2 = np.array([3,2]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
Result_1 = np.add(n_1,n_2) #加法运算
print(Result_1)
print("-" * 10)
Result_2 = np.subtract(n_1,n_2) #减法运算
print(Result_2)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,4]) #创建一个一维数组
n_2 = np.array([3,2]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
Result_1 = n_1 * n_2 #乘法运算
print(Result_1)
print("-" * 10)
Result_2 = n_1 / n_2 #除法运算
print(Result_2)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,4]) #创建一个一维数组
n_2 = np.array([3,2]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
Result_1 = np.multiply(n_1,n_2) #乘法运算
print(Result_1)
print("-" * 10)
Result_2 = np.divide(n_1,n_2) #除法运算
print(Result_2)
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,4]) #创建一个一维数组
n_2 = np.array([5,3]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
Result_1 = n_1 ** n_2 #幂运算
print(Result_1)
print(type(Result_1))
print("-" * 5)
Result_2 = np.power(n_1, n_2) #幂运算
print(Result_2)
print(type(Result_2))
print("-" * 3)
print(Result_2[1])
print(type(Result_2[1]))
print("-" * 3)
Result_22 = int(Result_2[1]) #转换为整型
print(Result_22)
print(type(Result_22))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,5]) #创建一个一维数组
n_2 = np.array([5,3,4]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
Result_1 = np.sum(n_1) #求数组n_1的和
print(Result_1)
print("-" * 5)
Result_11 = np.mean(n_1) #求数组n_1的平均值
print(Result_11)
print("-" * 10)
print("-" * 10)
Result_2 = np.sum(n_2) #求数组n_2的和
print(Result_2)
print("-" * 5)
Result_22 = np.mean(n_2) #求数组n_2的平均值
print(Result_22)
print(type(Result_22))
print("-" * 3)
Result_222 = float(Result_22) #转换为浮点型
print(Result_222)
print(type(Result_222))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = [1,4,2] #创建一个列表
n_2 = [5,3,5] #创建一个列表
print(n_1)
print(n_2)
print("-" * 10)
print("-" * 10)
Result_1 = np.power(n_1, n_2) #幂运算
print(Result_1)
print(type(Result_1))
print("-" * 10)
Result_2 = np.sum(n_2) #求列表n_2的和
print(Result_2)
print(type(Result_2))
print("-" * 3)
Result_22 = int(Result_2) #转换为整型
print(Result_22)
print(type(Result_22))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = (1,4,2) #创建一个元组
n_2 = (5,3,5) #创建一个元组
print(n_1)
print(n_2)
print("-" * 10)
print("-" * 10)
Result_1 = np.sum(n_1) #求元组n_1的和
print(Result_1)
print(type(Result_1))
print("-" * 10)
Result_2 = np.power(n_2, n_1) #幂运算
print(Result_2)
print(type(Result_2))
print("-" * 3)
Result_3 = tuple(Result_2) #转换为元组
print(Result_3)
print(type(Result_3))
print("-" * 3)
Result_4 = list(Result_3) #转换为列表
print(Result_4)
print(type(Result_4))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,4,2]) #创建一个一维数组
n_2 = np.array([5,3,5]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
print("-" * 10)
Result_1 = np.sum(n_1) #求数组n_1的和
print(Result_1)
print(type(Result_1))
print("-" * 10)
Result_2 = np.power(n_2, n_1) #幂运算
print(Result_2)
print(type(Result_2))
print("-" * 3)
Result_3 = list(Result_2) #转换为列表
print(Result_3)
print(type(Result_3))
print("-" * 3)
Result_4 = tuple(Result_3) #转换为元组
print(Result_4)
print(type(Result_4))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,4,7]) #创建一个一维数组
n_2 = np.array([3,2,8]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
print("-" * 10)
Result_1 = np.mean(n_1) #求数组n_1的平均值
print(Result_1)
print(type(Result_1))
print("-" * 3)
Result_1 = np.max(n_1) #求数组n_1的最大值
print(Result_1)
print(type(Result_1))
print("-" * 10)
Result_2 = np.min(n_2) #求数组n_2的最小值
print(Result_2)
print(type(Result_2))
print("-" * 3)
Result_2 = np.median(n_2) #求数组n_2的中位数
print(Result_2)
print(type(Result_2))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,4,7]) #创建一个一维数组
n_2 = np.array([3,2,8]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
Result_1 = n_1 + n_2 #加法运算
print(Result_1)
print(type(Result_1))
print("-" * 10)
Result_2 = np.subtract(n_1,n_2) #减法运算
print(Result_2)
print(type(Result_2))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,4,7]) #创建一个一维数组
n_2 = np.array([3,2,8]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
Result_1 = n_1 * n_2 #乘法运算
print(Result_1)
print(type(Result_1))
print("-" * 10)
Result_2 = np.divide(n_1, n_2) #除法运算
print(Result_2)
print(type(Result_2))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,4,7]) #创建一个一维数组
n_2 = np.array([3,2,8]) #创建一个一维数组
print(n_1)
print(n_2)
print("-" * 10)
Result_1 = ((n_1 - n_2)/n_2)*100
print(Result_1)
print(type(Result_1))
print("-" * 5)
Result_2 = (np.subtract(n_1,n_2)/n_2)*100
print(Result_2)
print(type(Result_2))
脚本运行的结果:
######
#coding=utf-8
import numpy as np
n_1 = np.array([1,4]) #创建一个一维数组
print(n_1)
print("-" * 10)
Result_1 = (n_1 / np.sum(n_1))*100
print(Result_1)
print(type(Result_1))
print("-" * 5)
Result_2 = np.divide(n_1,np.sum(n_1))*100
print(Result_2)
print(type(Result_2))
脚本运行的结果:
一、对比分析法
对比分析法是将两个或两个以上的数据进行比较,分析其中的差异,从而揭示这些事物的发展变化情况和规律。
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18,loc='center') #图形标题
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
# 创建一个列表:(x轴的点的值)
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny']
# 创建一个列表:(y轴的点的值)
y = [20,40,30,50,80,20]
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,y,color='red',linewidth=1.0,marker='o',linestyle=':')
plt.grid(True,linestyle=':',color='purple',alpha=0.6) #显示网格线
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('- 姓名 -') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.subplots_adjust(left=0.1) #调整图表距左侧的空白
plt.tick_params(bottom=True,left=True) #底部刻度线显示,左边刻度线显示
# 创建一个元组:(x轴的点的值)
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny']
# 创建一个元组:(y轴的点的值)
y = [20,40,30,50,80,20]
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,y,color='red',linewidth=1.0,marker='o',linestyle=':')
plt.grid(True,linestyle=':',color='purple',alpha=0.6) #显示网格线
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18,loc='left') #图形标题
plt.xlabel('- 姓名 -') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.subplots_adjust(left=0.2) #调整图表距左侧的空白
plt.tick_params(bottom=True,left=False) #底部刻度线显示,左边刻度线不显示
# 创建一个一维数组:(x轴的点的值)
x = np.array(['李大杰','Jacky','Lily','Happy','Joe','Funny'])
# 创建一个一维数组:(y轴的点的值)
y = np.array([20,40,30,50,80,20])
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,y,color='red',linewidth=1.0,marker='o',linestyle=':')
plt.grid(True,linestyle=':',color='purple',alpha=0.6) #显示网格线
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
sns.set_style('darkgrid') #设置Seaborn的背景风格为darkgrid
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18,loc='right') #图形标题
plt.xlabel('- 姓名 -') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.subplots_adjust(left=0.2) #调整图表距左侧的空白
xKey_1 = '李大杰'
xKey_2 = 'Jacky'
xKey_3 = 'Lily'
xKey_4 = 'Happy'
xKey_5 = 'Joe'
xKey_6 = 'Funny'
# 创建一个一维数组:(x轴的点的值)
x = np.array([xKey_1,xKey_2,xKey_3,xKey_4,xKey_5,xKey_6])
yKey_1 = 20
yKey_2 = 40
yKey_3 = 30
yKey_4 = 50
yKey_5 = 80
yKey_6 = 20.5
# 创建一个一维数组:(y轴的点的值)
y = np.array([yKey_1,yKey_2,yKey_3,yKey_4,yKey_5,yKey_6])
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,y,color='red',linewidth=1.0,marker='o',linestyle=':')
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
sns.set_style('darkgrid') #设置Seaborn的背景风格为darkgrid
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18,loc='right') #图形标题
plt.ylabel('分数') #显示y轴名称
plt.subplots_adjust(bottom=0.2) #调整图表距底部的空白
# 创建一个二维数组n_1 :
n_1 = np.array([['李大杰','Jacky','Lily','Happy','Joe','Funny'],[20,40,30,50,80,20]])
x = n_1[0] #二维数组n_1的第1行的数组
x1 = tuple(x) #转换为元组
y = map(int,n_1[1]) #把二维数组n_1的第2行的数组转换为整型
y1 = tuple(y) #转换为元组
## 绘制线形图:(使用plt.plot函数)
plt.plot(x1,y1,color='red',linewidth=1.0,marker='o',linestyle=':')
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
sns.set_style('darkgrid') #设置Seaborn的背景风格为darkgrid
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.ylabel('分数') #显示y轴名称
# 创建一个二维数组n_1 :
n_1 = np.array([['李大杰','Jacky','Lily','Happy','Joe','Funny'],[20,40,30,50,80,20.5]])
x = n_1[0] #二维数组n_1的第1行的数组
x1 = list(x) #转换为列表
y = map(float,n_1[1]) #把二维数组n_1的第2行的数组转换为浮点型
y1 = list(y) #转换为列表
## 绘制线形图:(使用plt.plot函数)
plt.plot(x1,y1,color='red',linewidth=1.0,marker='o',linestyle=':')
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18,loc='center') #图形标题
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
# 创建一个列表:(x轴的点的值)
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny']
# 创建一个元组:(y轴的点的值)
y = (20,40,30,50,80,20)
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(x,y)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.ylabel('分数') #显示y轴名称
plt.tick_params(bottom=False,left=False) #底部刻度线不显示,左边刻度线不显示
# 创建一个列表:(x轴的点的值)
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny']
# 创建一个一维数组:(y轴的点的值)
y = np.array([20,40,30,50,80,20])
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(x,y)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.ylabel('分数') #显示y轴名称
plt.subplots_adjust(left=0.2) #调整图表距左侧的空白
plt.tick_params(bottom=False,left=True) #底部刻度线不显示,左边刻度线显示
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [20,40,30,50,80,20] #y轴的点的值
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(x,y,color='Turquoise') #设置柱子颜色为蓝绿色
plt.grid(axis='y',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的y轴
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('darkgrid') #设置Seaborn的背景风格为darkgrid
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('- 姓名 -') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.subplots_adjust(bottom=0.2) #调整图表距底部的空白
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [20,40,30,50,80,20] #y轴的点的值
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(x,y,color='Blue') #设置柱子颜色为蓝色
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('- 分数 -') #显示x轴名称
plt.ylabel('姓名') #显示y轴名称
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [20,40,30,50,80,20] #y轴的点的值
## 绘制横向条形图:(使用plt.barh函数时,x轴、y轴的点的值会互换过来)
plt.barh(x,y)
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('- 分数 -') #显示x轴名称
plt.ylabel('姓名') #显示y轴名称
plt.subplots_adjust(left=0.2) #调整图表距左侧的空白
plt.tick_params(bottom=True,left=False) #底部刻度线显示,左边刻度线不显示
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [20,40,30,50,80,20] #y轴的点的值
## 绘制横向条形图:(使用plt.barh函数时,x轴、y轴的点的值会互换过来)
plt.barh(x,y,color='Turquoise') #设置柱子颜色为蓝绿色
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.ylabel('姓名') #显示y轴名称
x = ('李大杰','Jacky','Lily','Happy','Joe','Funny') #x轴的点的值
y = (20,40,30,50,80,20.5) #y轴的点的值
## 绘制横向条形图:(使用plt.barh函数时,x轴、y轴的点的值会互换过来)
plt.barh(x,y,color='blue') #设置柱子颜色为蓝色
plt.grid(axis='x',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的x轴
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('darkgrid') #设置Seaborn的背景风格为darkgrid
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('- 分数 -') #显示x轴名称
plt.ylabel('姓名') #显示y轴名称
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [20,40,30,50,80,20.5] #y轴的点的值
## 绘制横向条形图:(使用plt.barh函数时,x轴、y轴的点的值会互换过来)
plt.barh(x,y,color='green') #设置柱子颜色为绿色
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('darkgrid') #设置Seaborn的背景风格为darkgrid
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.ylabel('姓名') #显示y轴名称
plt.subplots_adjust(left=0.2) #调整图表距左侧的空白
plt.tick_params(bottom=True,left=True) #底部刻度线显示,左边刻度线显示
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [20,40,30,50,80,20.5] #y轴的点的值
## 绘制横向条形图:(使用plt.barh函数时,x轴、y轴的点的值会互换过来)
plt.barh(x,y,color='Green') #设置柱子颜色为绿色
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('whitegrid') #设置Seaborn的背景风格为whitegrid
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.ylabel('- 姓名 -') #显示y轴名称
plt.subplots_adjust(left=0.2,bottom=0.2) #分别调整图表距左侧、底部的空白
plt.tick_params(bottom=True,left=False) #底部刻度线显示,左边刻度线不显示
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = (20,40,30,50,80,20.5) #y轴的点的值
## 绘制横向条形图:(使用plt.barh函数时,x轴、y轴的点的值会互换过来)
plt.barh(x,y,color='Turquoise') #设置柱子颜色为蓝绿色
plt.show()
脚本运行后的图形效果:
二、趋势分析法
趋势分析法是指将两期报告中的某一指标进行对比,确定其增减变动的方向、数额和幅度,以掌握该指标的变动趋势。趋势分析法中的指标,有同比分析、定比分析、环比分析。
同比、定比和环比的概念:
■ 同比:本期数据与历史同时期数据比较。例如,2024年2月份与2022年2月份相比较。
■ 定比:本期数据与特定时期数据比较。例如,2024年2月与2022年8月份相比较。
■ 环比:本期数据与上期数据比较。例如,2024年2月份与2024年1月份相比较。
同比、定比和环比的计算公式:
■ 同比增长率=(本期数-同期数)/同期数×100%
■ 定比增长率=(本期数-特定期数)/特定期数×100%
■ 环比增长率=(本期数-上期数)/上期数×100%
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的同比分析比较") #图形标题
plt.xlabel('- 城市 -') #显示x轴名称
plt.ylabel('销售数量(册)') #显示y轴名称
Labels = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
N = len(Labels)
X = np.arange(N)
y1 = [20,40,50,55] #2024-02的销售量的值
y2 = [30,40,40,50] #2022-02的销售量的值
bar_width = 0.3 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(X, y1, bar_width,label='2024-02',color='red')
plt.bar(X + bar_width, y2, bar_width, label='2022-02',tick_label=Labels,color='blue')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的同比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
Labels = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
N = len(Labels)
X = np.arange(N)
y1 = [20,40,50,55] #2024-02的销售量的值
y2 = [30,40,40,50] #2022-02的销售量的值
bar_width = 0.3 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(X, y1, bar_width,label='2024-02',color='red')
plt.bar(X + bar_width, y2, bar_width, label='2022-02',tick_label=Labels,color='blue')
#设置每个柱子上的文本标签:(显示2024-02的销售量的值)
for a,b in zip(X,y1):
plt.text(a,b,b,ha='center',va='bottom',fontsize=9,color='black',alpha=0.9)
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的同比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
Labels = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
N = len(Labels)
X = np.arange(N)
y1 = [20,40,50,55] #2024-02的销售量的值
y2 = [30,40,40,50] #2022-02的销售量的值
Result_1 = (np.subtract(y1,y2)/y2)*100 #同比增长率=(本期数-同期数)/同期数×100%
bar_width = 0.3 #条形的宽度
plt.bar(X, y1, bar_width,label='2024-02',color='red')
plt.bar(X + bar_width, y2, bar_width, label='2022-02',tick_label=Labels,color='blue')
#设置每个柱子上的文本标签:(显示同比增长率的值)
for a,b in zip(X,Result_1):
plt.text(a,b,'%.1f%%'%b,ha='center',va='bottom',fontsize=11,color='black',alpha=0.9) #百分比保留一位小数
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:(当同比增长率为负数时,其值是不显示的)
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的同比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
Labels = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
N = len(Labels)
X = np.arange(N)
y1 = [20,40,50,55] #2024-02的销售量的值
y2 = [30,40,40,50] #2022-02的销售量的值
y1 = np.array(y1) #转换为一维数组
y2 = np.array(y2) #转换为一维数组
Result_1 = ((y1 - y2)/y2)*100 #同比增长率=(本期数-同期数)/同期数×100%
bar_width = 0.3 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(X, y1, bar_width,label='2024-02',color='red')
plt.bar(X + bar_width, y2, bar_width, label='2022-02',tick_label=Labels,color='blue')
#设置每个柱子上的文本标签:(显示2024-02的销售量的值)
for a,b in zip(X,y1):
plt.text(a,b,b,ha='center',va='bottom',fontsize=9,color='black',alpha=0.9)
#设置每个柱子上的文本标签:(显示同比增长率的值)
for a,b in zip(X,Result_1):
plt.text(a,b,'%.2f%%'%b,ha='center',va='bottom',fontsize=11,color='black',alpha=0.9) #百分比保留两位小数
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:(当同比增长率为负数时,其值是不显示的)
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的定比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
Labels = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
N = len(Labels)
X = np.arange(N)
y1 = [20,40,50,55] #2024-02的销售量的值
y2 = [30,40,40,50] #2022-02的销售量的值
bar_width = 0.3 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(X, y1, bar_width,label='2024-02',color='red')
plt.bar(X + bar_width, y2, bar_width, label='2022-08',tick_label=Labels,color='blue')
#设置每个柱子上的文本标签:(显示2022-08的销售量的值)
for a,b in zip(X,y2):
plt.text(a+bar_width,b,b,ha='center',va='bottom',fontsize=9,color='blue',alpha=0.9)
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的定比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
Labels = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
N = len(Labels)
X = np.arange(N)
y1 = [20,40,50,55] #2024-02的销售量的值
y2 = [30,40,40,50] #2022-02的销售量的值
bar_width = 0.3 #条形的宽度
plt.bar(X, y1, bar_width,label='2024-02',color='red')
plt.bar(X + bar_width, y2, bar_width, label='2022-08',tick_label=Labels,color='blue')
#设置每个柱子上的文本标签:(显示2024-02的销售量的值)
for a,b in zip(X,y1):
plt.text(a,b,b,ha='center',va='bottom',fontsize=9,color='black',alpha=0.9)
#设置每个柱子上的文本标签:(显示2022-08的销售量的值)
for a,b in zip(X,y2):
plt.text(a+bar_width,b,b,ha='center',va='bottom',fontsize=9,color='blue',alpha=0.9)
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的定比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
Labels = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
N = len(Labels)
X = np.arange(N)
y1 = [20,40,50,55] #2024-02的销售量的值
y2 = [30,40,40,50] #2022-02的销售量的值
Result_1 = (np.subtract(y1,y2)/y2)*100 #定比增长率=(本期数-特定期数)/特定期数×100%
bar_width = 0.3 #条形的宽度
plt.bar(X, y1, bar_width,label='2024-02',color='red')
plt.bar(X + bar_width, y2, bar_width, label='2022-08',tick_label=Labels,color='blue')
#设置每个柱子上的文本标签:(显示2024-02的销售量的值)
for a,b in zip(X,y1):
plt.text(a,b,b,ha='center',va='bottom',fontsize=9,color='black',alpha=0.9)
#设置每个柱子上的文本标签:(显示2022-08的销售量的值)
for a,b in zip(X,y2):
plt.text(a+bar_width,b,b,ha='center',va='bottom',fontsize=9,color='blue',alpha=0.9)
#设置每个柱子上的文本标签:(显示定比增长率的值)
for a,b in zip(X,Result_1):
plt.text(a,b,'%.0f%%'%b,ha='center',va='bottom',fontsize=11,color='black',alpha=0.9) #百分比不保留小数
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:(当定比增长率为负数时,其值是不显示的)
######(绘制竖向条形图+线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的定比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
x = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
y1 = [20,40,50,55] #2024-02的销售量的值
y2 = [30,40,40,50] #2022-02的销售量的值
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(x, y1,label='2024-02',color='red')
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,y2,label='2022-02',color='blue',linewidth=1.0,marker='o',linestyle='-.')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图+线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的定比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
x = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
y1 = [20,40,50,55] #2024-02的销售量的值
y2 = [30,40,40,50] #2022-02的销售量的值
y1 = np.array(y1) #转换为一维数组
y2 = np.array(y2) #转换为一维数组
Result_1 = ((y1-y2)/y2)*100 #定比增长率=(本期数-特定期数)/特定期数×100%
bar_width = 0.3 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(x, y1,label='2024-02',color='red')
#设置每个柱子上的文本标签:(显示定比增长率的值)
for a,b in zip(x,Result_1):
plt.text(a,b,'%.3f%%'%b,ha='center',va='bottom',fontsize=11,color='black',alpha=0.9) #百分比保留三位小数
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,y2,label='2022-02',color='blue',linewidth=1.0,marker='o',linestyle='-.')
plt.legend() #显示图例(label)
plt.grid(axis='y',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的y轴
plt.show()
脚本运行后的图形效果:(当定比增长率为负数时,其值是不显示的)
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的环比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
Labels = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
N = len(Labels)
X = np.arange(N)
y1 = [30,40,40,50] #2024-01的销售量的值
y2 = [20,40,50,55] #2024-02的销售量的值
bar_width = 0.3 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(X, y1, bar_width,label='2024-01',color='blue')
plt.bar(X + bar_width, y2, bar_width, label='2024-02',tick_label=Labels,color='red')
#设置每个柱子上的文本标签:(显示2024-01的销售量的值)
for a,b in zip(X,y1):
plt.text(a,b,b,ha='center',va='bottom',fontsize=9,color='blue',alpha=0.9)
#设置每个柱子上的文本标签:(显示2024-02的销售量的值)
for a,b in zip(X,y2):
plt.text(a+bar_width,b,b,ha='center',va='bottom',fontsize=9,color='black',alpha=0.9)
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的环比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
Labels = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
N = len(Labels)
X = np.arange(N)
y1 = [30,40,40,50] #2024-01的销售量的值
y2 = [20,40,50,55] #2024-02的销售量的值
Result_1 = (np.subtract(y2,y1)/y1)*100 #环比增长率=(本期数-上期数)/上期数×100%
bar_width = 0.4 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(X, y1, bar_width,label='2024-01',color='blue')
plt.bar(X + bar_width, y2, bar_width, label='2024-02',tick_label=Labels,color='red')
#设置每个柱子上的文本标签:(显示2024-01的销售量的值)
for a,b in zip(X,y1):
plt.text(a,b,b,ha='center',va='bottom',fontsize=9,color='blue',alpha=0.9)
#设置每个柱子上的文本标签:(显示2024-02的销售量的值)
for a,b in zip(X,y2):
plt.text(a+bar_width,b,b,ha='center',va='bottom',fontsize=9,color='black',alpha=0.9)
#设置每个柱子上的文本标签:(显示环比增长率的值)
for a,b in zip(X,Result_1):
plt.text(a+bar_width,b,'%.1f%%'%b,ha='center',va='bottom',fontsize=11,color='black',alpha=0.9) #百分比保留一位小数
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:(当环比增长率为负数时,其值是不显示的)
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的环比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
Labels = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
N = len(Labels)
X = np.arange(N)
y1 = (30,40,40,50) #2024-01的销售量的值
y2 = (20,40,50,55) #2024-02的销售量的值
Result_1 = (np.subtract(y2,y1)/y1)*100 #环比增长率=(本期数-上期数)/上期数×100%
bar_width = 0.4 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(X, y1, bar_width,label='2024-01',color='blue')
plt.bar(X + bar_width, y2, bar_width, label='2024-02',tick_label=Labels,color='red')
#设置每个柱子上的文本标签:(显示2024-02的销售量的值)
for a,b in zip(X,y2):
plt.text(a+bar_width,b,b,ha='center',va='bottom',fontsize=9,color='black',alpha=0.9)
#设置每个柱子上的文本标签:(显示环比增长率的值)
for a,b in zip(X,Result_1):
plt.text(a+bar_width,b,'%.2f%%'%b,ha='center',va='bottom',fontsize=11,color='black',alpha=0.9) #百分比保留两位小数
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:(当环比增长率为负数时,其值是不显示的)
######(绘制竖向条形图+线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的环比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
x = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
y1 = [30,40,40,50] #2024-01的销售量的值
y2 = [20,40,50,55] #2024-02的销售量的值
y1 = np.array(y1) #转换为一维数组
y2 = np.array(y2) #转换为一维数组
Result_1 = (np.subtract(y2,y1)/y1)*100 #环比增长率=(本期数-上期数)/上期数×100%
bar_width = 0.4 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(x, y2,label='2024-02',color='red')
#设置每个柱子上的文本标签:(显示环比增长率的值)
for a,b in zip(x,Result_1):
plt.text(a,b,'%.3f%%'%b,ha='center',va='bottom',fontsize=15,color='white',alpha=0.9) #百分比保留三位小数
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,y1,label='2024-01',color='blue',linewidth=1.0,marker='o',linestyle='-')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:(当环比增长率为负数时,其值是不显示的)
######(绘制竖向条形图+线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style('darkgrid') #设置Seaborn的背景风格为darkgrid
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的环比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
x = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
y1 = (30,40,40,50) #2024-01的销售量的值
y2 = (20,40,50,55) #2024-02的销售量的值
y1 = np.array(y1) #转换为一维数组
y2 = np.array(y2) #转换为一维数组
Result_1 = ((y2 - y1) / y1) * 100 #环比增长率=(本期数-上期数)/上期数×100%
bar_width = 0.4 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(x, y2,label='2024-02',color='red')
#设置每个柱子上的文本标签:(显示环比增长率的值)
for a,b in zip(x,Result_1):
plt.text(a,b,'%.0f%%'%b,ha='center',va='bottom',fontsize=15,color='white',alpha=0.9) #百分比不保留小数
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,y1,label='2024-01',color='blue',linewidth=1.0,marker='o',linestyle='-')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:(当环比增长率为负数时,其值是不显示的)
######(绘制竖向条形图+线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style('darkgrid') #设置Seaborn的背景风格为darkgrid
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各城市的图书的环比分析比较") #图形标题
plt.ylabel('销售数量(册)') #显示y轴名称
x = ['广州市','上海市','深圳市','北京市'] #x轴的点的值
y1 = np.array([30,40,40,50]) #2024-01的销售量的值(一维数组)
y2 = np.array([20,40,50,55]) #2024-02的销售量的值(一维数组)
Result_1 = ((y2 - y1) / y1) * 100 #环比增长率=(本期数-上期数)/上期数×100%
bar_width = 0.4 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(x, y2,label='2024-02',color='red')
#设置每个柱子上的文本标签:(显示2024-02的销售量的值)
for a,b in zip(x,y2):
plt.text(a,b,b,ha='center',va='bottom',fontsize=13,color='black',alpha=0.9)
#设置每个柱子上的文本标签:(显示环比增长率的值)
for a,b in zip(x,Result_1):
plt.text(a,b,'%.2f%%'%b,ha='center',va='bottom',fontsize=16,color='black',alpha=0.9) #百分比保留两位小数
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,y1,label='2024-01',color='blue',linewidth=1.0,marker='+',linestyle='-')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:(当环比增长率为负数时,其值是不显示的)
三、贡献度分析法
产品的投入和产出之间,本来就存在着无法解释的不平衡。
各产品的累计贡献率的计算公式:
■ 累计贡献率=(累加销售收入/销售总收入)×100%
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各产品的贡献度分析") #图形标题
x = ['苹果','香蕉','草莓','橙子'] #x轴的点的值
y1 = [30,40,40,50] #各产品销售量的值
Result_1 = np.divide(y1,np.sum(y1))*100 #累计贡献率=(累加销售收入/销售总收入)×100%
print(Result_1)
print(type(Result_1))
print("-" * 3)
Result_2 = list(Result_1) #转换为列表
print(Result_2)
print(type(Result_2))
## 设置每个数据点上的文本标签:(y轴的点的值)
for a,b in zip(x,Result_2):
plt.text(a,b,'%.2f%%'%b,ha='center',va='bottom',fontsize=14) #百分比保留两位小数
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,Result_2,label='2024-01',color='red',linewidth=1.0,marker='o',linestyle='-')
plt.legend() #显示图例(label)
plt.show()
脚本运行的结果:
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各产品的贡献度分析") #图形标题
x = ['苹果','香蕉','草莓','橙子'] #x轴的点的值
y1 = [30,40,40,50] #各产品销售量的值
Result_1 = np.divide(y1,np.sum(y1))*100 #累计贡献率=(累加销售收入/销售总收入)×100%
print(Result_1)
print(type(Result_1))
print("-" * 3)
Result_2 = tuple(Result_1) #转换为元组
print(Result_2)
print(type(Result_2))
## 设置每个数据点上的文本标签:(y轴的点的值)
for a,b in zip(x,Result_2):
plt.text(a,b+0.1,'%.2f%%'%b,ha='center',va='bottom',fontsize=9) #这里使用“b+0.1”会让文本标签往上移动一点
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,Result_2,label='2024-01',color='red',linewidth=1.0,marker='o',linestyle='-')
plt.legend() #显示图例(label)
plt.show()
脚本运行的结果:
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style('whitegrid') #设置Seaborn的背景风格为whitegrid
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各产品的贡献度分析") #图形标题
plt.xlabel('- 产品名称 -') #显示x轴名称
plt.ylabel('百分比') #显示y轴名称
x = ['苹果','香蕉','草莓','橙子'] #x轴的点的值
y1 = [30,40,40,50] #各产品销售量的值
Result_1 = np.divide(y1,np.sum(y1))*100 #累计贡献率=(累加销售收入/销售总收入)×100%
print(Result_1)
print(type(Result_1))
print("-" * 3)
Result_2 = tuple(Result_1) #转换为元组
print(Result_2)
print(type(Result_2))
## 设置每个数据点上的文本标签:(y轴的点的值)
for a,b in zip(x,Result_2):
plt.text(a,b+0.2,'%.2f%%'%b,ha='center',va='bottom',fontsize=14) #这里使用“b+0.2”会让文本标签往上移动一点
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,Result_2,label='2024-01',color='red',linewidth=1.0,marker='o',linestyle='-')
plt.legend() #显示图例(label)
plt.show()
脚本运行的结果:
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style('whitegrid') #设置Seaborn的背景风格为whitegrid
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各产品的贡献度分析") #图形标题
plt.xlabel('- 产品名称 -') #显示x轴名称
plt.ylabel('百分比') #显示y轴名称
x = ['苹果','香蕉','草莓','橙子'] #x轴的点的值
y1 = [30,40,40,50] #各产品销售量的值
y1 = np.array(y1) #转换为一维数组
Result_1 = (y1 / np.sum(y1))*100 #累计贡献率=(累加销售收入/销售总收入)×100%
print(Result_1)
print(type(Result_1))
print("-" * 3)
Result_2 = list(Result_1) #转换为列表
print(Result_2)
print(type(Result_2))
## 设置每个数据点上的文本标签:(y轴的点的值)
for a,b in zip(x,Result_2):
plt.text(a,b+0.1,'%.2f%%'%b,ha='center',va='bottom',fontsize=14) #这里使用“b+0.1”会让文本标签往上移动一点
bar_width = 0.4 #条形的宽度
## 绘制竖向条形图:(使用plt.bar函数)
plt.bar(x,Result_2,bar_width,label='2024-01',color='Turquoise') #设置柱子颜色为蓝绿色
plt.legend() #显示图例(label)
plt.show()
脚本运行的结果:
脚本运行后的图形效果:
四、差异化分析法
通过差异化分析,比较不同事物之间在某个指标上的差异,可以根据差异定制不同的策略。
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("学生成绩性别差异分析") #图形标题
plt.ylabel('- 分数 -') #显示y轴名称
x = ['语文成绩','数学成绩','物理成绩','化学成绩'] #x轴的点的值
## 绘制线形图:(使用plt.plot函数)
y1 = [20,50,70,80] #第一条数据线
plt.plot(x,y1,label='女生',color='red',linewidth=1.0,marker='o',linestyle='-.')
y2 = [30,40,40,50] #第二条数据线
plt.plot(x,y2,label='男生',color='blue',linewidth=1.0,marker='o',linestyle='-')
plt.legend() #显示图例(label)
plt.grid(True,linestyle=':',color='purple',alpha=0.6) #显示网格线
plt.show()
脚本运行后的图形效果:
######(绘制雷达图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 数据准备:
Labels = ['语文','数学','物理','化学']
Values_1 = [20,50,70,80]
# 计算角度:
num_Labels = len(Labels)
Angles = np.linspace(0, 2 * np.pi, num_Labels, endpoint=False).tolist()
# 绘制雷达图:
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
Values_1 += Values_1[:1]
Angles += Angles[:1]
ax.fill(Angles, Values_1, color='Skyblue', alpha=0.25)
# 添加标签和标题:
ax.set_thetagrids(np.degrees(Angles[:-1]), Labels)
ax.set_title('女生成绩差异分析')
plt.show() #显示图形
脚本运行后的图形效果:
######(绘制雷达图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style('darkgrid') #设置Seaborn的背景风格为darkgrid
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 数据准备:
Labels = ['语文','数学','物理','化学']
Values_1 = [20,50,70,80]
# 计算角度:
num_Labels = len(Labels)
Angles = np.linspace(0, 2 * np.pi, num_Labels, endpoint=False).tolist()
# 绘制雷达图:
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
Values_1 += Values_1[:1]
Angles += Angles[:1]
ax.fill(Angles, Values_1, color='skyblue', alpha=0.25, label='女生')
# 添加标签和标题:
ax.set_thetagrids(np.degrees(Angles[:-1]), Labels)
ax.set_title('女生成绩差异分析')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制雷达图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 数据准备:
Labels = ['语文','数学','物理','化学']
Values_1 = [20,50,70,80]
Values_2 = [30,40,40,50]
# 计算角度:
num_Labels = len(Labels)
Angles = np.linspace(0, 2 * np.pi, num_Labels, endpoint=False).tolist()
# 绘制雷达图:
fig, ax = plt.subplots(figsize=(8, 6), subplot_kw=dict(polar=True))
Values_1 += Values_1[:1]
Angles += Angles[:1]
ax.fill(Angles, Values_1, color='red', alpha=0.25, label='女生')
Values_2 += Values_2[:1]
ax.fill(Angles, Values_2, color='blue', alpha=0.25, label='男生')
# 添加标签和标题:
ax.set_thetagrids(np.degrees(Angles[:-1]), Labels)
ax.set_title('学生成绩性别差异分析')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制雷达图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style('darkgrid') #设置Seaborn的背景风格为darkgrid
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 数据准备:
Labels = ['语文','数学','物理','化学']
Values_1 = [20,50,70,80]
Values_2 = [30,40,40,50]
# 计算角度:
num_Labels = len(Labels)
Angles = np.linspace(0, 2 * np.pi, num_Labels, endpoint=False).tolist()
# 绘制雷达图:
fig, ax = plt.subplots(figsize=(8, 6), subplot_kw=dict(polar=True))
Values_1 += Values_1[:1]
Angles += Angles[:1]
ax.fill(Angles, Values_1, color='red', alpha=0.25, label='女生')
Values_2 += Values_2[:1]
ax.fill(Angles, Values_2, color='blue', alpha=0.25, label='男生')
# 添加标签和标题:
ax.set_thetagrids(np.degrees(Angles[:-1]), Labels)
ax.set_title('学生成绩性别差异分析')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style('whitegrid') #设置Seaborn的背景风格为whitegrid
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("班级成绩差异分析") #图形标题
x = ['语文成绩','数学成绩','物理成绩','化学成绩'] #x轴的点的值
## 绘制线形图:(使用plt.plot函数)
y1 = [20,50,70,80] #第一条数据线
plt.plot(x,y1,label='三年一班',color='red',linewidth=1.0,marker='o',linestyle='-.')
y2 = [30,40,40,50] #第二条数据线
plt.plot(x,y2,label='三年二班',color='blue',linewidth=1.0,marker='o',linestyle='-')
y3 = [35,45,40,55] #第三条数据线
plt.plot(x,y3,label='三年三班',color='green',linewidth=1.0,marker='o',linestyle='--')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制雷达图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 数据准备:
Labels = ['语文','数学','物理','化学']
Values_1 = [20,50,70,80]
Values_2 = [30,40,40,50]
Values_3 = [35,45,40,55]
# 计算角度:
num_Labels = len(Labels)
Angles = np.linspace(0, 2 * np.pi, num_Labels, endpoint=False).tolist()
# 绘制雷达图:
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
Values_1 += Values_1[:1]
Angles += Angles[:1]
ax.fill(Angles, Values_1, color='red', alpha=0.25, label='三年一班')
Values_2 += Values_2[:1]
ax.fill(Angles, Values_2, color='blue', alpha=0.25, label='三年二班')
Values_3 += Values_2[:1]
ax.fill(Angles, Values_3, color='green', alpha=0.25, label='三年三班')
# 添加标签和标题:
ax.set_thetagrids(np.degrees(Angles[:-1]), Labels)
ax.set_title('班级成绩差异分析')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制雷达图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style('whitegrid') #设置Seaborn的背景风格为whitegrid
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 数据准备:
Labels = ['语文','数学','物理','化学']
Values_1 = [20,50,70,80]
Values_2 = [30,40,40,50]
Values_3 = [35,45,40,55]
# 计算角度:
num_Labels = len(Labels)
Angles = np.linspace(0, 2 * np.pi, num_Labels, endpoint=False).tolist()
# 绘制雷达图:
fig, ax = plt.subplots(figsize=(8, 6), subplot_kw=dict(polar=True))
Values_1 += Values_1[:1]
Angles += Angles[:1]
ax.fill(Angles, Values_1, color='red', alpha=0.25, label='三年一班')
Values_2 += Values_2[:1]
ax.fill(Angles, Values_2, color='blue', alpha=0.25, label='三年二班')
Values_3 += Values_2[:1]
ax.fill(Angles, Values_3, color='green', alpha=0.25, label='三年三班')
# 添加标签和标题:
ax.set_thetagrids(np.degrees(Angles[:-1]), Labels)
ax.set_title('班级成绩差异分析')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
五、相关性分析法
相关性分析是指对两组具备相关关系的数据进行分析,从而衡量两组数据之间的相关程度、密切程度。
如果一组数据的改变引发了另一组数据朝相同方向变化,那么这两组数据则存在正相关性。
如果一组数据的改变引发了另一组数据朝相反方向变化,那么这两组数据则存在负相关性。
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore') #去除在使用sns下的函数时出现的那些警告
sns.set_style('whitegrid') #设置Seaborn的背景风格为whitegrid
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.xlabel('- 费用成本(元) -') #显示x轴名称
plt.ylabel('广告展现量(次)') #显示y轴名称
plt.title("费用成本与广告展现量相关性分析") #图形标题
xKey_1 = 10000
xKey_2 = 20000
xKey_3 = 30000
xKey_4 = 40000
x = [xKey_1,xKey_2,xKey_3,xKey_4] #x轴的点的值
yKey_1 = 200
yKey_2 = 500
yKey_3 = 700
yKey_4 = 800
y = [yKey_1,yKey_2,yKey_3,yKey_4] #y轴的点的值
## 绘制线形图:(使用sns.lineplot函数)
sns.lineplot(x,y,color='red',linewidth=1.0,marker='o',linestyle='-.')
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import warnings
warnings.filterwarnings('ignore') #去除在使用sns下的函数时出现的那些警告
sns.set_style('whitegrid') #设置Seaborn的背景风格为whitegrid
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("费用成本与广告展现量相关性分析") #图形标题
plt.xlabel('- 费用成本(元) -') #显示x轴名称
plt.ylabel('广告展现量(次)') #显示y轴名称
xKey_1 = 10000
xKey_2 = 20000
xKey_3 = 30000
xKey_4 = 40000
x = [xKey_1,xKey_2,xKey_3,xKey_4] #x轴的点的值
yKey_1 = 800
yKey_2 = 700
yKey_3 = 500
yKey_4 = 200
y = [yKey_1,yKey_2,yKey_3,yKey_4] #y轴的点的值
## 绘制竖向条形图:(使用sns.barplot函数)
sns.barplot(x,y)
plt.show()
脚本运行后的图形效果:
六、时间序列分析法
根据照时间顺序排列的一组数据,找出其中的发展变化规律,从而预测未来的走势。
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("年度增长趋势分析") #图形标题
xKey_1 = '2020'
xKey_2 = '2021'
xKey_3 = '2022'
xKey_4 = '2023'
x = [xKey_1,xKey_2,xKey_3,xKey_4] #x轴的点的值
yKey_1 = 200
yKey_2 = 500
yKey_3 = 400
yKey_4 = 800
y = [yKey_1,yKey_2,yKey_3,yKey_4] #y轴的点的值
## 绘制线形图:(使用plt.plot函数)
plt.plot(x,y,color='red',linewidth=1.0,marker='o',linestyle='-.')
plt.xlabel('- 年度 -') #显示x轴名称
plt.ylabel('年度收入额(元)') #显示y轴名称
plt.grid(True,linestyle=':',color='purple',alpha=0.6) #显示网格线
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore') #去除在使用sns下的函数时出现的那些警告
sns.set_style('whitegrid') #设置Seaborn的背景风格为whitegrid
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("2023年的季节性波动分析") #图形标题
xKey_1 = '第一季度'
xKey_2 = '第二季度'
xKey_3 = '第三季度'
xKey_4 = "第四季度"
x = [xKey_1,xKey_2,xKey_3,xKey_4] #x轴的点的值
yKey_1 = 200
yKey_2 = 500
yKey_3 = 400
yKey_4 = 800
y = [yKey_1,yKey_2,yKey_3,yKey_4] #y轴的点的值
## 绘制线形图:(使用sns.lineplot函数)
sns.lineplot(x,y,color='red',linewidth=1.0,marker='o',linestyle='-.')
plt.xlabel('- 季度 -') #显示x轴名称
plt.ylabel('季度收入额(元)') #显示y轴名称
plt.show()
脚本运行后的图形效果:
|