自学使用python对one仿真结果进行绘图(请各位大神提宝贵意见)

tech2026-03-03  1

第一步:导入生成的文本报表,以Epidemic的MessageStatsReport报表为例,分别生成缓存空间为5M,10M,15M,20M,25M,30M的reports,将txt表格数据导入,合并为df表格,代码及结果如下:

import pandas as pd df1 = pd.read_table(r"C:\Users\phoebe\Documents\java_workspace\one\reports\MessageStatsReport\Epidemic-5M_MessageStatsReport.txt",sep = ":") df2 = pd.read_table(r"C:\Users\phoebe\Documents\java_workspace\one\reports\MessageStatsReport\Epidemic-10M_MessageStatsReport.txt",sep = ":") df3 = pd.read_table(r"C:\Users\phoebe\Documents\java_workspace\one\reports\MessageStatsReport\Epidemic-15M_MessageStatsReport.txt",sep = ":") df4 = pd.read_table(r"C:\Users\phoebe\Documents\java_workspace\one\reports\MessageStatsReport\Epidemic-20M_MessageStatsReport.txt",sep = ":") df5 = pd.read_table(r"C:\Users\phoebe\Documents\java_workspace\one\reports\MessageStatsReport\Epidemic-25M_MessageStatsReport.txt",sep = ":") df6 = pd.read_table(r"C:\Users\phoebe\Documents\java_workspace\one\reports\MessageStatsReport\Epidemic-30M_MessageStatsReport.txt",sep = ":") df = pd.merge(df1,df2,on = 'key') i=3 while i<7: df = pd.merge(df,eval("df"+str(i)),on = 'key') i += 1 df.columns = ["数据类型","5M","10M","15M","20M","25M","30M"] df

画出坐标轴,准备绘制折线图,代码及结果如下:

import matplotlib.pyplot as plt from matplotlib.ticker import MultipleLocator from pylab import mpl mpl.rcParams['font.sans-serif'] = ['SimHei'] mpl.rcParams['axes.unicode_minus'] = False # 加上下行代码,图标会看起来更清晰 %config InlineBackend.figure_format = 'svg' plt.figure(figsize = (5,5)) #建立一个尺寸为5,5的画布 plt.xlim(0,35) plt.ylim(0,1) plt.xlabel("缓存空间量",labelpad = 10) #labelpad为标签与轴之间的距离 plt.ylabel("投递成功率",labelpad = 10) import numpy as np plt.xticks(np.arange(0,40,5),["0M","5M","10M","15M","20M","25M","30M","35M"]) plt.yticks(np.arange(0,1.1,0.1),["0","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%"]) plt.grid(b = "True")

最新回复(0)