matplotlib作图

import matplotlib.pyplot as plt

def autolabel(rects):
    for rect in rects:
        height = rect.get_height()
        plt.text(rect.get_x()+rect.get_width()/2.-0.25, 1.01*height, '%s' % float(height),  ha='left')

name_list = ['1', '2', '3', '4']
num_list = [0.0801, 0.1327, 0.1416, 0.1643]
colors = ['c', 'g', 'y', 'r']
autolabel(plt.bar(range(len(num_list)), num_list,width=0.6,color=colors ,alpha=0.5,tick_label=name_list))


plt.ylabel('Influence', fontsize=12)
plt.xlabel('Method', fontsize=12)
plt.show()

柱状图

import json
import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt

str = '100000'

with open('/mnt/sda1/wxl/RL4IM-Contingency-main/results/rl4im/sacred/51/eval_episode_rewards.json','r') as fp:
    print(type(fp))
    loaded_json=json.load(fp)
for key in loaded_json:
    if key== str:
        temp = loaded_json[key]  #99*20
        temp2 = np.average(temp,1) #99*1
x = np.zeros(99,)
for i in range(99):
    x[i] = i*20+20


with open('/mnt/sda1/wxl/RL4IM-Contingency-main/results/rl4im/sacred/50/eval_episode_rewards.json','r') as fp:
    print(type(fp))
    loaded_json=json.load(fp)
for key in loaded_json:
    if key== str:
        temp = loaded_json[key]  #99*20
        temp3 = np.average(temp,1) #99*1
x = np.zeros(99,)
for i in range(99):
    x[i] = i*20+20


with open('/mnt/sda1/wxl/RL4IM-Contingency-main/results/rl4im/sacred/41/eval_episode_rewards.json','r') as fp:
    print(type(fp))
    loaded_json=json.load(fp)
for key in loaded_json:
    if key== str:
        temp = loaded_json[key]  #99*20
        temp4 = np.average(temp,1) #99*1
x = np.zeros(99,)
for i in range(99):
    x[i] = i*20+20


with open('/mnt/sda1/wxl/RL4IM-Contingency-main/results/rl4im/sacred/60/eval_episode_rewards.json','r') as fp:
    print(type(fp))
    loaded_json=json.load(fp)
for key in loaded_json:
    if key== str:
        temp = loaded_json[key]  #99*20
        temp5 = np.average(temp,1) #99*1
x = np.zeros(99,)
for i in range(99):
    x[i] = i*20+20

plt.figure()
plt.title('Validation Graph #1', fontsize=15)
plt.ylabel('Expected Influence', fontsize=12)
plt.xlabel('Train steps', fontsize=12)

plt.plot(x.T, temp2.T,label = 'x1',linestyle="-")
plt.plot(x.T, temp3.T,label = 'x2',linestyle="--")
plt.plot(x.T, temp4.T,label = 'x3',linestyle=":")
plt.plot(x.T, temp5.T,label = 'x4',linestyle="-.")
plt.ylim((0.10,0.19))
plt.xlim((20,1200))
#plt.legend(loc='lower right')
plt.show()

折线图

上一篇:DateTimeFormatter接替SimpleDateFormat


下一篇:线程安全的DateTimeFormatter ,