我可以根据“简单”字典在 matplotlib 中构建一个简单的绘图:
import matplotlib.pyplot as plt
D = {u'Label1':26, u'Label2': 17, u'Label3':30}
plt.bar(range(len(D)), D.values(), align='center')
plt.xticks(range(len(D)), D.keys())
Run Code Online (Sandbox Code Playgroud)
但是,如何在我不知道的一个图上根据这些字典的数据创建两个图形?
NG1={'need1': [{'good1': 3, 'good2': 4}], 'need2': [{'good2': 2, 'good3': 2}]}
NG2={'need1': [{'good1': 13, 'good2': 23}], 'need2': [{'good2': 8, 'good3': 14}]}
Run Code Online (Sandbox Code Playgroud)
就像下图一样
给出了一个整数列表。找出其中重复次数最多的数字。如果有多个这样的数字,则返回其中的最大值。
mostFrequent :: [Int] -> Int
--mostFrequent [1,2,2,2,3,3]
--2
--mostFrequent [1,2,2,3,3]
--3
Run Code Online (Sandbox Code Playgroud)
我将这些数字分组为一对列表并排列它们。但是后来我不知道如何比较它们并输出列表中重复次数最多和最大的数字。
mostFrequent :: Ord a => [a] -> [(Int,a)]
mostFrequent list = map (\l -> (length l, head l)) (group (sort list))
--mostFrequent [1,2,2,3,3]
--[(1,1),(2,2),(2,3)]
Run Code Online (Sandbox Code Playgroud)
帮我解决这个问题。