Matplotlib模块

时间:2022-11-08 00:45:45


目录

  • ​​Matplotlib​​
  • ​​ 导包​​
  • ​​ 注​​
  • ​​点线图(.plot())​​
  • ​​代码​​
  • ​​生成图形​​
  • ​​参数参考​​
  • ​​柱状图(.bar())​​
  • ​​代码​​
  • ​​生成图形​​
  • ​​参数参考​​
  • ​​饼状图(.pie())​​
  • ​​代码​​
  • ​​生成图形​​
  • ​​参数参考​​
  • ​​散点图(.scatter())​​
  • ​​代码​​
  • ​​生成图形​​
  • ​​参数参考​​

Matplotlib

导包

import matplotlib as mpl
import matplotlib.pyplot as plt
#导入numpy模块
import numpy as np

#用来正常显示中文标签
plt.rcParams['font.sans-serif']=['SimHei']
#用来正常显示负号
plt.rcParams['axes.unicode_minus']=False

点线图(.plot())

代码

#x坐标采样点生成
x=np.arange(0,11,0.2)
#计算对应y的正弦值
y=np.sin(x)
#控制图形格式为蓝色带星的虚线
plt.plot(x,y,color='r',marker='D',linestyle='--',linewidth=1,alpha=0.5,label='sin')
#显示label
plt.legend()
#横坐标说明
plt.xlabel('横坐标说明')
#纵坐标说明
plt.ylabel('纵坐标说明')
#显示图形
plt.show()

生成图形


Matplotlib模块

参数参考


Matplotlib模块

Matplotlib模块

Matplotlib模块

柱状图(.bar())

代码

#柱状图数据
animal_speed={'dog':(48,'#7199cf'),
'cat': (45, '#4fc4aa'),
'cheetah': (120, '#e1a7a2')}
#分离数据
x_key = animal_speed.keys()
value = animal_speed.values()
#分离y轴值和颜色
speed = [i[0] for i in value]
color = [i[1] for i in value]
#绘制柱状图
bars = plt.bar(x_key,speed,width = 0.4,color = 'r',edgecolor = 'black')
#给每一个柱子赋予不同的颜色
for c,b in zip(color,bars):
b.set_color(c)
#添加文字描述,'%d(km/h)'%y格式化输出文本,ha控制横向居中,va纵向在柱子顶端
#text(x横坐标,y纵坐标,显示数据,水平对齐,垂直对齐)
for x,y in zip(x_key,speed):
plt.text(x,y,'%d(km/h)'%y,ha = 'center',va = 'bottom')
#x,y 轴标签
plt.xlabel('animal')
plt.ylabel('speed')
#显示标题
plt.title('动物速度')
#显示图形
plt.show()

生成图形


Matplotlib模块

参数参考


Matplotlib模块

饼状图(.pie())

代码

# 创建一个字典对象
pg_langs={'Java':(30,'#7B68EE'),'Python':(25,'#EEC900'),
'C#':(15,'#8E388E'),'PHP':(7,'#00CD66'),
'HTML5':(13,'#FF8C00'),'Database':(10,'#8B5A00')}
#各个部分的占比(必选参数)
per = [i[0] for i in pg_langs.values()]
#颜色的取值
colors =[i[1] for i in pg_langs.values()]
#赋予每一块一个标签,(标签,占比)
labels = [ '{}\n{}'.format(pg,per) for pg,per in zip(pg_langs.keys(),per)]
#explode描述各部分距离中间点多长
explode= [0,0,0,0.4,0,0]
#必选参数,占比(占比之和100)
#labels,各部分标签值
#labeldistance,标签距离中间点的距离
#colors,注意加s,修改颜色;
#shadow加不加阴影,默认为False
#radius,圆的半径,默认为1
plt.pie(per,labels =labels,labeldistance=0.5,colors= colors,explode = explode,shadow= False,radius=1)
plt.show()

生成图形


Matplotlib模块

参数参考

#explode 描述各部分距离中间点多长 如:explode= [0,0,0,0.4,0,0]
#part 必选参数,占比(占比之和100) 如:per= [30, 25, 15, 7, 13, 10]
#labels,各部分标签值 如:labels= [‘Java\n30’, ‘Python\n25’, ‘C#\n15’, ‘PHP\n7’, ‘HTML5\n13’, ‘Database\n10’]
#labeldistance 标签labels 距离中间点的距离
#colors,注意加s,修改颜色; 如:[’#7B68EE’, ‘#EEC900’, ‘#8E388E’, ‘#00CD66’, ‘#FF8C00’, ‘#8B5A00’]
#shadow加不加阴影,默认为False
#radius,圆的半径,默认为1

散点图(.scatter())

代码

x =  np.random.randn(1,1000)
y = np.random.randn(1,1000)
T = np.arctan2(x,y)

plt.scatter(x,y,c=T,s=25,alpha = 0.4,marker='^')
plt.show()

生成图形


Matplotlib模块

参数参考

散点的颜色 T
散点的大小 s
散点的透明度 alpha
散点的形状 marker