Scatter Plot с условиями - PullRequest
0 голосов
/ 11 мая 2019

Предположим, у меня есть фрейм данных

name = ['A', 'B', 'C'] 
score = [2,4,6] 

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

Я могу создать только точечный график с пузырьком с соответствующим именем.

1 Ответ

0 голосов
/ 11 мая 2019

Вы можете использовать списки для создания списка цветов для каждого score и использовать параметр c scatter(), чтобы установить цвет внутри графика.

Для маркировки пузырьков вы можете использовать annotate() на оси, см. Пример ниже.

import matplotlib.pyplot as plt

name = ['A', 'B', 'C'] 
score = [2,4,6] 

# Set color for every score
color = ['green' if x>3 else 'red' for x in score]

# Create scatter plot
fig, ax = plt.subplots()
ax.scatter(name, score, c=color)

# Set label for every score inside scatter plot
for i, n in enumerate(name):
    ax.annotate(n, (n,score[i]))

plt.show()

enter image description here

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