gpt4 book ai didi

python - 无法使用 pyplot for ndarray 绘制双条、条形图

转载 作者:太空宇宙 更新时间:2023-11-04 09:48:14 24 4
gpt4 key购买 nike

我得到了这 2 个 {ndarray},它有 3 个值,分别是正面、负面和中性分数。

>>>y1
array([82, 80, 63])
>>>y2
array([122, 73, 30])

同样,我需要将 y1[0]y2[0] 绘制在一起,因为它们对应为正值,每个值的其他 2 个值也是如此数组。

我试过这个:

import matplotlib.pyplot as plt
import numpy as np

def biplt(groundTruth, predictedValues, plt_name='<name>'):
gt = groundTruth
pr = predictedValues
x = np.arange(2)

y1, y2 = gt.values, pr.values
fig, axes = plt.subplots(ncols=1, nrows=1)

width = 0.20
plt.title('%s\n Accuracy Score' % plt_name)
plt.xlabel('Parameters')
plt.ylabel('Score')
axes.bar(x, y1, width, label="Algorithm 1")
axes.bar(x + width, y2, width, color=list(plt.rcParams['axes.prop_cycle'])[2]['color'], label="Algorithm 2")
axes.set_xticks(x + width)
axes.set_xticklabels(['Positive', 'Negative'])
plt.legend()
plt.show()

这导致了 ValueError,请检查以下内容:

ValueError: shape mismatch: objects cannot be broadcast to a single shape

我无法诊断出可能的形状有问题

我期待类似的 o/p:
2Bars for each criteria

最佳答案

np.arange(2) 给出 array([0, 1]),所以只有两个值。如果您尝试针对此绘制三个值(在 y1y2 中),那是行不通的,它会抛出 ValueError(准确地告诉您):

ValueError: shape mismatch: objects cannot be broadcast to a single shape

尝试使用 np.arange(3)

关于python - 无法使用 pyplot for ndarray 绘制双条、条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48962594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com