赞
踩
*首先要导入matplotlib的相关包
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.family"] = "SimHei" # 用来设置字体
mpl.rcParams["axes.unicode_minus"]=False # 用来正常显示负号
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
figure = plt.figure() #创建画布
axes1 = figure.add_subplot(2,1,1)#如果我们在一张画布中要有两个坐标图,我们就用.add_subplot来添加
axes2 = figure.add_subplot(2,1,2)#(2,1,1)这个是坐标
axes1.plot([1,3,8,7],[4,9,6,8])#图一的横坐标和纵坐标
axes2.plot([1,2,4,6],[8,4,6,2])
figure.show()#显示图片
import matplotlib.pyplot as plt
x=range(2,26,2) #x轴坐标
y=[15,13,14.5,17,20,25,26,26,27,22,18,15] #y轴坐标
plt.plot(x,y) # 通过plot画出折线
plt.title("温度的变化") # 设置折线标题
plt.xticks(x) # 设置x的刻度,同理有yticks
plt.xlabel('month') # 设置x轴标签
plt.ylabel('price') # 设置y轴标签
plt.title("温度的变化",fontproperties='simhei',fontsize = 20) #在编程中用fontproperties也可以修改字体
plt.savefig("test.png") #将输出图形存储为文件,默认PNG格式,可以通过dpi修改输出质量。
plt.show() # 显示折线
plt.plot(x, x, color='red', linestyle='-', marker='o', label='line1')//对折线图的细节设置
plt.plot(x, x+2, color='green', linestyle='--', marker='v', label='line2')
plt.plot(x, x**2, color='blue', linestyle='--', marker='s', label='line3')
*字体颜色
标记和线段样式
mport matplotlib.pyplot as plt
x=[2,4,6,8,10,12]
y=[41,43,45,50,43,41]
plt.subplot(2,1,1) #(2行1列,第1个区域)
plt.plot(x,x,color='red')
#plt.legend(loc='upper left')#用来显示标签
plt.savefig("test2.png")
plt.subplot(2,1,2) #(2行1列,第2个区域)
plt.plot(y,y,color='green')
plt.savefig("test3.png")
plt.show()
语法格式
绘制X轴平行线
plt.axhline(y,xmin,xmax)
绘制Y轴平行线
plt.axvline(x,ymin,ymax)
import matplotlib.pyplot as plt
x_lable=["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","生化危机6:终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:殊死一战","蜘蛛侠:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊"]
x = range(len(x_lable))
y=[56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23]
plt.bar(x,y,width=0.2)
plt.xticks(x,x_lable,fontproperties='simhei',rotation=90) #设置坐标轴,并将文字旋转90度。
plt.xlabel('片名',fontproperties='simhei')
plt.ylabel('票房',fontproperties='simhei')
plt.savefig("test5.png")
plt.show()
*绘制横向的图用
plt.barh(x,y,tick_label = label);
*我们通过plt.pie (x, explode, labels, autopct, shadow, startangle)函数可以绘制散点图。其中
(1)x表示数据
(2)explode表示突出的部分
(3)labels表示标签
(4)autopct设置每个部分显示的比例值(格式化)。,%0.1%% 保留一位小数
(5)shadow表示是否显示阴影bool
(6)pctdistance表示数据标签的距离圆心位置 0~1
(7)labeldistance表示标签的比例。
(8)startangle 表示开始绘图的角度
(9)radius表示半径长,默认是1
import matplotlib.pyplot as plt
labels = 'Frogs' , 'Hogs', 'Dogs', 'Logs'
x = [15,30,45,10]
explode = (0,0.1,0,0)
plt.pie(x,explode=explode,labels=labels,autopct='%1.1f%%',
shadow=False, startangle=90)
plt.axis('equal')
plt.savefig("test8.png")
plt.show()
*散点图用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或坐标点的分布情况。判断变量之间是否存在关联趋势,判断离群点。
*我们通过plt.scatter (x, y, s, c, marker, alpha,edgecolors)函数可以绘制散点图。其中
(1)x,y:表示的是x轴和y轴的坐标,也就是我们即将绘制散点图的数据点坐标。
(2)s:是一个实数,表示点的大小。
(3)c:表示的是颜色。
(4)marker:表示点形状,默认的是’o’。
(5)alpha:是一个实数,表示点的透明度。
(6)edgecolors表示每个散点外轮廓的颜色。
import matplotlib.pyplot as plt
import numpy as np
x= range(0,31,1)
y3=[11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
y10=[8,26,28,19,21,17,16,19,18,20,20,19,22,23,10,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]
plt.scatter(x,y3,marker='o')
plt.scatter(x,y10,marker='x')
plt.xlabel('day')
plt.ylabel('temperture')
plt.savefig("test4.png")
plt.show()
plt.hist(data, bins=30,histtype=‘stepfilled’, density=True)
hist的参数非常多,但常用的就这六个,只有第一个是必须的,后面四个可选
x = np.linspace(0.05, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.axvspan(xmin=4, xmax=6, facecolor=‘r’, alpha=0.3) # 垂直x轴
plt.axhspan(ymin=-0.2, ymax=0.2, facecolor=‘y’, alpha=0.3); # 垂直y轴
*如果想设置背景网格可以用grid
plt.grid(True,axis=“y”)
*设置绘图模式背景模式
plt.style.use(‘fivethirtyeight’)
*保存图像
pi:每英寸分辨率点数。
facecolor:设置图像的背景色。
bbox_inches:设置为tight,可以紧凑保存图像,删除figure周围的空白部分
plt.savefig("image1.png",dpi=100,facecolor="g",bbox_inches="tight")
*设置画布大小及透明度
plt.figure(figsize=(6,5),dpi=100)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。