我想可视化两个数据之间的交互。原始数据(绿色)和预测数据(棕色)。顶线的长度是200到-20,底线的长度是-20到200。
对于上面的表格,我想以下面的格式进行可视化
到目前为止我已经尝试过的代码
def newline(p1, p2, color='black'):
ax = plt.gca()
fig, ax = plt.subplots(1,1,figsize=(5,5), dpi= 60)
ax.hlines(y=1, xmin=-20, xmax=200, color='black', alpha=0.7)
ax.hlines(y=1.1, xmin=-20, xmax=200, color='black', alpha=0.7)
plt.rcParams['xtick.bottom'] = plt.rcParams['xtick.labelbottom'] = True
plt.rcParams['xtick.top'] = plt.rcParams['xtick.labeltop'] = True
ax.yaxis.set_visible(False)
plt.box(False)
发布于 2020-02-28 10:32:14
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
def newline(p1, p2, color='black'):
ax = plt.gca()
df = pd.read_excel('visual.xlsx', sheet_name='Sheet2')
prediction_list = df['prediction'].tolist()
originale_list = df['original'].tolist()
result_prediction = []
result_original = []
for i in range(len(prediction_list)):
temp = []
test = prediction_list[i].split('&')
for j in range(len(test)):
temp = []
temp.append(200 - int(test[j].split(':')[0]))
temp.append(int(test[j].split(':')[1]))
result_prediction.append(temp)
for i in range(len(originale_list)):
temp = []
test = originale_list[i].split('&')
for j in range(len(test)):
temp = []
temp.append(200 - int(test[j].split(':')[0]))
temp.append(int(test[j].split(':')[1]))
result_original.append(temp)
fig, ax = plt.subplots(1,1,figsize=(20,5), dpi= 60)
ax.hlines(y=1, xmin=200, xmax=-20, color='black', alpha=0.7)
ax.hlines(y=2, xmin=200, xmax=-20, color='black', alpha=0.7) -20')
for i in range(len(result_prediction)):
plt.plot(result_prediction[i], [2, 1], color='brown')
for i in range(len(result_original)):
plt.plot(result_original[i], [2, 1], color='green')
plt.rcParams['xtick.bottom'] = plt.rcParams['xtick.labelbottom'] = True
plt.rcParams['xtick.top'] = plt.rcParams['xtick.labeltop'] = True
ax.yaxis.set_visible(False)
plt.box(False)
plt.savefig('test.png')
plt.show()
那会对你有帮助。
谢谢
https://stackoverflow.com/questions/60396844
复制相似问题