matplotlib에서 크기가 다른 두 그림을 결합하는 방법은 무엇입니까?

칼 생물 물리학

matplotlib에서 두 가지 다른 그림이 있습니다. 첫 번째는 시간에 따른 셀 크기를 보여줍니다.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import mahotas 
import random

fig,ax_curves = plt.subplots(figsize=(8,6))

for cell in range(1,11):

    ax_curves.set_ylim(0,100)
    ax_curves.set_xlim(0,25)
    ax_curves.set_xticks(np.arange(0,21))


    ax_curves.plot(np.arange(0,21), random.sample(range(40, 61), 21), label = str(cell))
    ax_curves.legend(loc='right',frameon=False)
    ax_curves.spines['right'].set_visible(False)
    ax_curves.spines['top'].set_visible(False)
    ax_curves.set_title('Curves')

plt.show()

두 번째는 서로 다른 시점에서 이러한 세포의 이미지를 보여줍니다.

fig, ax_images =plt.subplots(10,5,figsize=(9, 16))
columns = 5
rows = 10


for column in range(0, columns):

    cell = 1

    for row in range(0,rows):

        ax_images[row, column].axes.get_xaxis().set_visible(False)

        ax_images[row, column].tick_params(
                    axis='y',         
                    which='both',    
                    left=False,    
                    right=False,
                    labelleft=False)

        ax_images[row, 0].set_ylabel('Cell ' + str(cell), rotation = 0, color=tab10.colors[row])
        ax_images[row, 0].yaxis.set_label_coords(-0.4,0.5)

        if column == 0:
            plt.figtext(0.14 , 0.9, '0 hour',fontsize = 20)
            img = mahotas.imread('path/to/image_t0.tif')
        if column == 1:
            plt.figtext(0.28, 0.9, '5 hours',fontsize = 20)
            img = mahotas.imread('path/to/image_t5.tif')
        if column == 2:
            plt.figtext(0.44 , 0.9, '10 hours', fontsize = 20)
            img = mahotas.imread('path/to/image_t10.tif')
        if column == 3:
            plt.figtext(0.60, 0.9, '15 hours',fontsize = 20)
            img = mahotas.imread('path/to/image_t15.tif')
        if column == 4:
            plt.figtext(0.76 , 0.9, '20 hours', fontsize = 20)
            img = mahotas.imread('path/to/image_t20.tif')


        ax_images[row, column].imshow(img)

        cell = cell + 1

plt.figtext(0.5,0.95,'Cell size through time', fontsize = 20, horizontalalignment='center')
plt.show() 

이 두 그림을 "수집"하고 싶습니다 (첫 번째는 왼쪽에 있고 두 번째는 오른쪽에있는 예). 나는 여러 시간 동안 시도 GrisSpec하거나 add_subplot하지만, 당신은 당신이이 문제를 해결하는 단서가 있다면 알려 주시기 바랍니다 수 ... 실패?

친절하게 당신!

칼 생물 물리학

@gboffi의 답변 덕분에 내 문제를 해결할 수있었습니다.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import mahotas 
import random

f = plt.figure(figsize=(13,4))
ax_curves = f.add_axes((0.10,1.5, 0.33, 0.85))

for cell in range(1,11):

    ax_curves.set_ylim(0,100)
    ax_curves.set_xlim(0,30)
    ax_curves.set_xticks(np.arange(0,21,5))


    ax_curves.plot(np.arange(0,21), random.sample(range(40, 61), 21), label = 'Cell ' + str(cell))
    ax_curves.legend(loc='right',frameon=False)
    ax_curves.spines['right'].set_visible(False)
    ax_curves.spines['top'].set_visible(False)
    ax_curves.set_title('Curves')


for column in np.linspace(0.5, 0.9, 5):    


    cell = 1

    tab10 = matplotlib.cm.get_cmap('tab10')


    for row in np.linspace(2.8, 0.10, 10): 
    # LL corner, width, height in figure coordinates, 0 ≤ x,y,h,w ≤ 1
        ax_images = f.add_axes((column, row, 0.09, 0.27))

        ax_images.axes.get_xaxis().set_visible(False)

        ax_images.tick_params(
                    axis='y',          
                    which='both',     
                    left=False,     
                    right=False,
                    labelleft=False) 

        if column == 0.5:
            ax_images.set_ylabel('Cell ' + str(cell), rotation = 0, color=tab10.colors[cell-1])
            ax_images.yaxis.set_label_coords(-0.4,0.5)

        else :
            pass



        if column == 0.5:
            plt.figtext(column+0.01 , 3.1, '0 hour',fontsize = 20)
