matplotlib의 등고선 플롯에서 조건부 함수 변경

리가이

2 변수 함수 Z (X, Y)를 사용하여 등고선도를 생성하고 싶습니다. 그러나 X가 특정 값보다 작거나 클 때 함수를 변경하는 조건을 부과하고 싶습니다. 이러한 변경을 통해 한 plt.contour줄만 사용할 수 있습니다 (즉 , 두 개의 개별 플로팅 명령 줄을 사용하는 두 개의 개별적으로 정의 된 함수를 만들고 싶지 않습니다 ).
나는 계속해서 (내가 믿는 것) 진실 / 논리적 오류에 부딪친 다. 내 생각 엔 numpy meshgrid의 일부 측면이 함수의 조건부 "스위치"를 준수하지 않는다는 것입니다. 아래 첨부는 전체 Traceback 오류와 함께 개념을 표시하는 짧은 코드입니다. 불분명 한 것이 있거나 제공 한 내용이 내 문제를 설명하기에 충분하지 않은 경우 아래에 자유롭게 의견을 말하십시오.

import numpy as np
import matplotlib.pyplot as plt


X = np.linspace(0,50,100)
Y = np.linspace(0,50,100)
X, Y = np.meshgrid(X,Y)


def z(x,y):

    if x < 20:
        return np.sin(x) + np.cos(y)
    
    else:
        return np.tan(x * y)


Z = z(X,Y)


plt.contourf(X, Y, Z)
plt.xlabel('x')
plt.ylabel('y')
plt.colorbar()
ValueError                                Traceback (most recent call last)
<ipython-input-29-7e200be093e6> in <module>
     16 
     17 
---> 18 Z = z(X,Y)
     19 
     20 plt.figure(figsize=(8,6))

<ipython-input-29-7e200be093e6> in z(x, y)
      9 
     10 def z(x,y):
