python绘制图形

时间:2018-12-12 22:07:46

标签: python matplotlib plot

我的代码:

def izrisi_vektor(vektor):
    plt.axis([0,9,0,100])

    plt.plot(vektor,color='black')

    povprec=povprecje(vektor)
    plt.plot(povprec,color='red')

    std=standardna_deviacija(vektor)
    plt.plot(std,color='blue')

    plt.ylabel('Amplituda')
    plt.xlabel('Vzorec')
    plt.show()
    return 0

vektor是一个由10个从0到100的随机数组成的数组 函数povprecje返回的浮点数是这10个数字的平均值。 standardna_deviacija(vektor)返回arrayl中这些数字的标准除法的浮点数。我想做的是在一张图上画这些。

只有一个可行的是我绘制这些数组编号的第一个。

我目前拥有的图形

2 个答案:

答案 0 :(得分:0)

您只绘制一次图形。

您的代码应如下所示:

x = range(0, 101)
plt.plot(x, vektor, 'black', x, povprec, 'red', x, std, 'blue')

这将在同一轴上绘制所有3条线。

请参见plot的文档,功能签名允许您传递多条曲线以绘制为:

 x1, y1, format, x2, y2, format2 ...

答案 1 :(得分:0)

通常在Python中,将这些值绘制在同一图上,直到运行“ plt.show()”。从您的问题陈述中,第一个情节是10个浮点数,因此您有一条漂亮的线。对于您的均值和标准差,它们只是浮点数,这只是一点。它们也绘制在图形上,您看不到它,因为它只是一点,并且您正在使用plt.plot。要查看趋势线和其他两个均值和标准差的点,请执行以下操作:

plt.plot(vektor,color='black')
plt.show()

plt.scatter(1, povprec,color='red')
plt.show()

plt.scatter(1, std,color='blue')
plt.show()

这将输出3个图,第一个是您的线,如您的问题所示。另外两个是点,y轴是它们各自的“单位”(平均值,标准差)。