Matplotlib学习---用matplotlib画阶梯图(step plot)

这里利用Nathan Yau所著的《鲜活的数据:数据可视化指南》一书中的数据,学习画图。

 

数据地址:http://datasets.flowingdata.com/us-postage.csv 

 

准备工作:先导入matplotlib和pandas,用pandas读取csv文件,然后创建一个图像和一个坐标轴

import pandas as pd
from matplotlib import pyplot as plt
postage=pd.read_csv(r"http://datasets.flowingdata.com/us-postage.csv")
fig,ax=plt.subplots()

 

先来看看这个数据文件:

   Year  Price
0  1991   0.29
1  1995   0.32
2  1999   0.33
3  2001   0.34
4  2002   0.37
5  2006   0.39
6  2007   0.41
7  2008   0.42
8  2009   0.44
9  2010   0.44

这个数据很简单,展示的是从1991年-2010年美国邮费的变化。

 

让我们来画一个阶梯图,展现邮费的变化过程。

 

阶梯图: ax.step(x,y)

 

代码如下:

import pandas as pd
from matplotlib import pyplot as plt
postage=pd.read_csv(r"http://datasets.flowingdata.com/us-postage.csv")
fig,ax=plt.subplots(figsize=(10,4))

ax.step(postage["Year"],postage["Price"],where='post')
ax.set_title("US Postage Fee") #设置标题
ax.set_xticks([i for i in postage["Year"]]) #设置x轴刻度
ax.set_yticks([]) #去除y轴刻度
#去除边框
ax.spines["top"].set_visible(False)
ax.spines["bottom"].set_visible(False)
ax.spines["left"].set_visible(False)
ax.spines["right"].set_visible(False)
#添加文字注释
for i,j in zip(postage["Year"],postage["Price"]):
    ax.text(x=i,y=j+0.003,s=j)
fig.tight_layout()

plt.show()

 

图像如下:

 

转载于:https://www.cnblogs.com/HuZihu/p/9511993.html

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值