---> 11     if x < 20:
     12         return np.sin(x) + np.cos(y)
     13 

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()```
Konqui

간단히 사용할 수 있습니다 numpy.where().
통과해야합니다 :

  • 첫 번째 매개 변수로서의 조건
  • 두 번째 매개 변수로 해당 조건이 참인 경우 선택할 값
  • 세 번째 매개 변수로 해당 조건이 false 인 경우 선택할 값

이런 식으로 z()함수는 다음과 같습니다.

def z(x, y):
    return np.where(x < 20,
                    np.sin(x) + np.cos(y),
                    np.tan(x*y))

생성 된 플롯 :

여기에 이미지 설명 입력

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

matplotlib에서 최소 제곱 추정 함수의 등고선 플롯 그리기

분류에서Dev

matplotlib 등고선 플롯에서 특정 경로 추출

분류에서Dev

mgcv의 vis.gam에서 등고선 플롯의 색상 변경

분류에서Dev

환경 변수에 값을 설정하고 Jenkins의 조건부 플러그인에서 사용

분류에서Dev

파이썬에서 등고선 플롯 위에 점의 수렴 플로팅

분류에서Dev

bayesboot 함수의 플롯에서 xlab을 변경하십시오.

분류에서Dev

Pyplot에서 이미 플롯 된 플롯의 선 너비를 어떻게 변경할 수 있습니까?

분류에서Dev

MATLAB 2015에서 등고선 플롯에 몇 가지 변경

분류에서Dev

R의 열에서 조건부 변경

분류에서Dev

서브 플롯의 한 틱에서만 matplotlib를 사용하여 트리 플롯의 소수 자릿수 변경

분류에서Dev

Matplotlib 챌린지-등고선 맵에서 선 스타일 변경

분류에서Dev

플롯에서 등고선 플롯을 3 차원 표면으로 변경

분류에서Dev

C # Unity 용 함수 내에서 if 문의 조건 변경

분류에서Dev

matplotlib의 모든 플롯에서 사용할 기본 부울 매개 변수를 선언하는 방법은 무엇입니까?

분류에서Dev

렌더링 함수 내부에 조건을 설정하고 상태를 변경합니다.

분류에서Dev

lognorm을 사용한 matplotlib 등고선 플롯-컬러 바 수준

분류에서Dev

등고선 플롯 이변 량 로그 정규 밀도 함수 파이썬

분류에서Dev

Xmgrace의 등고선 플롯

분류에서Dev

Xmgrace의 등고선 플롯

분류에서Dev

한 번에 모든 서브 플롯의 선 스타일 변경

분류에서Dev

R에 대한 플롯의 등고선 플롯에서 범례 제거

분류에서Dev

R에서 등고선도의 컬러 맵 변경

분류에서Dev

MATLAB에서 플롯의 눈금 레이블 수 변경

분류에서Dev

R의 등고선 플롯 컬러 바에서 눈금 레이블의 글꼴 크기를 변경하는 방법은 무엇입니까?

분류에서Dev

R-변수의 값을 사용하여 다른 변수에서 여러 값을 조건부로 선택

분류에서Dev

R에서 플롯 함수의 선 두께

분류에서Dev

Matlab 2014b에서 등고선 플롯의 z 값 이동

분류에서Dev

가변 템플릿과 함께 조건부 정의 사용

분류에서Dev

데이터 프레임의 숫자 변수에 대해서만 조건부로 값 변경

Related 관련 기사

  1. 1

    matplotlib에서 최소 제곱 추정 함수의 등고선 플롯 그리기

  2. 2

    matplotlib 등고선 플롯에서 특정 경로 추출

  3. 3

    mgcv의 vis.gam에서 등고선 플롯의 색상 변경

  4. 4

    환경 변수에 값을 설정하고 Jenkins의 조건부 플러그인에서 사용

  5. 5

    파이썬에서 등고선 플롯 위에 점의 수렴 플로팅

  6. 6

    bayesboot 함수의 플롯에서 xlab을 변경하십시오.

  7. 7

    Pyplot에서 이미 플롯 된 플롯의 선 너비를 어떻게 변경할 수 있습니까?

  8. 8

    MATLAB 2015에서 등고선 플롯에 몇 가지 변경

  9. 9

    R의 열에서 조건부 변경

  10. 10

    서브 플롯의 한 틱에서만 matplotlib를 사용하여 트리 플롯의 소수 자릿수 변경

  11. 11

    Matplotlib 챌린지-등고선 맵에서 선 스타일 변경

  12. 12

    플롯에서 등고선 플롯을 3 차원 표면으로 변경

  13. 13

    C # Unity 용 함수 내에서 if 문의 조건 변경

  14. 14

    matplotlib의 모든 플롯에서 사용할 기본 부울 매개 변수를 선언하는 방법은 무엇입니까?

  15. 15

    렌더링 함수 내부에 조건을 설정하고 상태를 변경합니다.

  16. 16

    lognorm을 사용한 matplotlib 등고선 플롯-컬러 바 수준

  17. 17

    등고선 플롯 이변 량 로그 정규 밀도 함수 파이썬

  18. 18

    Xmgrace의 등고선 플롯

  19. 19

    Xmgrace의 등고선 플롯

  20. 20

    한 번에 모든 서브 플롯의 선 스타일 변경

  21. 21

    R에 대한 플롯의 등고선 플롯에서 범례 제거

  22. 22

    R에서 등고선도의 컬러 맵 변경

  23. 23

    MATLAB에서 플롯의 눈금 레이블 수 변경

  24. 24

    R의 등고선 플롯 컬러 바에서 눈금 레이블의 글꼴 크기를 변경하는 방법은 무엇입니까?

  25. 25

    R-변수의 값을 사용하여 다른 변수에서 여러 값을 조건부로 선택

  26. 26

    R에서 플롯 함수의 선 두께

  27. 27

    Matlab 2014b에서 등고선 플롯의 z 값 이동

  28. 28

    가변 템플릿과 함께 조건부 정의 사용

  29. 29

    데이터 프레임의 숫자 변수에 대해서만 조건부로 값 변경

뜨겁다태그

보관