【问题标题】:Generating a matlibplot bar chart from two columns of data从两列数据生成 matlibplot 条形图
【发布时间】:2013-09-30 03:06:59
【问题描述】:

我正在尝试根据How to plot a very simple bar chart (Python, Matplotlib) using input *.txt file?pylab_examples example code: barchart_demo.py 中提供的示例构建垂直条形图。

# a bar chart
import numpy as np
import matplotlib.pyplot as plt

data = """100 0.0
      5 500.25
      2 10.0
      4 5.55
      3 950.0
      3 300.25"""

counts = []
values = []

for line in data.split("\n"):
    x, y = line.split()
    values = x
    counts = y

plt.bar(counts, values)

plt.show()

当前我收到以下错误:AssertionError: incompatible sizes: argument 'height' must be length 15 or scalar。我不确定plt.bar() 函数是否定义正确。在尝试复制前面提到的两个示例时,我可能忽略了其他问题。

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    x, y = line.split() 返回一个字符串元组。我相信您需要将它们转换为整数和浮点数。您还需要 values.append(x) 和 values.append(y)。

    import numpy as np
    import matplotlib.pyplot as plt
    
    data = """100 0.0
          5 500.25
          2 10.0
          4 5.55
          3 950.0
          3 300.25"""
    
    counts = []
    values = []
    
    for line in data.split("\n"):
        x, y = line.split()
        values.append(int(x))
        counts.append(float(y))
    
    plt.bar(counts, values)
    
    plt.show()
    

    考虑到第一行中的 100 值(与

    【讨论】:

      【解决方案2】:

      也许你想做一些类似的事情

      for line in data.split("\n"):
          x, y = line.split()
          values.append(int(x))
          counts.append(float(y))
      

      【讨论】:

        猜你喜欢
        • 2022-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-23
        • 1970-01-01
        • 1970-01-01
        • 2012-02-06
        • 1970-01-01
        相关资源
        最近更新 更多