• 折线图
import numpy as np
import matplotlib.pyplot as plt
x = [1,2,3,4,5] # 创建x数组(列表)
y = [1,4,9,16,25] # 床照y数组(列表),和x的元素一一对应
plt.plot(x, y) #绘制折线图
plt.show() # 显示绘制结果
  • 散点图

在plt.plot 参数后面加一个 o 字符

import numpy as np
import matplotlib.pyplot as plt
x = [1,2,3,4,5] # 创建x数组(列表)
y = [1,4,9,16,25] # 床照y数组(列表),和x的元素一一对应
plt.plot(x, y,'o') #绘制折线图
plt.show() # 显示绘制结果
  • 柱状图
import matplotlib.pyplot as plt

plt.xlabel('sex') # 设定x轴的标签
plt.ylabel('number') # 设定y轴的标签
plt.xticks((0,1),('man','woman')) # 设定x轴各个刻度
plt.bar(left = (0,1),height = (0.75,0.25),width = 0.35,color="red")
# 绘制柱状图 颜色为红色,柱状高度分别为 0.75 和 0.25
plt.show() # 显示柱状图
import matplotlib.pyplot as plt
plt.xlabel('城市') # 设定x轴的标签
plt.ylabel('数量') # 设定y轴的标签
plt.xticks((0,1,2,3,4),('南京','长沙','广州','云南','湖北')) # 设定x轴各个刻度
plt.bar(left = (0,1,2,3,4),height = (213,15,60,178,6),width = 0.35,color="red")
# 绘制柱状图 颜色为红色,柱状高度分别为 

# 下面两行可以实现显示汉字
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

plt.show() # 显示柱状图
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]#输出图像的标题可以为中文正常输出
plt.rcParams["axes.unicode_minus"]=False #可以正常输出图线里的负号
name_list = ["南京","长沙","广州", "云南","湖北"]
num_list = [213,15,60,178,6]
num_list1 = [112, 304,107,203,500]
x = list(range(len(num_list)))
total_width, n = 0.6, 2
width = total_width / n
plt.bar(x, num_list, width=width, label="2020年数据", fc = "b")
for a,b in zip(x,num_list):   #柱子上的数字显示
    plt.text(a,b,'%.3f'%b,ha='center',va='bottom',fontsize=10);
for i in range(len(x)):
    x[i] = x[i] + width
plt.bar(x, num_list1, width=width, label="2021年数据", tick_label = name_list, fc ="r")
plt.xlabel("城市",fontsize=10)
plt.ylabel("数量",fontsize=10)
plt.title("2020 与 2021 年对比",fontsize=15)
for a,b in zip(x,num_list1):   #柱子上的数字显示
 plt.text(a,b,'%.3f'%b,ha='center',va='bottom',fontsize=10);
plt.legend(fontsize=8)
plt.show()
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]#输出图像的标题可以为中文正常输出
plt.rcParams["axes.unicode_minus"]=False #可以正常输出图线里的负号
name_list = ["评分1","评分2'","评分3", "评分4"]
num_list = [0.912,0.914,0.957,0.851]
num_list1 = [0.976, 0.914,0.916,0.734]

x = list(range(len(num_list)))
total_width, n = 0.6, 3
width = total_width / n
plt.bar(x, num_list, width=width, label="LogisticRegression", fc = "b")

plt.text(x[0],num_list[0],"91.2%",ha='center',va='bottom',fontsize=10)
plt.text(x[1],num_list[1],"91.4%",ha='center',va='bottom',fontsize=10)
plt.text(x[2],num_list[2],"96.7%",ha='center',va='bottom',fontsize=10)
plt.text(x[3],num_list[3],"85.1%",ha='center',va='bottom',fontsize=10)

for i in range(len(x)):
    x[i] = x[i] + width
plt.bar(x, num_list1, width=width, label="RandomForest", tick_label = name_list, fc ="r")
plt.xlabel("不同评分目标类型",fontsize=12)
plt.ylabel("不同模型的准确率大小",fontsize=12)
plt.title("不同评分结果的机器学习算法模型精度表现",fontsize=15)

plt.text(x[0],num_list1[0],"97.6%",ha='center',va='bottom',fontsize=10)
plt.text(x[1],num_list1[1],"91.4%",ha='center',va='bottom',fontsize=10)
plt.text(x[2],num_list1[2],"91.6%",ha='center',va='bottom',fontsize=10)
plt.text(x[3],num_list1[3],"73.4%",ha='center',va='bottom',fontsize=10)

plt.legend(fontsize=9)
plt.show()


import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]#输出图像的标题可以为中文正常输出
plt.rcParams["axes.unicode_minus"]=False #可以正常输出图线里的负号
name_list = ["评分1","评分2'","评分3", "评分4"]
num_list = [0.912,0.914,0.957,0.851]
num_list1 = [0.976, 0.914,0.90,0.734]
x = list(range(len(num_list)))
total_width, n = 0.6, 2
width = total_width / n
plt.bar(x, num_list, width=width, label="LogisticRegression", fc = "b")
for a,b in zip(x,num_list):   #柱子上的数字显示
    plt.text(a,b,'%.3f'%b,ha='center',va='bottom',fontsize=10);
for i in range(len(x)):
    x[i] = x[i] + width
plt.bar(x, num_list1, width=width, label="RandomForest", tick_label = name_list, fc ="r")
plt.xlabel("不同评分目标类型",fontsize=10)
plt.ylabel("不同模型的准确率大小",fontsize=10)
plt.title("不同评分结果的机器学习算法模型精度表现",fontsize=15)
for a,b in zip(x,num_list1):   #柱子上的数字显示
 plt.text(a,b,'%.3f'%b,ha='center',va='bottom',fontsize=10);
plt.legend(fontsize=8)
plt.show()
  • 饼状图
# 绘制饼图

import numpy as np
import matplotlib.pyplot as plt

data = np.random.randint(1,11,5) # 利用numpy 生成5个随机数,值域[1,11]
# x = np.arange(len(data)) # 建立x数组(列表) 1,2,3,4
plt.pie(data, explode = [0,0,.2,0,0]) # 绘制饼图
plt.show()
  • 多个序列
最后修改:2021 年 11 月 21 日
如果觉得我的文章对你有用,请随意赞赏