Matplotlib의 y 값에 따라 선 그래프의 일부를 다른 색상으로 만들기

Mimsy42

나는 임의의 데이터 목록을 가져 와서 플롯하는 프로그램을 만들고 있습니다. 특정 값을 초과하면 그래프의 색상이 변경되기를 원합니다.

https://matplotlib.org/gallery/lines_bars_and_markers/multicolored_line.html Matplotlib에는이 작업을 수행하는 항목이 있지만 목록을 사용하지 않는 그래프에 대한 입력으로 함수를 사용해야하는 것 같습니다.

누구든지 이것을 목록으로 변환하거나 다른 방법으로 변환하는 방법을 알고 있습니까?

여기에 지금까지 내 코드가 있습니다 (색을 칠하려는 끔찍한 시도가 없었습니다)

from matplotlib import pyplot as plt
import random
import sys
import numpy as np

#setting the max and min values where I want the colour to change
A_min = 2
B_max = 28

#makes lists for later
A_min_lin = []
B_max_lin = []

#simulating a corruption of the data where it returns all zeros
sim_crpt = random.randint(0,10)
print(sim_crpt)
randomy = []
if sim_crpt == 0:
    randomy = []
    #making the empty lists for corrupted data
    for i in range(0,20):
        randomy.append(0)
    print(randomy)
else:
    #making a random set of values for the y axis
    for i in range(0,20):
        n = random.randint(0,30)
        randomy.append(n)
    print(randomy)


#making an x axis for time
time = t = np.arange(0, 20, 1)

#Making a list to plot a straight line showing where the maximum and minimum values
for i in range(0, len(time)):
    A_min_lin.append(A_min)
    B_max_lin.append(B_max)


#Testing to see if more than 5 y values are zero to return if it's corrupted
tracker = 0
for i in (randomy):
    if i == 0:
        tracker += 1
    if tracker > 5:
        sys.exit("Error, no data")

#ploting and showing the different graphs
plt.plot(time,randomy)
plt.plot(time,A_min_lin)
plt.plot(time,B_max_lin)
plt.legend(['Data', 'Minimum for linear', "Maximum for linear"])
plt.show
꽝황

np.interp플로팅 할 세분화 된 데이터를 생성하는 데 사용할 수 있습니다 .

# fine grain time
new_time = np.linspace(time.min(), time.max(), 1000)

# interpolate the y values
new_randomy = np.interp(new_time, time, randomy)

# this is copied from the link with few modification
points = np.array([new_time, new_randomy]).T.reshape(-1, 1, 2)
segments = np.concatenate([points[:-1], points[1:]], axis=1)

fig, axs = plt.subplots()
norm = plt.Normalize(new_randomy.min(), new_randomy.max())
lc = LineCollection(segments, cmap='viridis', norm=norm)
# Set the values used for colormapping
lc.set_array(new_randomy[1:])
lc.set_linewidth(2)
line = axs.add_collection(lc)
fig.colorbar(line, ax=axs)

# set the limits
axs.set_xlim(new_time.min(), new_time.max())
axs.set_ylim(new_randomy.min(), new_randomy.max())
plt.show()

산출:

여기에 이미지 설명 입력

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

y 값에 따라 색상이 다른 Python의 (x, y) 그래프

분류에서Dev

r의 곡선을 따라 다른 y 값 찾기

분류에서Dev

다른 열 R의 다른 값에 따라 새 열 만들기

분류에서Dev

선행 값에 따라 일련의 값을 그룹으로 바꿉니다.

분류에서Dev

Excel에서 서로 다른 값으로 두 개의 Y 축이있는 그래프를 만드는 방법

분류에서Dev

Pandas DataFrame의 기준에 따라 선택된 Numpy 배열의 값으로 벡터를 만듭니다.

분류에서Dev

다른 열의 일부 값으로 열 만들기-조건부

분류에서Dev

D3에서 다른 색상의 선 패치 만들기

분류에서Dev

다른 색상의 세그먼트로 Y 축 선 그리기

분류에서Dev

다른 셀의 조건부 서식에 따라 필수 셀 만들기 2 부

분류에서Dev

다른 DropDownList의 선택에 따라 DropdownList를 동적으로 채 웁니다.

분류에서Dev

Symfony 5의 다른 필드에있는 사용자 선택 값에 따라 동적으로 필드 채우기

분류에서Dev

다른 열의 일부 기준에 따라 자동으로 열 채우기

분류에서Dev

