import...as plt
plt.figure(figsize=(宽度,高度),dpi=清晰度)
x...
y...
plt.plot(x,y,label="上海",color=“r”,linestyle=“--”)
plt.xticks(刻度ticks(仅限数字),刻度名称label)
//不传参默认x,传一个参默认刻度,刻度与名称要一一对应
plt.grid(True,linestyle="-",alpha=0.6) // 网格
plt.xlabel("日期")
plt.ylabel("温度")
plt.title("a区15天温度变化表")plt.legend(loc="best") #图例,但是要在plt.plot那里进行图例的说明
plt.savfig("./..../(保存的路径).png")
plt.show( )
1.matplotlib的定义及用途:
本质上是python的一个库,用来开发2D图表,当然也可以绘制3D类型,但是它用来画图没什么问题,但是想要比较炫酷美化,不太建议
用途:数据分析,基于数据分析进行展示
2.绘图流程(简单框架流程)
a1.引入matplotlib库
import matplotlib as plt
a.创建画布
plt.figure()
b.绘制图像
x=
y=
plt.plot(x,y)
//多个折线就多个plot
//plot里面也有很多属性,包括折线的颜色color属性,linestyle折线样式属性,label属性等
b'设置坐标轴格式、网格、标题等
坐标:
plt.xticks(tick,label)
plt.yticks(tick,label)
tick一定是数,label可自定义,两者要对应,如果不传参,默认直接画x轴(即tick取你的x所有刻度,label显示刻度);传一个参迷人ticks;传两个参数是(tick,label);当然还有其他的格式,如:xticks(...,...,
rotation=45)
是 Matplotlib 中用于设置文本或标签旋转角度的参数(#坐标与折线谁先写都行)
网格:
plt.grid(True(是否添加),
linestyle="(网格样式)——",
alpha=0.5(网格透明度))
标题:
plt.xlabel("x轴坐标") plt.ylabel("y轴坐标") plt.title("题目")图例:
plt.legend(loc=" "); 且plt.plot(x,y,label="xxxx",...)
b".保存图像
plt.savfig("路径.png")
注意,保存图像一定要在show函数前面,因为show默认展示完释放,如果在show后面,一定保存的是一张白纸!
c.显示图像
plt.show( )
3.简单介绍matplotlib的三层结构
4.示例代码:天气预测
# 天气折线图
import random
import matplotlib as plt
import matplotlib.pyplot as plt
# 引入黑体
plt.rcParams['font.family'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 1.创建画布
plt.figure(figsize=(50, 20), dpi=100)
# 2.绘制图像
x = range(1,15)
y_shanghai = []
y_beijing = []
for i in x:
y_shanghai.append(random.uniform(10, 20)) # 其实可以写成y=[random.uniform(10,20) for i in x];效果同上
y_beijing.append(random.uniform(5, 10))
x_lables = ["10月{}日".format(i) for i in x]
# 2.1画折线
plt.plot(x, y_shanghai, label="上海", color="b", linestyle="--")
plt.plot(x, y_beijing, label="北京", color="r", linestyle="-")
# 2.2坐标轴
plt.xticks(x, x_lables)
plt.yticks()
"""注意,坐标轴与折线不是一个概念,可别混"""
# 2.3其他信息
plt.grid(True, linestyle="-", alpha=0.5)
plt.xlabel("日期")
plt.ylabel("温度")
plt.title("15天温度变化表")
# 2.4图例
plt.legend(loc="best")
# 3.展示图像
plt.show()
敲代码时遇到的问题
1.随机生成数不会写;随机数的参数不知道什么意思
random.uniform(a,b)
·uniform(a,b)是生成一个[a,b]之间的浮点数
·random.randint(a, b) 生成[a,b]之间的整数
·random.random()生成0,1之间的浮点数
2. plt.xticks(ticks,label)放在哪里,两个参数是啥意思不明白
放在plt.plot(x,y)后面,参数的意思见上
3.幕布尺寸参数叫啥忘了
plt.figure(figsize=(宽,高),dpi=...)
4.python语法
a.range(;;)
b.[.... for i in range()];[... for i in x]
5.Windows下图像汉字不显示
下载一个字体SimHei.tff(黑体),然后点击安装,
在代码中调整字体和负数
plt.rcParams['font.family'] =['SimHei'] plt.rcParams['axes.unicode_minus'] = False