首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python中的覆盖交互可视化

python中的覆盖交互可视化
EN

Stack Overflow用户
提问于 2020-02-25 22:26:33
回答 1查看 68关注 0票数 0

我想可视化两个数据之间的交互。原始数据(绿色)和预测数据(棕色)。顶线的长度是200到-20,底线的长度是-20到200。

对于上面的表格,我想以下面的格式进行可视化

到目前为止我已经尝试过的代码

代码语言:javascript
运行
复制
    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)        
EN

回答 1

Stack Overflow用户

发布于 2020-02-28 10:32:14

代码语言:javascript
运行
复制
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()

那会对你有帮助。

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60396844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档