这里有新鲜出炉的 Python3 Cookbook 中文版,程序狗速度看过来!
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
本篇文章主要介绍了使用 Python 绘制图表大全总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在使用 Python 绘制图表前,我们需要先安装两个库文件 numpy 和 matplotlib。
Numpy 是 Python 开源的数值计算扩展,可用来存储和处理大型矩阵,比 Python 自身数据结构要高效;matplotlib 是一个 Python 的图像框架,使用其绘制出来的图形效果和 MATLAB 下绘制的图形类似。
下面我通过一些简单的代码介绍如何使用 Python 绘图。
一、图形绘制
直方图
- 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()
条形图
- 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()
折线图
- importmatplotlib.pyplotasplt
- importnumpyasnp
- x=np.linspace(-10,10,100)
- y=x**3
- plt.plot(x,y,linestyle='--',color='green',marker='<')
- plt.show()
散点图
- 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()
饼状图
- 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()
箱形图
主要用于显示数据的分散情况。图形分为上边缘、上四分位数、中位数、下四分位数、下边缘。外面的点时异常值
- 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 种点形状
- "."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 种內建默认颜色的缩写
- b:blueg:greenr:redc:cyan
- m:magentay:yellowk:blackw:white
3、4 种线性
- 实线 -- 虚线 -. 点划线 :点线
4、一张图上绘制子图
- 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、生成网格
- importmatplotlib.pyplotasplt
- importnumpyasnp
- y=np.arange(1,5)
- plt.plot(y,y*2)
- plt.grid(True,color='g',linestyle='--',linewidth='1')
- plt.show()
6、生成图例
- 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.phperz.com/article/17/0312/324809.html