我想在pyplot中使用Pandas DataFrame对象制作一个简单的散点图,但希望绘制两个变量的有效方式,但需要第三列指定的符号(键)。我尝试过使用df.groupby的各种方式,但没有成功。下面是一个示例df脚本。这根据'key1'标记颜色,但是id喜欢看'key1'类别的图例。我关门了吗?谢谢。Pandas中的散点图/ Pyplot:如何按类别绘图
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.normal(10,1,30).reshape(10,3), index = pd.date_range('2010-01-01', freq = 'M', periods = 10), columns = ('one', 'two', 'three'))
df['key1'] = (4,4,4,6,6,6,8,8,8,8)
fig1 = plt.figure(1)
ax1 = fig1.add_subplot(111)
ax1.scatter(df['one'], df['two'], marker = 'o', c = df['key1'], alpha = 0.8)
plt.show()
是的,看起来它会为我工作。非常感谢。 – user2989613
为什么在上面的RGB例子中,符号在图例中显示两次?如何只显示一次? –
@SteveSchulist - 使用'ax.legend(numpoints = 1)'只显示一个标记。有两个,就像'Line2D'一样,经常有一条线连接两个标记。 –