matplotlib 基础教程(上)

matplotlib 笔记(上)

1.折线图

例题一

假设一天中每隔两个小时(range(2,26,2))的气温分别是 [15,13,14.5,17,20,25,26,27,22,18,15],画出折线图

from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,14.5,17,20,25,26,26,27,22,18,15]

#设置图片大小 dpi分辨度
plt.figure(figsize=(20,8),dpi=80)

#绘图
plt.plot(x,y)

# 设置x轴的刻度,使刻度是小数,y轴同理
# _xtick_labels = [i/2 for i in range(2,29)]
# plt.xticks(_xtick_labels)

# 设置x轴和y轴的刻度和范围
plt.xticks(range(0,29,2))
plt.yticks(range(min(y),max(y)+1))

#保存
# plt.savefig("./t1.png")

#展示图形
plt.show()

例题二

如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟的变化情况?
a = [random.randint(20,35) for i in range(120)]

from matplotlib import pyplot as plt
import random

# matplotlib默认不支持中文字体,在方法rc()处,cltr+b查看源码可以知道参数形式
# 可能不适用mac,或者有些字体不能用,直接全局改了字体
font = {'family': 'SimHei',  # 设置字体
        'weight': 'bold',  # 字体宽度
        'size': '12'}
plt.rc('font', **font)
plt.rc('axes', unicode_minus=False)  # 解决负号

x = range(0, 120)
y = [random.randint(20, 35) for i in range(120)]

# 设置图片大小 dpi分辨度
plt.figure(figsize=(20, 8), dpi=80)

# 绘图
plt.plot(x, y)

# 设置x轴的刻度,显示中文
_x = list(x)[::3]
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)]

# 设置x轴的数字和字符串的间隔一样,rotation使字符串旋转,270代表度数
plt.xticks(_x, _xtick_labels[::3], rotation=45)

# 保存
# plt.savefig("./t1.png")

# 添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("温度随时间的变化折线图")

# 展示图形
plt.show()

其他显示中文的方法

例题三

假设有一个调查,统计两个人从10岁到30岁每年读过书本的数量,结合自身情况,绘制折线图每年读过书本数量的走势。
要求:x轴用10岁,11岁表示。

from matplotlib import pyplot as plt

font = {'family': 'SimHei',
        'weight': 'bold',
        'size': '12'}
plt.rc('font', **font)
plt.rc('axes', unicode_minus=False)
y_1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2 = [1,0,3,1,2,2,3,3,2,1 ,2,1,1,1,1,1,1,1,1,1]
x = range(11,31)
plt.figure(figsize=(20,8),dpi=80)

# plot多次,画出多个图形,linewidth=2 线条宽度,linestyle线条风格,color百度搜索颜色代码
plt.plot(x,y_1,label="自己",color="#F08080",linestyle=":")
plt.plot(x,y_2,label="同桌",color="#DB7093",linestyle="--")

#设置x轴刻度
_xtick_labels = ["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels)
# plt.yticks(range(0,9))

#绘制网格,alpha代表网格透明程度
plt.grid(alpha=0.4,linestyle=':')

#添加图例
plt.legend(loc="upper left")

#展示
plt.show()


颜色代码
官方文档实例

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值