Yueqr_ 2021-12-26 20:04 采纳率: 53.8%
浏览 10
已结题

为什么在提取csv格式数据时,日期这块他会直接放在X轴下。

问题遇到的现象和发生背景

在python编程从入门到实践这本书中,在跟着书中的案例练习提取csv格式的数据时,日期会直接放在x轴下面,在代码没有看到将这个指定数据放置指定位置的代码。

问题相关代码,请勿粘贴截图
import csv  # 可用于分析csv文件中的数据行。
import matplotlib.pyplot as plt
from datetime import datetime

filename = 'sitka_weather_07-2018_simple.csv'
with open(filename) as f:
    reader = csv.reader(f)
    header_row = next(reader) #next()将返回文件中的下一行。
    
    for index,column_header in enumerate(header_row):  #enumerate起索引作用,前者为索引后者为值。
        print(index,column_header)                     #其总体作用为知道我们想要的数据在哪行例如天气、最高温、最低温。

    # 从文件中获取日期、最高温度。
    dates,highs = [],[]
    for row in reader:
        current_date = datetime.strptime(row[2],'%Y-%m-%d')
        high = int(row[5])
        dates.append(current_date)
        highs.append(high)
print(highs)
# 根据最高温度绘制图形。
plt.style.use('seaborn')
fig,ax = plt.subplots()
ax.plot(dates,highs,c='red')

# 设置图形的格式。
ax.set_title('2018年7月每日最高温度',fontsize=24)
ax.set_xlabel('',fontsize = 16)
fig.autofmt_xdate()
ax.set_ylabel('温度(F)',fontsize = 16)
ax.tick_params(axis='both',which='major',labelsize=16)

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False

plt.show()

###### 运行结果及报错内容 
运行结果是正常的
###### 我的解答思路和尝试过的方法 


运行结果及报错内容

运行结果是正常的

我的解答思路和尝试过的方法
我想要达到的结果

了解原因,按照逻辑我知道日期是放在下面的,但为何没有相关的指定,直接放在下面了。

  • 写回答

1条回答 默认 最新

  • chuifengde 2021-12-26 20:55
    关注

    ax.plot(dates,highs,c='red')
    这一句画坐标系的时候,dates就是x坐标,highs就是y坐标,默认刻度都是写在下面和左面

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月28日
  • 创建了问题 12月26日

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题