线图:x轴值与数据框中的值不完全相同[重复]

Posted

技术标签:

【中文标题】线图:x轴值与数据框中的值不完全相同[重复]【英文标题】:Line Plot : x-axis values are not exactly same as in the data frame [duplicate] 【发布时间】:2019-05-14 10:46:14 【问题描述】:

我已经检查过 *** 是否有任何类似的问题,但没有答案。

最近我开始学习python中的数据可视化。这是我处理的数据框: Immigration to Canada (virtual data)

这是代码:

import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_excel('icdf.xlsx')
df.plot(kind="line")
plt.title('Immigration to Canada (virtual data)')
plt.xlabel('Years')
plt.ylabel('Number of immigrants')
plt.show()

现在,在运行上面的代码时,我得到了这个图: Line Plot for the data frame

为什么 x 轴有 9 个值。 (1980.0, 1980.5, 1981.0, 1981.5, 1982.0,...) 而根据数据框,它预计有 5 个值,即。 (1980, 1981, 1982,...)?

【问题讨论】:

轴值并不代表您的实际数据,而是您绘制的每条线图的所有 5 个数据点的外观。您可以使用plt.xticks 设置您的刻度 是的,也是从答案中得到的。谢谢@Jetman 【参考方案1】:

有很多解决方案here。问题似乎只是刻度线而不是数据上传的方式。以下是该帖子中的一些最佳答案:

import matplotlib.ticker as ticker

tick_spacing = 1
ax.xaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))

plt.xticks(range(1980, 1985, 1)) #you can use min() and max()+1 to grab those from the dataframe and choose the step size according to your requirement

【讨论】:

plt.xticks() 成功了,但上面的代码我还没有尝试过。将检查有关的文档。谢谢。

以上是关于线图:x轴值与数据框中的值不完全相同[重复]的主要内容,如果未能解决你的问题,请参考以下文章

3D 绘图刻度标签与轴值不匹配(R 格)

遍历熊猫数据框中的列

如何将 CSV 值与 pyspark 数据框中的单元格中的值分别分隔为新列及其值

根据条件 pandas 删除 DataFrame 中的重复行

使用 R 中的数据框中的重复/分组行制作分组箱线图

保留数据框中的行,对于某些列的值的所有组合,在另一列中包含相同的元素