在同一个窗口中清楚地画三条线,然后画一条虚线?

2024-09-30 02:20:33 发布

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

我怎样才能在同一个窗口里清楚地画出三条线?另外我想也能把那些线条画得虚线。你知道吗

到目前为止,我的情况是:

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np 
import math
# opgave 4
def f_opgave4 (x):
    return x**x

def area_under(f, a, b, N):
    return (b-a) / N * (sum ([f_opgave4(a + (b-a)*k/N) for k in range(1,N)]) )

print area_under(f_opgave4, 0.0, 1.0, 100000)

# opgave 5
def f_opgave5(x):
    return math.sin(x)

def area_under(f, a, b, N):
    return (b-a) / N * (sum ([f_opgave5(a + (b-a)*k/N) for k in range(1,N)]) )

    print area_under(f_opgave5, 0.1, 2.0 , 100000)

    # opgave 6
    def f(x):
        return math.sin(x**2)

    def area_under(f, a, b, N):
        return (b-a) / N * (sum ([f(a + (b-a)*k/N) for k in range(1,N)]) )

    print area_under(f, 0.0, math.pi , 100000)

    # nu laten we tekenen 
    x_all = []
    y_opgave4 = []
    y_opgave5 = []
    y_opgave6 = []
    for x in np.arange(-10,10,0.01):
       y4 = f_opgave4(x)
      y5 = f_opgave5(x)
      y6 = f(x)
     x_all.append(x)
     y_opgave4.append(y4)
     y_opgave5.append(y5)
      y_opgave6.append(y6)
    plt.plot(x_all, y_opgave4, 'g-')
    plt.show()
    plt.plot(x_all, y_opgave5, 'r-')
    plt.show()
    plt.plot(x_all, y_opgave6, 'b-')
    plt.show()

Tags: inimportforreturndefpltareamath
2条回答

哈利路亚 谢谢你,谢谢 这就是结局密码 但我还是有个问题 我需要在同一个窗口中绘制所有函数 现在一切都很好,但我有错误(双标量) 但是我不能使用相同的x范围值或者所有的f 如果你试着这样做(我指的是一个x列表),图形将不清晰,因为(c^x)上升太快,这将使y轴变大,结果另一个f函数将显示为直线

    # -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np 
import math
    # opgave 4
def f_opgave4 (x):
    return x**x

    def opp_under(f, a, b, N):
    return (b-a) / N * (sum ([f_opgave4(a + (b-a)*k/N) for k in range(1,N)]) )

print opp_under(f_opgave4, 0.0, 1.0, 100000)

# opgave 5
def f_opgave5(x):
    return math.sin(x)

def areaa_under(f, a, b, N):
    return (b-a) / N * (sum ([abs(f_opgave5(a + (b-a)*k/N)) for k in range(1,N)]) )

    print areaa_under(f_opgave5, 0.1, 2.0 , 100000)

# opgave 6
def f(x):
        return math.sin(x**2)

def area_under(f, a, b, N):
    return (b-a) / N * (sum ([abs(f_opgave5(a + (b-a)*k/N)) for k in range(1,N)]) )

print area_under(f, 0.0, math.pi , 100000)

# nu laten we tekenen 
    x1_all = []
y_opgave4 = []
for x in np.arange(-2,2,0.01):
    y4 = f_opgave4(x)
        x1_all.append(x)
    y_opgave4.append(y4)

plt.plot(x1_all, y_opgave4, 'r')

x2_all = []
y_opgave5 = []
y_opgave6 = []
    for x in np.arange(-4,4,0.01):
    y5 = f_opgave5(x)
    y6 = f(x)
    x2_all.append(x)
        y_opgave5.append(y5)
    y_opgave6.append(y6)

plt.plot(x2_all, y_opgave5, 'b', x2_all, y_opgave6, 'g')

plt.axvline(x=0.,color='k',ls='dashed')
plt.axhline(y=0.,color='k',ls='dashed')
for line in [0,0.1,2,math.pi]:
        plt.axvline(x=line ,color='y',ls='dashed')
plt.text( 2, 3.5, " $f(x)=x^x$  ", color = 'red', fontsize = 20) 
plt.text( 1.2, 1.2, " $f(x)= sin(x)$  ", color = 'blue', fontsize = 20) 
plt.text( -3.8, 1.5, " $f(x)=sin(x^2)$  ", color = 'green', fontsize = 20) 
    plt.show()
plt.plot(x_all, y_opgave4, 'ro', x_all, y_opgave5, 'bo', x_all, y_opgave6, 'go')
plt.show()

相关问题 更多 >

    热门问题