gpt4 book ai didi

python - 如何按组为散点图分配颜色?

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:20 24 4
gpt4 key购买 nike

我正在尝试为我的数据框中的每个类分配颜色,这是我的代码:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)

knn = KNeighborsClassifier(n_neighbors=7)

# fitting the model
knn.fit(X_train, y_train)

# predict the response
pred = knn.predict(X_test)

dfp = pd.DataFrame(X_test)
dfp.columns = ['SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm', 'PetalWidthCm']
dfp["PClass"] = pred

pyo.init_notebook_mode()
data = [go.Scatter(x=dfp['SepalLengthCm'], y=dfp['SepalWidthCm'],
text=dfp['PClass'],
mode='markers',
marker=dict(
color=dfp['PClass']))]

layout = go.Layout(title='Chart', hovermode='closest')
fig = go.Figure(data=data, layout=layout)

pyo.iplot(data)

这是我的 df 的样子:

SepalLengthCm   SepalWidthCm    PetalLengthCm   PetalWidthCm    PClass
6.1 2.8 4.7 1.2 Iris-versicolor
5.7 3.8 1.7 0.3 Iris-setosa
7.7 2.6 6.9 2.3 Iris-virginica

所以问题是它没有根据 dfp['PClass'] 列分配颜色,并且绘图上的每个点都是相同的颜色:黑色。即使悬停时每个点都根据其类别正确标记。知道为什么它不能正常工作吗?

最佳答案

这是一个使用图形对象的例子:

import numpy as np
import pandas as pd
import plotly.offline as pyo
import plotly.graph_objs as go

# Create some random data
np.random.seed(42)
random_x = np.random.randint(1, 101, 100)
random_y = np.random.randint(1, 101, 100)

# Create two groups for the data
group = []
for letter in range(0,50):
group.append("A")

for letter in range(0, 50):
group.append("B")

# Create a dictionary with the three fields to include in the dataframe
group = np.array(group)
data = {
'1': random_x,
'2': random_y,
'3': group
}

# Creat the dataframe
df = pd.DataFrame(data)

# Find the different groups
groups = df['3'].unique()

# Create as many traces as different groups there are and save them in data list
data = []
for group in groups:
df_group = df[df['3'] == group]
trace = go.Scatter(x=df_group['1'],
y=df_group['2'],
mode='markers',
name=group)
data.append(trace)

# Layout of the plot
layout = go.Layout(title='Grouping')
fig = go.Figure(data=data, layout=layout)

pyo.plot(fig)

enter image description here

关于python - 如何按组为散点图分配颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56107037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com