1,准备数据并画出初始折线图
import matplotlib.pyplot as plt
import random
# 画出温度变化图
# 0.准备x, y坐标的数据
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]
# 1.创建画布
plt.figure(figsize=(20, 8), dpi=80)
# 2.绘制折线图
plt.plot(x, y_shanghai)
# 3.显示图像
plt.show()
2,添加自定义x,y刻度
# 构造x轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
# 构造y轴刻度
y_ticks = range(40)
# 修改x,y轴坐标的刻度显示
plt.xticks(x[::5], x_ticks_label[::5])
plt.yticks(y_ticks[::5])
3,中文显示方案
from pylab import mpl
# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
#有时候,字体更改后,会导致坐标轴中的部分字符无法正常显示,此时需要更改axes.unicode_minus参数:
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False
4,网格显示
plt.grid(True, linestyle='--', alpha=0.5)
5,显示描述信息
#通过fontsize参数可以修改图像中字体的大小
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点0分到12点之间的温度变化图示", fontsize=20)
6,图像保存
# 保存图片到指定路径
plt.savefig("test.png")
7,多次plot
# 增加北京的温度数据
y_beijing = [random.uniform(1, 3) for i in x]
# 绘制折线图
plt.plot(x, y_shanghai)
# 使用多次plot可以画多个折线
plt.plot(x, y_beijing, color='r', linestyle='--')
8,显示图例
# 如果只在plt.plot()中设置label还不能最终显示出图例,还需要通过plt.legend()将图例显示出来。
# 绘制折线图
plt.plot(x, y_shanghai, label="上海")
# 使用多次plot可以画多个折线
plt.plot(x, y_beijing, color='r', linestyle='--', label="北京")
# 显示图例
plt.legend(loc="best")
9,常见图形绘制
# 折线图
plt.plot(x, y)
# 散点图
plt.scatter(x, y)
# 柱状图
plt.bar(x, width, align='center', **kwargs)
"""
x : 需要传递的数据
width : 柱状图的宽度
align : 每个柱状图的位置对齐方式
{‘center’, ‘edge’}, optional, default: ‘center’
**kwargs :
color:选择柱状图的颜色
"""
# 直方图
matplotlib.pyplot.hist(x, bins=None) # x : 需要传递的数据
# bins : 组距
# 饼图
plt.pie(x, labels=,autopct=,colors) # x:数量,自动算百分比
#labels:每部分名称
#autopct:占比显示指定%1.2f%%
#colors:每部分颜色