#             img = mahotas.imread('path/to/image_t0.tif')
        if column == 0.6:
            plt.figtext(column, 3.1, '5 hours',fontsize = 20)
#             img = mahotas.imread('path/to/image_t5.tif')
        if column == 0.7:
            plt.figtext(column , 3.1, '10 hours', fontsize = 20)
#             img = mahotas.imread('path/to/image_t10.tif')
        if column == 0.8:
            plt.figtext(column, 3.1, '15 hours',fontsize = 20)
#             img = mahotas.imread('path/to/image_t15.tif')
        if column == 0.9:
            plt.figtext(column , 3.1, '20 hours', fontsize = 20)
#             img = mahotas.imread('path/to/image_t20.tif')


#         ax[row, column].imshow(img)

        cell = cell + 1
plt.figtext(0.5,3.33,'Cell sizes through time', fontsize = 20, horizontalalignment='center')

당신의 도움을 주셔서 대단히 감사합니다 !!!

여기에 이미지 설명 입력

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다른 FP에서 기능을 결합하는 방법은 무엇입니까?

분류에서Dev

R에서 두 기능을 결합하는 방법은 무엇입니까?

분류에서Dev

쉘에서 행 수가 다른 두 파일을 병합하는 방법은 무엇입니까?

분류에서Dev

쉘에서 행 수가 다른 두 파일을 병합하는 방법은 무엇입니까?

분류에서Dev

두 개의 데이터 프레임을 서로 다른 크기의 행으로 결합하는 방법은 무엇입니까?

분류에서Dev

Keras에서 입력 크기가 다른 두 개의 LSTM 레이어를 결합하는 방법은 무엇입니까?

분류에서Dev

CSS에서 부모가 다른 두 요소를 결합하는 방법은 무엇입니까?

분류에서Dev

SQLite에서 두 개의 열을 다른 열로 결합하는 방법은 무엇입니까?

분류에서Dev

단일 POSIX 스레드에서 두 개의 서로 다른 대기 메커니즘을 결합하는 방법은 무엇입니까?

분류에서Dev

Plotly-Dash : 두 개의 서로 다른 데이터 프레임을 기반으로 그림을 만드는 방법은 무엇입니까?

분류에서Dev

ggplot2에서 그림에 다른 y 축을 추가하는 방법은 무엇입니까?

분류에서Dev

iOS의 CoreGraphic에서 두께가 다른 선을 그리는 방법은 무엇입니까?

분류에서Dev

열 번호가 다른 두 테이블을 결합하는 방법은 무엇입니까? mysql

분류에서Dev

길이가 다른 두 데이터 프레임을 결합하는 방법은 무엇입니까?

분류에서Dev

VBA에서 서로 다른 워크 시트의 두 값을 비교하는 방법은 무엇입니까?

분류에서Dev

동일한 div에 서로 다른 크기가 정렬 된 두 개의 수평선을 하나씩 배치하는 방법은 무엇입니까?

분류에서Dev

Jupyter Notebook의 다른 셀에서 matplotlib 그림을 변경하는 방법은 무엇입니까?

분류에서Dev

PHP를 사용하여 크기가 다른 두 배열을 비교하는 방법은 무엇입니까?

분류에서Dev

ggtern에서 크기가 다른 삼항 그래픽을 그리는 방법은 무엇입니까?

분류에서Dev

두 변수에 다른 무작위 목록을 할당하는 가장 짧은 방법은 무엇입니까?

분류에서Dev

Matplotlib 그림에서 한 줄에 다른 색상을 얻는 방법은 무엇입니까?

분류에서Dev

다른 열 값으로 한 줄에 두 가지 색상을 그리는 방법은 무엇입니까?

분류에서Dev

Android에서 두 가지 다른 값을 취하는 방법은 무엇입니까?

분류에서Dev

