线图: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轴值与数据框中的值不完全相同[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何将 CSV 值与 pyspark 数据框中的单元格中的值分别分隔为新列及其值