【问题标题】:how to plot a list with tuples [duplicate]如何绘制带有元组的列表[重复]
【发布时间】:2018-07-30 01:33:53
【问题描述】:

我正在尝试绘制一个条形图,其中 x 轴代表每个元组的第一个元素,y 轴是每个元组的第二个元素。

与这篇文章非常相似的东西:Using Counter() in Python to build histogram?

arr = [(0, 152),
     (1, 106),
     (2, 71),
     (3, 89),
     (4, 69),
     (5, 83),
     (6, 139),
     (7, 141),
     (8, 164),
     (9, 75),
     (10, 98)]

我该怎么做?

到目前为止我有这个:

输入:

plt.bar(counts.items())

输出:

TypeError: <lambda>() takes at least 2 arguments (1 given)

谢谢:)

【问题讨论】:

  • 开始谷歌搜索 matplotlib,在条形图上查找示例,使其适应您的数据。摆弄直到它起作用。简而言之 - 代码。请再次查看how to askon-topic,如果您有任何问题,请提供您的代码mvce。如果您遇到错误,请将错误消息逐字(逐字)复制并粘贴到您的问题中。除非您需要传达布局错误,否则请避免使用屏幕截图。我们无法将您的图像复制并粘贴到我们的 IDE 中来修复您的代码。
  • bar 需要两个参数,x 和 y。所以x,y = zip(*arr); plt.bar(x,y) 会根据需要为您提供条形图。

标签: python list matplotlib tuples


【解决方案1】:

一个似乎运作良好的快速解决方案是将数据加载到 Panda 的 DataFrame 中并使用它的绘图功能:

import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

x = [(0, 152),
     (1, 106),
     (2, 71),
     (3, 89),
     (4, 69),
     (5, 83),
     (6, 139),
     (7, 141),
     (8, 164),
     (9, 75),
     (10, 98)]

pd.DataFrame(x, columns=['lbl','val']).set_index('lbl').plot(kind='bar');

【讨论】:

    猜你喜欢
    • 2015-03-28
    • 2013-08-29
    • 1970-01-01
    • 2017-03-19
    • 2015-09-24
    • 2017-12-31
    • 2018-03-14
    • 1970-01-01
    • 2022-01-04
    相关资源
    最近更新 更多