1.导包
import matplotlib.pyplot as plt
import random
#设置中文显示
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
2.准备数据
x=[]
y=[]
2.创建画布
plt.figure(figsize=(20,8),dpi=100)
注:figsize=(画布宽度,画布高度),dpi是指画布像素
3.绘图
plt.plot(x,y,color='r',linestyle='--')
#设置刻度[::5]切片
plt.xticks(x[::5])
plt.yticks(y[::5])
#添加描述信息
plt.xlabel("描述信息")
plt.ylabel("描述信息")
plt.title("标题名")
#添加网格线
plt.grid(True,linestyle='--',alpha=0.5)
4.保存图片
plt.savefig("图片保存的路径及名称")
5.显示图像(4,5步顺序不能调换,如果4,5步调换顺序,则图片无法保存)
plt.show()
#数据解析
alpha 线条透明度
# 设置x轴的刻度
plt.xticks(range(0,25))
import matplotlib.pyplot as plt
import random
#设置中文显示
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
公式:
plt.plot(横轴,纵轴)
示例:
#创建画布
plt.figure(figsize=(20,8),dpi=100)
#绘图
plt.plot([3,6,7,9,22],[4,7,1,7,8])
#保存图片
plt.savefig("./test.png")
#显示图像
plt.show()
示例:
12点-13点的一小时内上海温度在15-18度之间变化,北京温度在-5,5之间变化,在一张表上绘制折线图
import random
# 多次plot
# 0.创建数据
x = range(60)
#random.uniform(start,end)随机生成start,end之间的数据
y_shanghai = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(-5, 5) for i in x]
# 1.创建画布
plt.figure(figsize=(20, 8), dpi=100)
# 2.绘制图
plt.plot(x, y_shanghai, label="上海", color="r", linestyle="--")
plt.plot(x, y_beijing, label="北京")
# 2.1 添加x,y轴的刻度
x_labels_ticks = ["11点{}分".format(i) for i in x]
y_labels_ticks = range(-10, 30)
plt.xticks(x[::5], x_labels_ticks[::5])
plt.yticks(y_labels_ticks[::5])
# 2.2 添加网格线
plt.grid(linestyle="--", alpha=0.5)
# 2.3 添加描述信息
plt.xlabel("时间", fontsize=16)
plt.ylabel("温度", fontsize=16)
plt.title("某城市11点-12点温度变化", fontsize=20)
# 2.4 增加图例(显示的是label信息)
plt.legend(loc="best")
# 3.显示
plt.show()
import numpy as np
x=np.linspace(-10,10,1000)
#设置数学公式
y=np.sin(x)
plt.figure(figsize=(20,8),dpi=100)
plt.plot(x,y)
plt.show()
# 0.准备数据
x = [225.98, 247.07, 253.14, 457.85, 241.58, 301.01, 20.67, 288.64,
163.56, 120.06, 207.83, 342.75, 147.9 , 53.06, 224.72, 29.51,
21.61, 483.21, 245.25, 399.25, 343.35]
y = [196.63, 203.88, 210.75, 372.74, 202.41, 247.61, 24.9 , 239.34,
140.32, 104.15, 176.84, 288.23, 128.79, 49.64, 191.74, 33.1 ,
30.74, 400.02, 205.35, 330.64, 283.45]
#创建画布
plt.figure(figsize=(20,8),dpi=100)
#画图
#散点图
plt.scatter(x,y)
plt.show()
movie_name=['雷神3:诸神黄昏','正义联盟','东方快车谋杀案','寻梦环游记','全球风暴', '降魔传','追捕','七十七天','密战','狂兽','其它']
x=range(len(movie_name))
y=[73853,57767,22354,15969,14839,8725,8716,8318,7916,6764,52222]
#创建画布
plt.figure(figsize=(20,8),dpi=100)
#绘制柱状图
plt.bar(x,y,width=0.5,color=['b','r','g','y','c','m','y','k','c','g','b'])
#设置x轴的刻度
plt.xticks(x,movie_name)
#添加网格线
plt.grid(True,linestyle='--',alpha=0.5)
添加标题
plt.title("电影票房收入对比")
plt.show()