如何基于DataFrame选取两列绘图(Date为X轴、Close为Y轴)
解决Pandas绘图时X轴未显示Date列的问题
嘿,我懂你遇到的问题啦——你写的代码里虽然把Date和Close放进了新DataFrame,但Date只是普通列,Pandas默认会用行索引(也就是0、1、2...这些数字)作为X轴,自然看不到日期啦。给你两种简单的解决办法:
方法一:将Date设为DataFrame的索引
这是最常用的方式,把日期设为索引后,Pandas绘图会自动把索引作为X轴:
import pandas as pd import matplotlib.pyplot as plt # 先确保Date列是datetime格式(避免字符串导致的刻度显示问题) apple['Date'] = pd.to_datetime(apple['Date']) # 将Date设置为索引,inplace=True直接修改原DataFrame apple.set_index('Date', inplace=True) # 只选取Close列绘制折线图 apple['Close'].plot() # 添加标签让图表更清晰 plt.xlabel('Date') plt.ylabel('Close Price') plt.title('Apple Close Price Trend (Jan 2017)') plt.show()
方法二:绘图时直接指定x和y参数
如果你不想修改原DataFrame的结构,可以在plot()方法里明确指定X轴和Y轴对应的列:
import pandas as pd import matplotlib.pyplot as plt # 同样先转成datetime格式 apple['Date'] = pd.to_datetime(apple['Date']) # 直接指定x为Date列,y为Close列 apple.plot(x='Date', y='Close') plt.title('Apple Close Price Over Time') plt.show()
两种方法都能让X轴显示Date列的日期,而且把Date转成datetime类型后,图表的X轴会自动适配时间刻度,显示更合理的日期格式哦。
内容的提问来源于stack exchange,提问作者user7988893
相关产品推荐
相关产品推荐

