直方图设置坐标_python绘制简单直方图

f658f67d8d09dce857df51632f5a026e.png

导包读文件一条龙

import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv(r'C:UsersDocumentshongkong.csv')
df = df[['local','parameter','value']]

日期时间转成标准格式

df['local'] = pd.to_datetime(df['local'])
df['date'] = pd.to_datetime(df['local'].dt.date) 
df['hour'] = df['local'].dt.hour

检查格式

df.dtypes

可得到下图

0891655ea3e5013541e3c8e41dbab153.png

获取2018-6-4当天的数据并排序

df_one_day = df.query('date=="2018-6-4"')
df_one_day.sort_values(by='hour',ascending=True,inplace=True)
#将数据集按照整点进行排序,ascending=True即升序
"""
 inplace参数的理解:
         修改一个对象时:
               inplace=True:不创建新的对象,直接对原始对象进行修改;
               inplace=False:对数据进行修改,创建并返回新的对象承载其修改结果。
"""

获取2018-6-4整点的值和pm25的值

pm25_y = df_one_day.query('parameter=="pm25"')['value']
pm25_x =  df_one_day.query('parameter=="pm25"')['hour']

绘制直方图

#设置画布大小
plt.figure(figsize=(12,8))
#绘图,设置坐标,width是直方块的宽度,facecolor是直方块的颜色
rects = plt.bar(pm25_x.values,pm25_y.values,width=0.5,facecolor='blue')
#设置数据标签位置
for rect in rects:
    rect_x = rect.get_x()#得到的是直方块左边线的值
    rect_y = rect.get_height()#得到直方块的高
    plt.text(rect_x+0.5/2,rect_y+0.5,str(int(rect_y)),ha='center',size = 10)#ha用于水平对齐
plt.show()

最终效果如下图

62babb80d1be76c0d2fb62f535631cc9.png

#已完成代码和所需csv文件在附件中

直方图
百度网盘
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值