R Shiny의 다른 선택에 따라 두 개의 selectInput 상자를 동적으로 업데이트

분류에서Dev

동적으로 열 이름 선택 (다른 테이블 행의 값에 따라)

분류에서Dev

MongoDB의 다른 필드에 따라 필드를 선택적으로 반환

분류에서Dev

Vega 막대 차트의 그래프 값에 따라 다중 색상 표시

분류에서Dev

속성 값을 기반으로 꺾은 선형 차트의 세로선에 다른 색상 할당

분류에서Dev

MVC는 항목의 값에 따라 기본적으로 선택됩니다.

분류에서Dev

Matlab : 2 개의 다른 행렬 값에 따라 RGB 행렬 만들기

분류에서Dev

지정된 프로젝트 폴더의 클래스 파일에 따라 동적으로 개체 만들기

분류에서Dev

다른 단어의 존재에 따라 새 열 만들기

분류에서Dev

다른 열의 조건에 따라 새 열 만들기

분류에서Dev

다른 열 R의 조건에 따라 함수 만들기

분류에서Dev

Python에서 R 플롯 다시 만들기-세 번째 값의 범위에 따라 색상 변경

분류에서Dev

다른 셀의 값에 따라 글꼴 색상의 조건부 변경

분류에서Dev

다른 열 값의 일부를 기반으로 하나의 핫 인코딩 열 만들기

분류에서Dev

R 프로그래밍 : 다른 열의 값을 기반으로 분할 문자열에서 요소 선택

분류에서Dev

동일한 경로를 두 번 선언하지만 미들웨어에 따라 다른 동작을 예상

Related 관련 기사

  1. 1

    y 값에 따라 색상이 다른 Python의 (x, y) 그래프

  2. 2

    r의 곡선을 따라 다른 y 값 찾기

  3. 3

    다른 열 R의 다른 값에 따라 새 열 만들기

  4. 4

    선행 값에 따라 일련의 값을 그룹으로 바꿉니다.

  5. 5

    Excel에서 서로 다른 값으로 두 개의 Y 축이있는 그래프를 만드는 방법

  6. 6

    Pandas DataFrame의 기준에 따라 선택된 Numpy 배열의 값으로 벡터를 만듭니다.

  7. 7

    다른 열의 일부 값으로 열 만들기-조건부

  8. 8

    D3에서 다른 색상의 선 패치 만들기

  9. 9

    다른 색상의 세그먼트로 Y 축 선 그리기

  10. 10

    다른 셀의 조건부 서식에 따라 필수 셀 만들기 2 부

  11. 11

    다른 DropDownList의 선택에 따라 DropdownList를 동적으로 채 웁니다.

  12. 12

    Symfony 5의 다른 필드에있는 사용자 선택 값에 따라 동적으로 필드 채우기

  13. 13

    다른 열의 일부 기준에 따라 자동으로 열 채우기

  14. 14

    R Shiny의 다른 선택에 따라 두 개의 selectInput 상자를 동적으로 업데이트

  15. 15

    동적으로 열 이름 선택 (다른 테이블 행의 값에 따라)

  16. 16

    MongoDB의 다른 필드에 따라 필드를 선택적으로 반환

  17. 17

    Vega 막대 차트의 그래프 값에 따라 다중 색상 표시

  18. 18

    속성 값을 기반으로 꺾은 선형 차트의 세로선에 다른 색상 할당

  19. 19

    MVC는 항목의 값에 따라 기본적으로 선택됩니다.

  20. 20

    Matlab : 2 개의 다른 행렬 값에 따라 RGB 행렬 만들기

  21. 21

    지정된 프로젝트 폴더의 클래스 파일에 따라 동적으로 개체 만들기

  22. 22

    다른 단어의 존재에 따라 새 열 만들기

  23. 23

    다른 열의 조건에 따라 새 열 만들기

  24. 24

    다른 열 R의 조건에 따라 함수 만들기

  25. 25

    Python에서 R 플롯 다시 만들기-세 번째 값의 범위에 따라 색상 변경

  26. 26

    다른 셀의 값에 따라 글꼴 색상의 조건부 변경

  27. 27

    다른 열 값의 일부를 기반으로 하나의 핫 인코딩 열 만들기

  28. 28

    R 프로그래밍 : 다른 열의 값을 기반으로 분할 문자열에서 요소 선택

  29. 29

    동일한 경로를 두 번 선언하지만 미들웨어에 따라 다른 동작을 예상

뜨겁다태그

보관