График одного и того же нескольких значений против различных значений у - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть матрица с нулями и единицами.Я хочу сделать сюжет, чтобы увидеть, какая часть имеет какие спецификации.Я сделал небольшой пример того, как выглядит моя матрица.В настоящее время я просто делаю это, но я знаю, что это неправильно, и не мог понять, как я могу построить Продукты на оси x и Спецификации на оси y (или другим способом).Я хочу посмотреть, как мое распределение спецификаций для всех моих частей.Я попробовал это с точечной диаграммой, но она не работает, так как число x и y не совпадает.Если вопрос недостаточно ясен, пожалуйста, попросите меня исправить, так как мой английский не самый лучший.Я не хочу целый код, я не смог найти пример для своего случая, поэтому я задал этот вопрос.

#after my import I filled the NaN with zeros
data=data.fillna(0)
pn=data.iloc[:,0]
specs=data.iloc[:,1:6]
plt.scatter(specs,pn)

enter image description here

Обновление:

Что могло бы помочь, это тепловая карта или что-то еще, где я могу видеть распределение как частовозникает одна спецификация, как на картинке ниже.enter image description here

1 Ответ

0 голосов
/ 13 ноября 2018

Это может помочь вам начать. Спасибо за обновление вашего вопроса. Я сильно опирался на seaborn, pandas и numpy.

https://seaborn.pydata.org/generated/seaborn.heatmap.html

import numpy as np
import seaborn as sns

np.random.seed(0)
data = np.random.randint(2, size=100).reshape(10,10)
ax = sns.heatmap(data)

Это создает массив 10x10 из 1 и 0.

[[0 1 1 0 1 1 1 1 1 1]
 [1 0 0 1 0 0 0 0 0 1]
 [0 1 1 0 0 1 1 1 1 0]
 [1 0 1 0 1 1 0 1 1 0]
 [0 1 0 1 1 1 1 1 0 1]
 [0 1 1 1 1 0 1 0 0 1]
 [1 0 1 0 1 0 0 0 0 0]
 [1 1 0 0 0 1 1 0 1 0]
 [0 1 0 1 1 1 1 1 1 0]
 [1 1 0 0 1 0 0 1 1 0]]

Вот тепловая карта:

heatmap

Вы также можете суммировать, используя numpy или pandas.

import matplotlib.pyplot as plt
df = pd.DataFrame(data)
df.sum(axis=1).plot(kind="bar")
plt.show()

Выход:

pandas bar plot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...