python matplotlib : x 값만 알고있는 곡선에 점 표시를 어떻게 추가 할 수 있습니까?

user3075021

예를 들어, matplotlib에서 몇 개의 점을 기반으로 간단한 곡선을 그립니다.

from matplotlib import pyplot as plt
import numpy as np

x=[0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2,
       1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2, 2.3, 2.4, 2.5,
       2.6, 2.7, 2.8, 2.9]
y=[0.0, 0.19, 0.36, 0.51, 0.64, 0.75, 0.8400000000000001, 0.91, 0.96, 0.99, 1.0, 
   0.99, 0.96, 0.9099999999999999, 0.8399999999999999, 0.75, 0.6399999999999997, 
   0.5099999999999998, 0.3599999999999999, 0.18999999999999995, 0.0, 
   -0.20999999999999996, -0.4400000000000004, -0.6900000000000004, 
   -0.9600000000000009, -1.25, -1.5600000000000005, -1.8900000000000006, 
   -2.240000000000001, -2.610000000000001]

plt.plot(x,y)
plt.show()

가정적으로 x 값이 0.25 인 곡선에서 점을 강조하고 싶지만이 점의 y 값을 모릅니다. 어떻게해야합니까?

sciroccorics

가장 쉬운 해결책은 제공된 x 값에 대해 인접한 점 사이에 선형 보간을 수행하는 것입니다. 다음은 일반적인 원칙을 보여주는 샘플 코드입니다.

X=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2,
   1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2, 2.3, 2.4, 2.5,
   2.6, 2.7, 2.8, 2.9]
Y=[0.0, 0.19, 0.36, 0.51, 0.64, 0.75, 0.8400000000000001, 0.91, 0.96,
   0.99, 1.0, 0.99, 0.96, 0.9099999999999999, 0.8399999999999999, 0.75,
   0.6399999999999997, 0.5099999999999998, 0.3599999999999999,
   0.18999999999999995, 0.0, -0.20999999999999996, -0.4400000000000004,
   -0.6900000000000004, -0.9600000000000009, -1.25, -1.5600000000000005,
   -1.8900000000000006, -2.240000000000001, -2.610000000000001]

def interpolate(X, Y, xval):
    for n, x in enumerate(X):
        if x > xval: break
    else: return None # xval > last x value
    if n == 0: return None # xval < first x value
    xa, xb = X[n-1], X[n] # get surrounding x values
    ya, yb = Y[n-1], Y[n] # get surrounding y values
    if xb == xa: return ya # 
    return ya + (xval - xa) * (yb - ya) / (xb - xa) # compute yval by interpolation

print(interpolate(X, Y, 0.25)) # --> 0.435 
print(interpolate(X, Y, 0.85)) # --> 0.975
print(interpolate(X, Y, 2.15)) # --> -0.3259999999999997
print(interpolate(X, Y, -1.0)) # --> None (out of bounds)
print(interpolate(X, Y, 3.33)) # --> None (out of bounds)

참고 : 제공된 xval값이 x 값 범위 내에 있지 않으면 함수는None

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

(x, y) 좌표를 일부 값에 어떻게 할당 할 수 있습니까?

분류에서Dev

SwiftUI WKWebView에 활동 표시기를 어떻게 추가 할 수 있습니까?

분류에서Dev

JList에 표시 할 수있는 행 수를 어떻게 알 수 있습니까?

분류에서Dev

Spirit X3에서 조건부 기대 점을 어떻게 추가 할 수 있습니까?

분류에서Dev

Laravel의 json 값에서 점수를 어떻게 계산할 수 있습니까?

분류에서Dev

모서리에서 x, y 곡선을 어떻게 만들 수 있습니까?

분류에서Dev

모서리에서 x, y 곡선을 어떻게 만들 수 있습니까?

분류에서Dev

열릴 때 경고를 표시하기 위해 pdf에 javascript를 어떻게 추가 할 수 있습니까?

분류에서Dev

CSS에서 점선 화살표를 어떻게 만들 수 있습니까?

분류에서Dev

UndoableEditListener를 JTable 셀에 어떻게 추가 할 수 있습니까?

분류에서Dev

matplotlib에서 자동으로 선택한 x 눈금 값의 경계를 어떻게 조정할 수 있습니까?

분류에서Dev

데이터 프레임의 기존 값에 쉼표를 어떻게 추가 할 수 있습니까? 판다

분류에서Dev

좌표 만 알고있을 때 Tkinter 캔버스에서 개체를 어떻게 이동할 수 있습니까?

분류에서Dev

두 점 사이에서 x 또는 y를 어떻게 구할 수 있습니까?

분류에서Dev

mschart에서 여러 x 축을 어떻게 추가 할 수 있습니까?

분류에서Dev

시작 응용 프로그램에 날씨 표시기를 어떻게 추가 할 수 있습니까?

분류에서Dev

Observablearray에 검증 메시지를 어떻게 추가 할 수 있습니까?

