我有一个具有观察频率的数据集。我正在做探索性数据分析。以下是样本。
x1 x2 x3 x4 label
15 10 1 2 0
3 2 15 10 1
0 1 10 11 1
9 7 1 1 0
我想使用在x1,x2....xn
使用x-axis
的python绘制单个绘图,并在y轴使用每个记录的频率,但颜色根据标签编码绘图,标签为蓝色,标签为红色目的是可视化类标签和变量值之间是否存在关联。如何在python中做到这一点?像这样的东西。
但是它在x轴上使用一个变量而在y轴上使用另一个变量。我想在x轴上使用所有变量,在Y轴上使用它们的频率。
答案 0 :(得分:0)
如果这个问题听起来含糊不清,我很抱歉。我是python和数据科学的新手。以下代码给出了所需的输出。我在这里发帖,以防其他人需要帮助。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
np.random.seed(123)
# Generate Data
nbr_dim = 10
y = np.random.random((nbr_dim))
x = [1,2,3,4,5,6,7,8,9,10]
labels = np.random.choice([0, 1], nbr_dim)
df = pd.DataFrame(dict(x=x, y=y, label=labels))
groups = df.groupby('label')
# Plot
fig, ax = plt.subplots()
ax.margins(0.05)
for name, group in groups:
ax.plot(group.x, group.y, marker='o', linestyle='', ms=12, label=name)
ax.legend()
plt.show()
Joe Kingston给出的原始答案Here