我想在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'一樣,經常有一條線連接兩個標記。 –