Может ли скопление морских животных отрегулировать форму маркеров точек? - PullRequest
0 голосов
/ 26 мая 2020
  1. Я использовал функцию swarmplot в seaborn для построения графика разброса категорий. Но у меня есть два типа очков в каждой категории. Итак, я sh могу устанавливать разные типы точек на разные маркеры. Может ли роя морского рога корректировать форму маркера точек? Или я могу использовать другие инструменты

  2. Я обнаружил, что размер маркеров параметров можно настроить только в документе swarmplot. И я пробовала использовать оттенок. Но когда я использую оттенок, все категории представляют один и тот же цвет. Это не моя идея.

3.

# plot the manhattan map
snsplt =sns.swarmplot(x=scale,y=distance,marker='o')
plt.tick_params(labelsize=12)
# plot the significant line


bin = np.arange(-0.2,5.2,0.2)
y = np.full((len(bin),),distance[p_minsignIndex])
snsplt = sns.lineplot(x=bin,y=y)
plt.show()

Изображение - мой черновик.

I wi sh кружки над линией представляют собой закрашенные кружки, а кружки под линией - полые кружки.

1 Ответ

0 голосов
/ 27 мая 2020

Учитывая графики, которые вы показываете, кажется, что у вас есть две категории, происходящие одновременно:
1) позиция вдоль оси указывает на одну категорию - я назову это cat1; и,
2) вариации внутри каждой категории, и это то, что вы хотите показать маркером - я назову это cat2.

Безусловно, самые простые способы показать эти две категории вместе, чтобы использовать инструменты, данные вам seaborn, чтобы сделать это. В частности, на графиках вы идентифицируете cat1 двумя разными способами: сначала по его положению вдоль оси x, а затем по цвету. Итак, идея состоит в том, чтобы использовать позицию для cat1 и цвет для cat2. Кроме того, в комментариях ниже вы упоминаете, что хотите использовать маркеры для отображения статистической значимости, поэтому я выбрал палитру, которая с этим справляется. Вот пример, взятый из документации seaborn, но измененный, чтобы показать порог значимости (как вы просили):

import seaborn as sns
import numpy as np

tips['bigness'] = np.where(tips['total_bill']>15, 'big', 'small')
sns.swarmplot(x="day", y="total_bill", hue="bigness", data=tips, palette="Paired", hue_order=["small", "big"])

enter image description here

...