1.绘制折线图
from matplotlib import pyplot
import matplotlib
# 默认无法显示中文,通过设置本地字体解决
font = {'family' : 'MicroSoft YaHei', 'weight' : 'bold'}
matplotlib.rc('font', **font)
x = range(2, 26, 2)
# 两条数据
y_1 = [15, 13, 14, 5, 17, 20, 25, 26, 24, 22, 18, 15]
y_2 = [10, 14, 18, 20, 23, 20, 22, 23, 20, 17, 19, 14]
pyplot.figure(figsize=(10, 6), dpi=80)
# 绘制图像
pyplot.plot(x, y_1)
pyplot.plot(x, y_2)
pyplot.legend(["温度一", "温度二"])
# 生成网格
pyplot.grid()
# 设置x的刻度
x_ticks = []
for i in range(2, 25):
x_ticks.append(i)
x_ticks_labels = []
for i in x_ticks:
x_ticks_labels.append("时间.{1}".format(1, i))
pyplot.xticks(x_ticks[::2], x_ticks_labels[::2], rotation=22)
# 设置y的刻度
pyplot.yticks(range(0, 30, 5))
pyplot.xlabel("时间/点")
pyplot.ylabel("温度/摄氏度")
pyplot.title("温度变化折线图")
# 保存为文件
pyplot.savefig("./t1.svg")
pyplot.show()
效果图
折线图
2.散点图
from matplotlib import pyplot
import matplotlib
# 默认无法显示中文,通过设置本地字体解决
font = {'family' : 'MicroSoft YaHei', 'weight' : 'bold'}
matplotlib.rc('font', **font)
x_1 = range(2, 26, 2)
x_2 = range(40, 64, 2)
y_1 = [15, 13, 14, 5, 17, 20, 25, 26, 24, 22, 18, 15]
y_2 = [10, 14, 18, 20, 23, 20, 22, 23, 20, 17, 19, 14]
pyplot.figure(figsize=(10, 6), dpi=80)
# 绘制图像
pyplot.scatter(x_1, y_1)
pyplot.scatter(x_2, y_2)
pyplot.legend(["温度一", "温度二"])
# 生成网格
pyplot.grid()
# 设置x的刻度
x_ticks = []
for i in range(2, 64):
x_ticks.append(i)
x_ticks_labels = []
for i in x_ticks:
x_ticks_labels.append("时间.{1}".format(1, i))
pyplot.xticks(x_ticks[::4], x_ticks_labels[::4], rotation=22)
# 设置y的刻度
pyplot.yticks(range(0, 30, 5))
pyplot.xlabel("时间/点")
pyplot.ylabel("温度/摄氏度")
pyplot.title("温度变化散点图")
# 保存为文件
pyplot.savefig("./t1.svg")
pyplot.show()
效果图
散点图
4.条形图,竖直的
from matplotlib import pyplot
x = range(1, 13)
y = [15, 13, 14, 5, 17, 20, 25, 26, 24, 22, 18, 15]
pyplot.figure(figsize=(10, 6), dpi=80)
# 绘制图像
pyplot.bar(x, y, width=0.3, color="r")
pyplot.legend(["Temperature line"])
# 生成网格
pyplot.grid()
# 设置x的刻度
pyplot.xticks(x, rotation=45)
# 设置y的刻度
pyplot.yticks(range(0, 30, 5))
pyplot.show()
效果图
竖直的条形图
3.条形图,水平的
from matplotlib import pyplot
a = range(1, 13)
b = [15, 13, 14, 5, 17, 20, 25, 26, 24, 22, 18, 15]
pyplot.figure(figsize=(10, 6), dpi=80)
# 绘制图像
pyplot.barh(a, b, height=0.5, color="yellow")
pyplot.legend(["Temperature line"])
# 生成网格
pyplot.grid()
# 设置y的刻度
pyplot.yticks(a, rotation=45)
# 设置x的刻度
pyplot.xticks(range(0, 30, 5))
pyplot.show()
效果图
水平的条形图
5.多条形图
from matplotlib import pyplot
import matplotlib
# 默认无法显示中文,通过设置本地字体解决
font = {'family' : 'MicroSoft YaHei', 'weight' : 'bold'}
matplotlib.rc('font', **font)
a = ["猩球崛起3:终极之战", "敦刻尔克", "蜘蛛侠:英雄归来", "战狼2"]
# 票房数据
b_1 = [15746, 312, 4497, 319]
b_2 = [12357, 156, 2045, 168]
b_3 = [2358, 399, 2358, 362]
pyplot.figure(figsize=(10, 6), dpi=80)
x_1 = range(1, 5)
x_2 = []
for i in x_1:
x_2.append(i+0.2)
x_3 = []
for i in x_2:
x_3.append(i+0.2)
# 绘制图像
pyplot.bar(x_1, b_1, width=0.2, color="blue", label="1号")
pyplot.bar(x_2, b_2, width=0.2, color="orange", label="2号")
pyplot.bar(x_3, b_3, width=0.2, color="red", label="3号")
pyplot.legend()
# 生成网格
pyplot.grid()
# 设置x的刻度
pyplot.xticks(x_2, a)
# 设置y的刻度
pyplot.yticks(range(0, 18000, 1000))
pyplot.xlabel("电影名称")
pyplot.ylabel("当天票房")
pyplot.title("电影/票房条形图")
pyplot.show()
效果图
多条形图
网友评论