Могу ли я создавать точечные / рассеянные точечные графики без наложений с Matplotlib? - PullRequest
0 голосов
/ 26 июня 2018

Я хотел бы представить отдельные точки данных (значения NMSE для ряда экспериментов, скажем, в двух категориях), аналогичные блочному графику, и я хочу показать все отдельные точки данных.Предполагая, что основное направление данных перевернуто, точечный (разбросанный) точечный график - это хороший способ слегка сместить точки данных в стороны, чтобы избежать наложения точек.Для визуализации этой идеи, проверьте Поиск картинок Google или эту статью .

Я нашел и прочитал Добавление разброса точек к блокпосту с помощьюmatplotlib , но это решение включает добавление случайного шума независимо от данных, поэтому необходимо точно настроить параметры и, возможно, повторить, пока не будет найдено хорошее решение.И затем вы пытаетесь воспроизвести их пару месяцев спустя;)

Поэтому я хотел бы автоматизированное решение, которое создает фигуры, подобные показанным здесь .Есть ли решения для этого с Matplotlib?

1 Ответ

0 голосов
/ 26 июня 2018

Вы ищете "swarmplot", который прекрасно реализован в seaborn

import pandas as pd
import seaborn as sns
sns.set(style="whitegrid", palette="muted")

# Load the example iris dataset
iris = sns.load_dataset("iris")

# "Melt" the dataset to "long-form" or "tidy" representation
iris = pd.melt(iris, "species", var_name="measurement")

# Draw a categorical scatterplot to show each observation
sns.swarmplot(x="measurement", y="value", hue="species", data=iris)

enter image description here

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