Matplotlib.pyplot.scatter 散点图绘制
Matplotlib.pyplot 创建图形、在图形中创建创建一个绘图区域、在绘图区域中你那个绘制一些线、在图形中添加标签之类
画二维平面图
x = np.arange(0, 10, 2) y1 = x y2 = x ** 2 plt.plot(x, y1, '*g--') #g 表示颜色 plt.show()
同一个坐标系里画多条线段
import matplotlib.pyplot as plt import numpy as np plt.plot([10, 20, 30, 40], [35, 45, 55, 65], '*g--') plt.plot([[10, 20], [30, 40]], [[30, 40], [50, 60]], '*r--') plt.show()
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 2) y1 = x y2 = x ** 2 # 正常显示中文 from pylab import mpl mpl.rcParams['font.sans-serif'] = ['SimHei'] plt.xlabel('自变量') # 若是使用 汉字,则显示出错 plt.ylabel('因变量') plt.plot(x, y1, '*g--', y2, '^b-') plt.legend(['y=x', '$y=x^2$'], loc='upper right') # 显示每条线段的解释, $$ 里是 LaTeX语句 # 保存图片 plt.savefig('./Big Title.png') # 防止图片部分缺失 方法一 增大画布 fig = plt.figure(figsize=(8,4)) # 防止图片部分缺失 方法一 紧致布局 plt.tight_layout() #增大分辨率 plt.savefig('./Big Title.png', dpi=400) plt.show()
分别放两个框中
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 2) y1 = x y2 = x ** 2 # 1.创建画板fig fig = plt.figure(figsize=(9, 6)) # 指定画板大小 # 参数解释,前两个参数 1,2 表示创建了一个一行两列的框 第三个参数表示当前所在的框 ax1 = fig.add_subplot(1, 2, 1) ax2 = fig.add_subplot(1, 2, 2) ax1.plot(x, y1, '*--', color="tab:blue") ax2.plot(x, y2, '^-', color='tab:orange') plt.show()
函数封装
import matplotlib.pyplot as plt def show_plot(x_name: list, precision: list, recall: list, f1: list, AUC: list, path): plt.plot(x_name, precision, 'or-', recall, '^g-', f1, '*b-', AUC, '.y-.') plt.legend(['precision', 'recall', 'f1', 'AUC'], loc='upper right') plt.savefig(path, dpi=300) plt.show() pass x_name = ['model1', 'model2', 'model3', 'model4'] y1 = [0.5, 0.6, 0.8, 0.9] y2 = [0.6, 0.6, 0.85, 0.92] y3 = [0.7, 0.66, 0.82, 0.91] y4 = [0.8, 0.7, 0.82, 0.84, 0.93] show_plot(x_name, y1, y2, y3, y4, r'test.png')
画多条曲线
import numpy as np import matplotlib.pyplot as plt fig1 = plt.figure(num=1, figsize=(7, 5)) # 指定画板大小 x = np.linspace(0.0, np.pi * 2, 20) y = np.sin(x) plt.plot(x, y, 'rx-', x, 2 * x, 'go-.') # 每条都指定x轴数据 fig2 = plt.figure(num=2) plt.plot(x, y, 'rx-', 2 * x, 'go-.') # 一条指定x轴数据,其他不指定 fig2 = plt.figure(num=3) plt.plot(y, 'rx-', 2 * x, 'go-.') # 都不指定 plt.show()
说明
format_string 控制曲线的格式字符串,可选,由颜色字符
、风格
字符和标记
字符组成
颜色
字符 | 说明 | 字符 | 说明 | 字符 | 说明 |
'r' | 红色 | 'g' | 绿色 | 'b' | 蓝色 |
'c' | 青绿色 | 'k' | 黑色 | 'y' | 黄色 |
'w' | 白色 | 'm' | 洋红色 |
风格
字符 | 说明 | 字符 | 说明 | 字符 | 说明 | 字符 | 说明 |
'-' | 实线 | '–' | 破折线 | '-.' | 点画线 | ':' | 虚线 |
风格
字符 | 说明 | 字符 | 说明 | 字符 | 说明 |
'.' | 点标记 | ',' | 像素标记 | 'o' | 实心圈标记 |
'v' | 倒三角标记 | '^' | 上三角标记 | '>' | 右三角标记 |
'<' | 左三角标记 | 'h' | 竖六边形标记 | 'H' | 横六边形标记 |
'+' | 十字标记 | 'x' | x标记 | 'D' | 菱形标记 |
'd' | 瘦菱形标记 | '|' | 垂直线标记 | '*' | 星形标记 |
'p' | 实心五角标记 | 's' | 实心方形标记 | '4' | 右花三角标记 |
'3' | 左花三角标记 | '2' | 上花三角标记 | '1' | 下花三角标记 |
使用方法
plt.plot(x, y,'g') plt.plot(x, y,color='green') plt.plot(x, y,'go') plt.plot(x, y,color='green',marker = 'o') plt.plot(x, y,'go-.')