目录
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()
生成图形
![](https://i-blog.csdnimg.cn/blog_migrate/e0f0741358bd3ed23c425fdc0d4a2109.png)
参数参考
![](https://i-blog.csdnimg.cn/blog_migrate/9c73152b347b4d55869ea7cf44fb15b2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3008bc78a07860c331a431a925a1d155.png)
![](https://i-blog.csdnimg.cn/blog_migrate/482392b37cb84e917717335872df8ffe.png)
柱状图(.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()
生成图形
![](https://i-blog.csdnimg.cn/blog_migrate/b8fea1af82794363806616763e942dfb.png)
参数参考
![](https://i-blog.csdnimg.cn/blog_migrate/e92002144f34cb390a350ed824a726d7.png)
饼状图(.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()
生成图形
![](https://i-blog.csdnimg.cn/blog_migrate/363216950f0ddf2b81bea34273908062.png)
参数参考
#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()
生成图形
![](https://i-blog.csdnimg.cn/blog_migrate/3241e5fbae3fc9c2696e825d36b4c3e9.png)
参数参考
散点的颜色 T
散点的大小 s
散点的透明度 alpha
散点的形状 marker