Я использую следующий пример кода (для последней объединенной фигуры) для построения шоу на рисунке. Тем не менее, я получаю некоторые дополнительные значения оси (отмечено). Не могли бы вы помочь мне? Значения parsed и parsed_djkstr.csv больше 100, так что это невозможно из данных. Я использую python версия 3.7. ![enter image description here](https://i.stack.imgur.com/tLXqU.png)
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import csv
from matplotlib.gridspec import GridSpec
(fig, axes) = plt.subplots(ncols=2, nrows=2, figsize=(24, 16))
plt.subplots_adjust(wspace=0.09, hspace=0.2)
delay_list = [] # an empty list to store the second column
with open('parsed.csv', 'r') as rf: # read csv file
reader = csv.reader(rf, delimiter=',')
for row in reader:
delay_list.append(row[0]) # take the second row as input and put into empty list
results = [float(i) for i in delay_list] # convert it into integer
delay_mat = np.asarray(results) # convert into numpy array
window = 20 # window size
delay_smooth = [(np.mean(delay_mat[i:i + window]) if i
> window else np.mean(delay_mat[0:i + 1])) for i in
range(len(delay_mat))]
delay_list_dijkstra = []
with open('parsed_djkstra.csv', 'r') as rf:
reader_dijkstra = csv.reader(rf, delimiter=',')
for row in reader_dijkstra:
delay_list_dijkstra.append(row[0])
results_dijkstra = [float(i) for i in delay_list_dijkstra]
delay_mat_dijkstra = np.asarray(results_dijkstra)
window = 20 # window size
delay_smooth_dijkstra = [(np.mean(delay_mat_dijkstra[i:i
+ window]) if i
> window else np.mean(delay_mat_dijkstra[0:i
+ 1])) for i in range(len(delay_mat_dijkstra))]
gs = axes[1, 1].get_gridspec()
for ax in axes[1:, -1]:
ax.remove()
axbig = fig.add_subplot(gs[1, :])
axbig.set_prop_cycle(color=['blue', 'red'])
axbig.plot(delay_smooth,
label='End to end delay-proposed algorithm(window size=20)')
axbig.plot(delay_smooth_dijkstra,
label='End to end delay-Dijkstra(window size=20)')
axbig.set_title('Smoothed End to End Delay from Host-1 to host-2',
fontsize=20)
axbig.legend(loc='best')
axbig.grid()
axbig.margins(x=0)
axbig.set_xlabel('Number of packet send \n (c)', fontsize=20)
axbig.set_ylabel('End_to_End _Delay (in millisecond) ', fontsize=20)