脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 使用Python绘制图表大全总结

使用Python绘制图表大全总结

2020-09-20 12:21天善智能 Python

本篇文章主要介绍了使用Python绘制图表大全总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

在使用Python绘制图表前,我们需要先安装两个库文件numpy和matplotlib。

Numpy是Python开源的数值计算扩展,可用来存储和处理大型矩阵,比Python自身数据结构要高效;matplotlib是一个Python的图像框架,使用其绘制出来的图形效果和MATLAB下绘制的图形类似。

下面我通过一些简单的代码介绍如何使用 Python绘图。

一、图形绘制

使用Python绘制图表大全总结

直方图

?
1
2
3
4
5
6
7
8
9
10
11
12
13
importmatplotlib.pyplotasplt
 
importnumpyasnp
 
mu=100
 
sigma=20
 
x=mu+sigma*np.random.randn(20000)# 样本数量
 
plt.hist(x,bins=100,color='green',normed=True)# bins显示有几个直方,normed是否对数据进行标准化
 
plt.show()

条形图

?
1
2
3
4
5
6
7
8
9
10
11
importmatplotlib.pyplotasplt
 
importnumpyasnp
 
y=[20,10,30,25,15]
 
index=np.arange(5)
 
plt.bar(left=index,height=y,color='green',width=0.5)
 
plt.show()

折线图

?
1
2
3
4
5
6
7
8
9
10
11
importmatplotlib.pyplotasplt
 
importnumpyasnp
 
x=np.linspace(-10,10,100)
 
y=x**3
 
plt.plot(x,y,linestyle='--',color='green',marker='<')
 
plt.show()

散点图

?
1
2
3
4
5
6
7
8
9
10
11
importmatplotlib.pyplotasplt
 
importnumpyasnp
 
x=np.random.randn(1000)
 
y=x+np.random.randn(1000)*0.5
 
plt.scatter(x,y,s=5,marker='<')# s表示面积,marker表示图形
 
plt.show()

饼状图

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
importmatplotlib.pyplotasplt
 
importnumpyasnp
 
labels='A','B','C','D'
 
fracs=[15,30,45,10]
 
plt.axes(aspect=1)#使x y轴比例相同
 
explode=[0,0.05,0,0]# 突出某一部分区域
 
plt.pie(x=fracs,labels=labels,autopct='%.0f%%',explode=explode)#autopct显示百分比
 
plt.show()

箱形图

主要用于显示数据的分散情况。图形分为上边缘、上四分位数、中位数、下四分位数、下边缘。外面的点时异常值

?
1
2
3
4
5
6
7
8
9
10
11
12
13
importmatplotlib.pyplotasplt
 
importnumpyasnp
 
np.random.seed(100)
 
data=np.random.normal(size=(1000,4),loc=0,scale=1)
 
labels=['A','B','C','D']
 
plt.boxplot(data,labels=labels)
 
plt.show()

二、图像的调整

1、23种点形状

?
1
2
3
4
5
6
7
8
9
"."point","pixel"o"circle"v"triangle_down
 
"^"triangle_up"<"triangle_left">"triangle_right"1"tri_down
 
"2"tri_up"3"tri_left"4"tri_right"8"octagon
 
"s"square"p"pentagon"*"star"h"hexagon1"H"hexagon2
 
"+"plus"x"x"D"diamond"d"thin_diamond

2、8种內建默认颜色的缩写

?
1
2
3
b:blueg:greenr:redc:cyan
 
m:magentay:yellowk:blackw:white

3、4种线性

- 实线 --虚线 -.点划线 :点线

4、一张图上绘制子图

使用Python绘制图表大全总结

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
importmatplotlib.pyplotasplt
 
importnumpyasnp
 
x=np.arange(1,100)
 
plt.subplot(221)#2行2列第1个图
 
plt.plot(x,x)
 
plt.subplot(222)
 
plt.plot(x,-x)
 
plt.subplot(223)
 
plt.plot(x,x*x)
 
plt.subplot(224)
 
plt.plot(x,np.log(x))
 
plt.show()

5、生成网格

使用Python绘制图表大全总结

?
1
2
3
4
5
6
7
8
9
10
11
importmatplotlib.pyplotasplt
 
importnumpyasnp
 
y=np.arange(1,5)
 
plt.plot(y,y*2)
 
plt.grid(True,color='g',linestyle='--',linewidth='1')
 
plt.show()

6、生成图例

使用Python绘制图表大全总结

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
importmatplotlib.pyplotasplt
 
importnumpyasnp
 
x=np.arange(1,11,1)
 
plt.plot(x,x*2)
 
plt.plot(x,x*3)
 
plt.plot(x,x*4)
 
plt.legend(['Normal','Fast','Faster'])
 
plt.show()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.jianshu.com/p/1b6a0d4fecec

延伸 · 阅读

精彩推荐