MODX에서 한 TV의 두 가지 다른 출력을 사용하는 방법은 무엇입니까?

분류에서Dev

동일한 이전 그림을 기반으로 두 개의 다른 그림을 만드는 방법은 무엇입니까?

분류에서Dev

라 라벨 몰틴 카트에 크기가 다른 동일한 ID의 제품을 두 개 이상 추가하는 방법은 무엇입니까?

분류에서Dev

크기가 다른 두 배열의 동일한 행을 찾는 방법은 무엇입니까?

분류에서Dev

Opencart에서 제품 크기가 다른 목록을 추가하는 방법은 무엇입니까?

분류에서Dev

Opencart에서 제품 크기가 다른 목록을 추가하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    다른 FP에서 기능을 결합하는 방법은 무엇입니까?

  2. 2

    R에서 두 기능을 결합하는 방법은 무엇입니까?

  3. 3

    쉘에서 행 수가 다른 두 파일을 병합하는 방법은 무엇입니까?

  4. 4

    쉘에서 행 수가 다른 두 파일을 병합하는 방법은 무엇입니까?

  5. 5

    두 개의 데이터 프레임을 서로 다른 크기의 행으로 결합하는 방법은 무엇입니까?

  6. 6

    Keras에서 입력 크기가 다른 두 개의 LSTM 레이어를 결합하는 방법은 무엇입니까?

  7. 7

    CSS에서 부모가 다른 두 요소를 결합하는 방법은 무엇입니까?

  8. 8

    SQLite에서 두 개의 열을 다른 열로 결합하는 방법은 무엇입니까?

  9. 9

    단일 POSIX 스레드에서 두 개의 서로 다른 대기 메커니즘을 결합하는 방법은 무엇입니까?

  10. 10

    Plotly-Dash : 두 개의 서로 다른 데이터 프레임을 기반으로 그림을 만드는 방법은 무엇입니까?

  11. 11

    ggplot2에서 그림에 다른 y 축을 추가하는 방법은 무엇입니까?

  12. 12

    iOS의 CoreGraphic에서 두께가 다른 선을 그리는 방법은 무엇입니까?

  13. 13

    열 번호가 다른 두 테이블을 결합하는 방법은 무엇입니까? mysql

  14. 14

    길이가 다른 두 데이터 프레임을 결합하는 방법은 무엇입니까?

  15. 15

    VBA에서 서로 다른 워크 시트의 두 값을 비교하는 방법은 무엇입니까?

  16. 16

    동일한 div에 서로 다른 크기가 정렬 된 두 개의 수평선을 하나씩 배치하는 방법은 무엇입니까?

  17. 17

    Jupyter Notebook의 다른 셀에서 matplotlib 그림을 변경하는 방법은 무엇입니까?

  18. 18

    PHP를 사용하여 크기가 다른 두 배열을 비교하는 방법은 무엇입니까?

  19. 19

    ggtern에서 크기가 다른 삼항 그래픽을 그리는 방법은 무엇입니까?

  20. 20

    두 변수에 다른 무작위 목록을 할당하는 가장 짧은 방법은 무엇입니까?

  21. 21

    Matplotlib 그림에서 한 줄에 다른 색상을 얻는 방법은 무엇입니까?

  22. 22

    다른 열 값으로 한 줄에 두 가지 색상을 그리는 방법은 무엇입니까?

  23. 23

    Android에서 두 가지 다른 값을 취하는 방법은 무엇입니까?

  24. 24

    MODX에서 한 TV의 두 가지 다른 출력을 사용하는 방법은 무엇입니까?

  25. 25

    동일한 이전 그림을 기반으로 두 개의 다른 그림을 만드는 방법은 무엇입니까?

  26. 26

    라 라벨 몰틴 카트에 크기가 다른 동일한 ID의 제품을 두 개 이상 추가하는 방법은 무엇입니까?

  27. 27

    크기가 다른 두 배열의 동일한 행을 찾는 방법은 무엇입니까?

  28. 28

    Opencart에서 제품 크기가 다른 목록을 추가하는 방법은 무엇입니까?

  29. 29

    Opencart에서 제품 크기가 다른 목록을 추가하는 방법은 무엇입니까?

뜨겁다태그

보관