【问题标题】:Plot is unclear using matplotlib and pandas library使用 matplotlib 和 pandas 库的情节不清楚
【发布时间】:2018-05-22 20:14:59
【问题描述】:

任何解释为什么我得到这种情节?指数回报的范围是从 100 到 130。我需要帮助来理解上面的这个图。代码很简单,但是剧情不清楚:

#import needed library
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

#import JPM GBI bound index
df = pd.read_excel('art.xlsx')
df = pd.DataFrame(df) 
df.head(8)

plt.plot(df\['Date'\],df\['Index returns'\])
type(df\['Date'\]\[3\])

【问题讨论】:

  • 你能澄清一下“不清楚”是什么意思吗?我们对该地块的源数据一无所知
  • 欢迎来到 SO。我冒昧地重新格式化你的问题。具体来说,我删除了一些看起来不像是有效的 Python 代码的东西,而是从您的代码中删除的图像链接。您能否确认一切正常?另外:您到底希望发生什么?你会期待什么样的情节?
  • 看起来轴应该是相反的。
  • 我认为 dzejdzej 是对的。尝试恢复 y 和 x 轴,看看会发生什么。
  • 我认为数据没有问题,因为即使我更改了轴,我的索引从 100,98,...,130 返回也没有任何变化

标签: python pandas matplotlib


【解决方案1】:

Matplotlib 按提供的顺序绘制数据。如果需要,您可以对数据进行排序。

import numpy as np
import matplotlib.pyplot as plt

x = np.array([3, 5, 1, 2, 7, 4, 6, 9, 8])
y = np.array([8, 10, 3, 6, 8, 10, 10, 3, 6])

plt.subplot(121)
plt.plot(x,y, marker="o", label="unsorted")

plt.legend()

# now sort the values
plt.subplot(122)
plt.plot(np.sort(x),y[np.argsort(x)], marker="o", color="C3", label="sorted")

plt.legend()
plt.show()

【讨论】:

  • 感谢您的澄清,它有帮助
猜你喜欢
  • 2019-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多