簡體   English   中英

Python3 MatPlotLib:如何獲取多個線圖

[英]Python3 MatPlotLib : How can I get Multiple Line Plots

我有一個這樣的元組列表:

list_months = [ ('A', 'January'),
                ('A', 'January'),
                ('A', 'January'),  # Total 10 instances of ('A', 'January')
                ('A', 'March'),
                ('A', 'March'),
                ('A', 'March'),
                ('A', 'February'),
                ('A', 'February'),
                .............
                ('B', 'January'),
                ('B', 'January'),  # Total 15 instances of ('B', 'January')
                ('B', 'July'),
                ('B', 'July'),
                ............. ]

這是通過使用以下命令通過Pandas數據框獲得的:

for index, val in b['Incident Reported Date Time'].iteritems():
    list_months.append((index, str(val)))

我希望能夠生成MatPlotLib圖,例如:
X軸->月
Y軸->體積
多色線->每條代表“ A”,“ B”,“ C”等


在此處輸入圖片說明

例如,在此圖片中,紅線代表“ A”,藍線代表“ B”。
由於('A','January')有10個,因此在一月的Y軸上的10上顯示紅線,而('B',January')則有15個,因此顯示藍線一月份Y軸的15點。

如何在matplotlib for Python3中動態生成此圖例和圖例?
該圖應為線形圖,如示例圖像中所示。

如果將數據保留在DataFrame中,則繪制起來會更容易。 我使用您帖子中的示例數據制作了一個示例DataFrame:

list_months = [ ('A', 'January'),
                ('A', 'January'),
                ('A', 'January'),  # Total 10 instances of ('A', 'January')
                ('A', 'March'),
                ('A', 'March'),
                ('A', 'March'),
                ('A', 'February'),
                ('A', 'February'),
                ('B', 'January'),
                ('B', 'January'),  # Total 15 instances of ('B', 'January')
                ('B', 'July'),
                ('B', 'July')
            ]
d = pandas.DataFrame(list_months, columns=["Item", "Month"]).fillna(0)

>>> d
   Item     Month
0     A   January
1     A   January
2     A   January
3     A     March
4     A     March
5     A     March
6     A  February
7     A  February
8     B   January
9     B   January
10    B      July
11    B      July

然后,您可以輕松獲得情節:

>>> d.groupby(['Month', 'Item']).size().unstack().loc[['January', 'February', 'March', 'July']].fillna(0).plot(kind='line')

在此處輸入圖片說明

.loc['January', 'February', ...]位只需.loc['January', 'February', ...]時間順序而不是字母順序獲得月份。從長遠來看,最好通過日期時間存儲此信息對象或代表月份的數字。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM