数据分析-Day01 matplotlib基础(1)

目录

绘制折线图

1 导入pyplot

2 设置图形大小

3 绘图

3.1 设置图形的样式

4 调整坐标轴的刻度

5 展示图形、保存图形

6 图形中显示中文

6.1 方法一:全局设置(Windows和Linux下有效)

6.2 方法二:设置中文字体

7 设置描述信息

8 一图中绘制多个图形

8.1 为不同的图形添加图例

9 绘制网格


绘制折线图

1 导入pyplot

from matplotlib import pyplot as plt

2 设置图形大小

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

figure表示图形图标,即指所画图形。通过实例化一个figure并传递参数 ,可在后台自动使用该figure实例。

figsize参数:为一个元组,用于设置图片大小,表示宽、高;

dpi:表示每英寸上像素点的个数,用于设置图片清晰度。

3 绘图

plt.plot(x,y) 传入x和y,绘制出折线图

x:数据在x轴的位置,是一个可迭代对象

y:数据在y轴的位置,是一个可迭代对象

3.1 设置图形的样式

plt.plot() 中添加参数color(线条颜色)、linestyle(线条风格)、linewidth(线条粗细)、alpha(透明度,0-1) 等,如:

plt.plot(x,y,color="orange",linestyle=':',linewidth=5,alpha=0.5)

4 调整坐标轴的刻度

调用 plt.xticks()

1)调整间距:传入一个参数(包含数字的可迭代对象),步长合适即可;

2)添加字符串:传入两个参数,分别为两个可迭代对象(数值型数据与字符串数据),两组数据的长度必须一致,数值和字符串一一对应,最终只显示字符串数据。

5 展示图形、保存图形

调用 plt.show()、plt.savefig()

6 图形中显示中文

6.1 方法一:全局设置(Windows和Linux下有效)

import matplotlib
matplotlib.rc("font",family='Microsoft YaHei',weight='bold',size=12)

6.2 方法二:设置中文字体

找到指定字体的文件路径,在需要显示中文的地方添加 fontproperties 参数接收字体(图例 plt.legend() 中使用参数prop 接收字体)

from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="C:\WINDOWS\FONTS\MSYH.TTC")
plt.xlabel("时间",fontproperties=my_font)

7 设置描述信息

plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度(℃)",fontproperties=my_font)
plt.title("10点到12点每分钟的时间变化情况",fontproperties=my_font)

import random
from matplotlib import pyplot as plt
import matplotlib
from matplotlib import font_manager


#显示中文
# font = {'family' : 'Microsoft YaHei',
#         'weight' : 'bold',
#         'size'   : 12}
#
# matplotlib.rc("font",**font)
# matplotlib.rc("font",family='Microsoft YaHei',weight='bold',size=12)
my_font = font_manager.FontProperties(fname="C:\WINDOWS\FONTS\MSYH.TTC")

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

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

#绘制折线图
plt.plot(x,y)

#设置坐标轴刻度,将数值型数据与字符串数据一一对应
x_ticks = ["10点{}分".format(i) for i in range(60)]
x_ticks += ["11点{}分".format(i) for i in range(60)]
plt.xticks(list(x)[::5],x_ticks[::5],rotation=45,fontproperties=my_font)  

#添加描述信息
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度(℃)",fontproperties=my_font)
plt.title("10点到12点每分钟的时间变化情况",fontproperties=my_font)

#保存图片,可以保存为svg矢量图格式
plt.savefig("./t1.svg")   

#显示图形
plt.show()

8 一图中绘制多个图形

多次调用 plt.plot() 即可

8.1 为不同的图形添加图例

1)在 plt.plot() 中设置参数 label,如: plot(label="一号");

2)调用 plt.legend(prop,loc):通过 prop 参数指定图例的字体;通过 loc 参数设置图例的位置,默认为右上角。

9 绘制网格

plt.grid(),如:plt.grid(alpha=0.4,linestyle=":")

from matplotlib import pyplot as plt
import matplotlib
from matplotlib import font_manager

my_font = font_manager.FontProperties(fname="C:\WINDOWS\FONTS\MSYH.TTC")

x = range(11,31)
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]

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

#多次调用plt.plot(),绘制多个图形,并为不同的图形添加图例
plt.plot(x,y_1,lable="一号",color="orange",linestyle=':')
plt.plot(x,y_2,lable="二号",color="cyan",linestyle='--')

xtick_lables = ["{}岁".format(i) for i in x]
plt.xticks(x,xtick_lables,fontproperties=my_font)

#绘制网格
plt.grid(alpha=0.3)    


#设置图例的字体、位置
plt.legend(prop=my_font,loc=1)

plt.show()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值