【问题标题】:Plotting a Graph with multiple data values using Numpy and Matplotlib使用 Numpy 和 Matplotlib 绘制具有多个数据值的图形
【发布时间】:2020-02-01 09:33:34
【问题描述】:

我是一名化学专业的本科生,我们在 atm 课程中学习 Python 模块。我需要完成我的形成性作业,但我对如何绘制图表有点困惑,到目前为止,这是我的代码:

import numpy as np
import matplotlib.pyplot as plt
import os
os.chdir("C:\Users\Chloe\Desktop")
data=np.loadtxt("tree_rings.txt")
for column in data.T:
    plt.plot(data[:,0],column)
plt.show()

这主要来自一些广泛的谷歌搜索和查看我的讲师发布的幻灯片哈哈。 我遇到的问题是,如果有意义的话,图表显示 x 变量就好像它是图表上的一条线。 x 轴是年份,y 轴是年轮的大小,它将年份绘制为图表上的一条线,有没有办法阻止它在图表上显示,但其他一切似乎都很好,谢谢提前 :) 编辑:

这就是图表出来的样子,我预计它会在顶部没有蓝线的情况下出现。其余的和预期的一样。蓝线看起来代表了我作为 x 轴的年份。还有 3 组数据要绘制(所以我期待 3 条线),样本 1,2 和 3 中环的大小针对年份绘制。我对 python 也非常陌生,所以主要是在弄清楚事情的阶段。

【问题讨论】:

  • 你确定你需要一个for 循环吗?我认为您应该尝试从文本文件中提取 一次 X 和 Y 数组,然后 plt.plot(X, Y).
  • 您能否编辑您的问题以包括您尝试过的内容、结果是什么以及您的预期(您在第二段中描述的内容)?包含运行您的示例所需的所有代码(例如)看起来您已将matplotlib.pyplot 导入为plt 也会很有帮助。如果您的问题是完整的,那么给出答案的效率会更高。
  • 使用for column in data.T[1:]:从第二列开始绘制;第一列是您的 x 轴和年份,所以蓝线是 x 轴与自身的对比

标签: python numpy matplotlib


【解决方案1】:

当您读取“tree_rings.txt”数据时,蓝线来自绘制“年份”数据。

我猜这里的性能不是什么大问题(不是处理海量数据),所以我会提出一个不太有效的解决方案:

import numpy as np
import matplotlib.pyplot as plt
import os
os.chdir("C:\Users\Chloe\Desktop")
data=np.loadtxt("tree_rings.txt")
skip_column = 0
counter = 0
for column in data.T:
    if counter == skip_column:
        continue
    counter += 1
    plt.plot(data[:,0],column)
plt.show()

如果此代码没有跳过“年份”列,请尝试更改 skip_column 值并查看是否有效

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-24
    • 2019-05-24
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多