분류에서Dev

Observablearray에 검증 메시지를 어떻게 추가 할 수 있습니까?

분류에서Dev

Esper 쿼리에 시간대를 어떻게 추가 할 수 있습니까?

분류에서Dev

어떻게 필수 필드를 알고있는 자바 클래스에 JSON을 역 직렬화 할 수 있지만, 몇 가지 알 수없는 필드가 할 수 있습니까?

분류에서Dev

값이 테이블에있는 경우 어떻게 메시지를 표시 할 수 있습니까?

분류에서Dev

ModelForm에 암호 자리 표시자를 어떻게 추가 할 수 있습니까?

분류에서Dev

SQL에서이 문자열의 추가 자리 표시자를 어떻게 제거 할 수 있습니까?

분류에서Dev

Google지도를 표시 / 숨기기 위해 reactJs에 스타일을 어떻게 추가 할 수 있습니까?

분류에서Dev

ProgressBar의 진행률 줄 끝에 간단한 모양 표시기를 어떻게 추가 할 수 있습니까?

분류에서Dev

왜곡이 최소화되도록 다각형에서 뺄 정점 세트를 어떻게 선택할 수 있습니까?

분류에서Dev

이 알림 표시 줄은 무엇이며 어떻게 내 앱에 추가 할 수 있습니까?

분류에서Dev

이 점프를 어떻게 개선 할 수 있습니까? 파이 게임

분류에서Dev

URL에 ë 문자를 어떻게 표시 할 수 있습니까?

Related 관련 기사

  1. 1

    (x, y) 좌표를 일부 값에 어떻게 할당 할 수 있습니까?

  2. 2

    SwiftUI WKWebView에 활동 표시기를 어떻게 추가 할 수 있습니까?

  3. 3

    JList에 표시 할 수있는 행 수를 어떻게 알 수 있습니까?

  4. 4

    Spirit X3에서 조건부 기대 점을 어떻게 추가 할 수 있습니까?

  5. 5

    Laravel의 json 값에서 점수를 어떻게 계산할 수 있습니까?

  6. 6

    모서리에서 x, y 곡선을 어떻게 만들 수 있습니까?

  7. 7

    모서리에서 x, y 곡선을 어떻게 만들 수 있습니까?

  8. 8

    열릴 때 경고를 표시하기 위해 pdf에 javascript를 어떻게 추가 할 수 있습니까?

  9. 9

    CSS에서 점선 화살표를 어떻게 만들 수 있습니까?

  10. 10

    UndoableEditListener를 JTable 셀에 어떻게 추가 할 수 있습니까?

  11. 11

    matplotlib에서 자동으로 선택한 x 눈금 값의 경계를 어떻게 조정할 수 있습니까?

  12. 12

    데이터 프레임의 기존 값에 쉼표를 어떻게 추가 할 수 있습니까? 판다

  13. 13

    좌표 만 알고있을 때 Tkinter 캔버스에서 개체를 어떻게 이동할 수 있습니까?

  14. 14

    두 점 사이에서 x 또는 y를 어떻게 구할 수 있습니까?

  15. 15

    mschart에서 여러 x 축을 어떻게 추가 할 수 있습니까?

  16. 16

    시작 응용 프로그램에 날씨 표시기를 어떻게 추가 할 수 있습니까?

  17. 17

    Observablearray에 검증 메시지를 어떻게 추가 할 수 있습니까?

  18. 18

    Observablearray에 검증 메시지를 어떻게 추가 할 수 있습니까?

  19. 19

    Esper 쿼리에 시간대를 어떻게 추가 할 수 있습니까?

  20. 20

    어떻게 필수 필드를 알고있는 자바 클래스에 JSON을 역 직렬화 할 수 있지만, 몇 가지 알 수없는 필드가 할 수 있습니까?

  21. 21

    값이 테이블에있는 경우 어떻게 메시지를 표시 할 수 있습니까?

  22. 22

    ModelForm에 암호 자리 표시자를 어떻게 추가 할 수 있습니까?

  23. 23

    SQL에서이 문자열의 추가 자리 표시자를 어떻게 제거 할 수 있습니까?

  24. 24

    Google지도를 표시 / 숨기기 위해 reactJs에 스타일을 어떻게 추가 할 수 있습니까?

  25. 25

    ProgressBar의 진행률 줄 끝에 간단한 모양 표시기를 어떻게 추가 할 수 있습니까?

  26. 26

    왜곡이 최소화되도록 다각형에서 뺄 정점 세트를 어떻게 선택할 수 있습니까?

  27. 27

    이 알림 표시 줄은 무엇이며 어떻게 내 앱에 추가 할 수 있습니까?

  28. 28

    이 점프를 어떻게 개선 할 수 있습니까? 파이 게임

  29. 29

    URL에 ë 문자를 어떻게 표시 할 수 있습니까?

뜨겁다태그

보관