python画图怎么用纵坐标用 25 次独立运行得到的适应值的中值的对数表示
时间: 2024-05-15 20:18:40 浏览: 66
这个问题需要用到 python 的 matplotlib 库。具体实现过程如下:
第一步,导入库:
```
import matplotlib.pyplot as plt
import numpy as np
```
第二步,获取适应值数据,并计算中值并求对数:
```
# 25 次独立运行得到的适应值数据存储在变量 data 中
data = [100, 98, 80, 120, 110, 102, 95, 78, 85, 90, 92, 88, 95, 98, 100, 102, 110, 112, 115, 118, 120, 125, 128, 130, 135]
# 计算中值
median = np.median(data)
# 求对数
log_median = np.log(median)
```
第三步,使用 matplotlib 库绘制柱状图:
```
# 创建图形并设置大小
fig, ax = plt.subplots(figsize=(8, 6))
# 设置 x 轴和 y 轴的标签和标题
ax.set_xlabel('Experiment')
ax.set_ylabel('Fitness')
ax.set_title('Median Fitness of 25 Experiments in Log Scale')
# 绘制柱状图
ax.bar(1, log_median)
# 设置 x 轴刻度标签
ax.set_xticks([1])
ax.set_xticklabels(['Median Fitness'])
# 设置 y 轴刻度标签
y_ticks = [0, 1, 2, 3]
y_ticklabels = ['10^{}'.format(i) for i in y_ticks]
ax.set_yticks(y_ticks)
ax.set_yticklabels(y_ticklabels)
# 显示图形
plt.show()
```
这样就可以得到一个柱状图,纵坐标表示适应值的中值的对数。
阅读全文