Как построить несколько субплотов с использованием Python - PullRequest
0 голосов
/ 27 сентября 2019

У меня проблема с тем, что мне дали изображение, и мне пришлось воссоздать это изображение, используя python и matplotlib, sklearn, numpy.Вот изображение:

Result Wanted Picture

Вот код, который я написал на python:

import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
import numpy as np

iris = load_iris()
print(type(iris))
print(iris['target_names'])
print(iris['data'])
print(iris['target'])
print(iris['DESCR'])
print(iris['feature_names'])

fig = plt.figure()
ax1 = plt.subplot(2, 1, 1)
ax2 = plt.subplot(2, 1, 2)


iris = load_iris()
data = np.array(iris['data'])
targets = np.array(iris['target'])

cd = {0: 'r', 1: 'b', 2: 'g'}

cols = np.array([cd[target] for target in targets])

ax1.scatter(data[:, 0], data[:, 1], c=cols)
ax2.scatter(data[:, 0], data[:, 2], c=cols)
plt.show()

Я полностью потерян и мне действительно нужна помощьпройди мимо этого, я получу только первые 2 подзаговора.Любой совет был бы очень полезен, так как я пытался выяснить это несколько дней назад.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Вот пример

from matplotlib import pyplot as plt 
import numpy as np

x = np.linspace(-5, 5, 10)
y = np.random.rand(10)

fig, ax = plt.subplots(nrows=4, ncols=3, figsize=(8, 6))

# ax is a 2d array with shape (4, 3), it can be sliced just like a numpy array 

for row in range(4):
    for col in range(3):
        ax[row][col].scatter(x, y, c='color you want')

plt.show()
0 голосов
/ 27 сентября 2019

Один из способов получить фигуру с соответствующими подлотами:

fig, subs = plt.subplots(4,3)

. Subs - это двумерный массив аров, поэтому вы можете сделать:

subs[0][0].scatter(x,y)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...