2017-08-13 61 views
0

我想讀取5 csv文件。我有以下功能分別繪製圖表,我想爲每個圖表添加一個圖例。然而,我得到了這個警告,即使我有一個標籤添加到我的函數中,圖例並沒有被添加到圖中。圖例標籤不會爲Python中的多個圖塊添加

UserWarning: No labelled objects found. Use label='...' kwarg on individual plots. warnings.warn("No labelled objects found. "

import pandas as pd 
import matplotlib.pyplot as plt 


df1 = pd.read_csv('test1.csv') 
df2 = pd.read_csv('test2.csv') 
df3 = pd.read_csv('test3.csv') 
df4 = pd.read_csv('test4.csv') 
df5 = pd.read_csv('test5.csv') 


def runplot(df, title, label): 
    rows, cols = df.shape 

    fig, ax = plt.subplots() 
    ax.plot(df['price'].values, df['cost'].values) 
    ax.legend() 


    plt.title(title) 
    plt.annotate('test!', 
       xy=(rows, df.ix[rows-1,'cost']), 
       xycoords='data', 
       xytext=(-30,30), 
       textcoords='offset points', 
       arrowprops=dict(arrowstyle="->")) 


runplot(df1, 'test1.csv', label='test1') 
runplot(df2, 'test2.csv', label='test2') 
runplot(df3, 'test3.csv', label='test3') 
runplot(df4, 'test4.csv', label='test4') 
runplot(df5, 'test5.csv', label='test5') 

我們怎樣才能在情節的傳說秀?

回答

0

設置lebel參數,當繪圖和使用handle作出的圖例。試着這樣寫:

def runplot(df, title, label): 
    rows, cols = df.shape 

    fig, ax = plt.subplots() 
    line1, = ax.plot(df['price'].values, df['cost'].values, label=label) 
    ax.legend(handles=[line1]) 

    plt.title(title) 
    plt.annotate('test!', 
       xy=(rows, df.ix[rows-1,'cost']), 
       xycoords='data', 
       xytext=(-30,30), 
       textcoords='offset points', 
       arrowprops=dict(arrowstyle="->")) 
相關問題