python基金会主席入门教程_Python 1的Mat普特利布基金会,之,matplotlib,基础

Matplotlib 是最流行的Python 底层绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。

虽然一般开发环境用不到Matplotlib插件,但是在学习Numpy或Pandas的过程中需要看到可视化的数据,所以了解Matplotlib还是很有必要的。

实战一:指定x和y的数组,绘制曲线图

from matplotlib import pyplot as plt

x=range(2,26,2)

y=[15,18,13,2,32,31,12,15,24,23,34,34]

#figsize指定图片大小,dpi指定像素

plt.figure(figsize=(20,8),dpi=80)

#绘图

plt.plot(x,y)

#设置X轴的刻度

#刻度为2,3,4,5直到24,步长为1

# plt.xticks((range(2,25)))

#X轴的刻度是2,2.5,3,3.5,4..步长为0.5,

_xtick_lable=[i/2 for i in(range(2,49))]

#X轴显示太密集,可以每3个显示一次

plt.xticks(_xtick_lable[::3])

#设置Y轴的刻度,加1是因为range取值范围的原因

plt.yticks(range(min(y),max(y)+1))

#保存到本地,指定文件名,如果为svg格式,可以保存为矢量图

#plt.savefig("./sig_size_10.png")

#展示图形

plt.show()

#实战二,显示10点11点两个小时每分钟的温度,温度随机

from matplotlib import pyplot as plt

import random

import matplotlib

#通过matplotlib.rc设置支持显示中文字体

#方法1:

font = {'family': 'MicroSoft YaHei',

'weight': 'bold',

'size': '10'

}

matplotlib.rc('font', **font)

# #方法2:

# from matplotlib import font_manager

# #centos和mac系统可以通过fc-list :lang=zh来查询支持中文的字体,windows不知道怎么样,所以我找的这个字体不能正常显示中文

# my_font=font_manager.FontProperties(fname=r"‪C:\Windows\Fonts\simhei.ttf")

x=range(0,120)

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

#figsize指定图片大小,dpi指定像素

plt.figure(figsize=(20,8),dpi=80)

#绘图

plt.plot(x,y)

#调整X轴的刻度

#生成X轴需要显示的字符

_x=list(x)#转换成List,以便后面取步长

_xtick_lable=["10点{}分".format(i) for i in range(60)]

_xtick_lable+=["11点{}分".format(i) for i in range(60)]

#plt.xticks如果传入两个参数,两个参数的数量应该相等,一一对应的关系,前面传数值,后面值传对应的字符

#[::5]表示步长为5,每5分钟显示一次,否则太密集

#rotation表示旋转的度数

plt.xticks(x[::5],_xtick_lable[::5],rotation=45)

#如果设置中文使用第2种方法,这点需要设置fontproperties参数

# plt.xticks(x[::5],_xtick_lable[::5],rotation=45,fontproperties=my_font)

#添加描述信息

plt.xlabel('时间')

plt.ylabel('温度')

plt.title('10点~11点每分钟温度曲线')

# 保存到本地,指定文件名,如果为svg格式,可以保存为矢量图

plt.savefig("./sig_size_10.png")

#展示图形

plt.show()

#例三,显示两个同学每次考试成绩的曲线图

from matplotlib import pyplot as plt

import matplotlib

#设置两个Y轴,分别代表两个同学的成绩

y_1=[3,5,3,6,5,8,9,5,10,8]

y_2=[5,4,2,7,8,6,8,7,6,2]

#X轴代表一共有10次考试

x=range(10)

#支持中文显示

font = {'family': 'MicroSoft YaHei',

'weight': 'bold',

'size': '10'

}

matplotlib.rc('font', **font)

#设置图片大小

plt.figure(figsize=(20,8),dpi=80)

#分别画自己和同桌的曲线图

plt.plot(x,y_1,label='自己',color='blue',linestyle=':',linewidth=5,alpha=0.9)

plt.plot(x,y_2,label='同桌',color='red',linestyle='-.',linewidth=3,alpha=0.8)

#设置X轴的刻度

_xtick_lables=["第{}次成绩".format(i) for i in x]

plt.xticks(x,_xtick_lables)

#添加网络,alpha参数指定线条深浅

plt.grid(alpha=0.5,linestyle=':')

#添加图例,告诉别人每条线代表什么

#先在plt.plot方法上加了'label'参数,然后用legend来指定图例的位置

plt.legend(loc='upper left')

# 保存到本地,指定文件名,如果为svg格式,可以保存为矢量图

plt.savefig("./sig_size_10.png")

#展示图形

plt.show()

参考学习网址:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值