数据挖掘之Matplotlib(二)—— 一个画布中绘制多幅折线图

 

使用 figure , axes = plt.subplots(nrows,ncols,figsize,dpi)方法创建画布

        nrows  表示行数

        ncols  表示列数

        figsize  表示画布大小

        dpi  表示清晰度

        绘制每幅图时使用axes[][].set_XXX()方法进行绘制

具体例子如下:

import matplotlib.pyplot as plt
import random

#准备数据X,Y
x = range(60)
y_XiAn = [random.uniform(15,18) for i in x]
y_WuHan = [random.uniform(20,25) for i in x]

#创建画布
figure , axes = plt.subplots(nrows=1,ncols=2,figsize = (20,8),dpi=80)

#画图
axes[0].plot(x,y_XiAn,color="r",linestyle="--",label="西安")
axes[1].plot(x,y_WuHan,color="b",label="武汉")

#解决中文显示问题
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams.update({"font.size":10})#此处必须添加此句代码方可改变标题字体大小
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

#显示图例
axes[0].legend()
axes[1].legend()
#添加x,y刻度说明
x_label = ["11点{}分".format(i) for i in x]
axes[0].set_xticks(x[::5])
axes[0].set_xticklabels(x_label[::5])
axes[0].set_yticks(range(40)[::5])
axes[1].set_xticks(x[::5])
axes[1].set_xticklabels(x_label[::5])
axes[1].set_yticks(range(40)[::5])

#添加网格显示
axes[0].grid(True,linestyle="--",alpha=0.5)
axes[1].grid(True,linestyle="--",alpha=0.5)
#更改X,Y标签
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("西安11点到12点温度变化折线图")
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("武汉11点到12点温度变化折线图")
plt.show()

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值