x和y必须具有相同的第一维度,但具有形状(2)和(1)

2024-10-01 07:25:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须编写一个函数,读取这种格式的csv文件,并返回一个元组列表,其中包含我成功完成的每对功能。我现在正在尝试编写一个函数,该函数将我对his的回答返回的格式列表作为参数,并使用matplotlib生成一个图,显示每对的玩家a击败玩家b对抗ra/rb的概率

当我试图显示我的图形时,我得到了一个错误:x和y必须具有相同的第一维度,但具有形状(2,)和(1,)。我曾尝试将结果更改为字符串,但图形的线条没有显示出来

import csv
import matplotlib.pyplot as plt


def csvAbilites():
    with open('abilites.csv') as csv_file:
        next(csv_file)
        data=[tuple(map(int,line)) for line in csv.reader(csv_file)]
        return(data)


for results in (csvAbilites()): #play abilites
    ra = results[0] / (results[0] + results[1]) #probability a wins
    plt.plot((results), (ra))

plt.xlabel('Ability of Player A / Ability of Player B')
plt.ylabel('Probabilty A wins')
plt.title('Probabilty of A Winning for different player abilites')
plt.show()

Tags: ofcsv函数import图形列表formatplotlib