把交叉率和变异率作为x,y轴,HV作为颜色深度绘制成等高线图,代码如下:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from scipy.interpolate import griddata

# 读取数据
data = pd.read_csv('data.csv')

# 绘图
fig, ax = plt.subplots()
ax.set_xlabel('Crossover rate')
ax.set_ylabel('Mutation rate')
ax.set_xlim(0.1, 0.4)
ax.set_ylim(0.01, 0.04)
ax.set_xticks(np.arange(0.1, 0.5, 0.1))
ax.set_yticks(np.arange(0.01, 0.05, 0.01))

# 插值
xi = np.linspace(0.1, 0.4, 100)
yi = np.linspace(0.01, 0.04, 100)
zi = griddata((data['交叉率'], data['变异率']), data['HV'], (xi[None,:], yi[:,None]), method='linear')

# 绘制等高线图
plt.contourf(xi, yi, zi, levels=100, cmap='coolwarm')
plt.colorbar()

plt.show()

得到的图像如下:

从图中可以看出,当交叉率为0.2,变异率为0.03时,HV值最高,达到了约0.023。在这个区域内,随着交叉率的增加,HV值先增加后减小;随着变异率的增加,HV值先增加后趋于稳定。

交叉率	变异率	HV	S 01	001	0018	58695 02	001	0015	38169 04	001	0012	16056 05	001	0017	64346 06	001	0018	44073 07	001	0012	44204 08	001	0015	31764 09	001	0016	37409 01	002	0023	131481 02	002	0017	67565 03	002

原文地址: https://www.cveoy.top/t/topic/bA39 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录