python Matplotlib绘制线性图
一、绘制直线
在使用Matplotlib绘制线性图时,其中最简单的是绘制线图。在下面的实例代码中,使用Matplotlib绘制了一个简单的直线。具体实现过程如下:
(1)导入模块pyplot,并给它指定别名plt,以免反复输入pyplot。在模块pyplot中包含很多用于生产图表的函数。
(2)将绘制的直线坐标传递给函数plot()。
(3)通过函数plt.show()打开Matplotlib查看器,显示绘制的图形。
【示例】根据两点绘制一条线
import matplotlib.pyplot as plt #将(0,1)点和(2,4)连起来 plt.plot([0,2],[1,4]) plt.show()
二、绘制折线
【示例】绘制折线图
import matplotlib.pyplot as plt x=[1,2,3,4,5] squares=[1,4,9,16,25] plt.plot(x,squares) plt.show()
三、设置标签文字和线条粗细
import matplotlib.pyplot as plt datas=[1,2,3,4,5] squares=[1,4,9,16,25] plt.plot(datas,squares,linewidth=5) #设置线条宽度 #设置图标标题,并在坐标轴上添加标签 plt.title('Numbers',fontsize=24) plt.xlabel('datas',fontsize=14) plt.ylabel('squares',fontsize=14) plt.show()
【示例】解决标签、标题中的中文问题
import matplotlib.pyplot as plt datas=[1,2,3,4,5] squares=[1,4,9,16,25] plt.plot(datas,squares,linewidth=5) #设置线条宽度 #设置中文乱码问题 plt.rcParams['font.sans-serif'] = ['SimHei'] #设置图标标题,并在坐标轴上添加标签 plt.title('标题设置',fontsize=24) plt.xlabel('x轴',fontsize=14) plt.ylabel('y轴',fontsize=14) plt.show()
四、绘制一元二次方程的曲线y=x^2
Matplotlib有很多函数用于绘制各种图形,其中plot函数用于曲线,需要将200个点的x坐标和Y坐标分别以序列的形式传入plot函数,然后调用show函数显示绘制的图形。一元二次方程的曲线
import matplotlib.pyplot as plt #200个点的x坐标 x=range(-100,100) #生成y点的坐标 y=[i**2 for i in x ] #绘制一元二次曲线 plt.plot(x,y) #调用savefig将一元二次曲线保存为result.jpg plt.savefig('result.jpg') #如果直接写成 plt.savefig('cos') 会生成cos.png plt.show()
五、绘制正弦曲线和余弦曲线
使用plt函数绘制任何曲线的第一步都是生成若干个坐标点(x,y),理论上坐标点是越多越好。本例取0到10之间100个等差数作为x的坐标,然后将这100个x坐标值一起传入Numpy的sin和cos函数,就会得到100个y坐标值,最后就可以使用plot函数绘制正弦曲线和余弦曲线。
【示例】正弦曲线和余弦曲线
import matplotlib.pyplot as plt import numpy as np #生成x的坐标(0-10的100个等差数列) x=np.linspace(0,10,100) sin_y=np.sin(x) #绘制正弦曲线 plt.plot(x,sin_y) #绘制余弦曲线 cos_y=np.cos(x) plt.plot(x,cos_y) plt.show()
六、散点图
使用scatter函数可以绘制随机点,该函数需要接收x坐标和y坐标的序列。
import matplotlib.pyplot as plt import numpy as np #画散点图 x=np.linspace(0,10,100)#生成0到10中100个等差数 plt.scatter(x,np.sin(x)) plt.show()
作为线性图的替代,可以通过向 plot() 函数添加格式字符串来显示离散值。 可以使用以下格式化字符。
‘-’ 实线样式
‘–’ 短横线样式
‘-.’ 点划线样式
‘:’ 虚线样式
‘.’ 点标记
‘,’ 像素标记
‘o’ 圆标记
‘v’ 倒三角标记
‘^’ 正三角标记
‘1’ 下箭头标记
‘2’ 上箭头标记
‘3’ 左箭头标记
‘4’ 右箭头标记
‘s’ 正方形标记
‘p’ 五边形标记
‘*’ 星形标记
‘h’ 六边形标记 1
‘H’ 六边形标记 2
‘+’ 加号标记
‘x’ X 标记
‘D’ 菱形标记
‘d’ 窄菱形标记
‘_’ 水平线标记
以下是颜色的缩写:
‘b’ 蓝色
‘g’ 绿色
‘r’ 红色
‘c’ 青色
‘m’ 品红色
‘y’ 黄色
‘k’ 黑色
‘w’ 白色
七、绘制柱状图
使用bar函数可以绘制柱状图。柱状图需要水平的x坐标值,以及每一个x坐标值对应的y坐标值,从而形成柱状的图。柱状图主要用来纵向对比和横向对比的。例如,根据年份对销售收据进行纵向对比,x坐标值就表示年份,y坐标值表示销售数据。
import matplotlib.pyplot as plt import numpy as np x=[1980,1985,1990,1995] x_labels=['1980年','1985年','1990年','1995年'] y=[1000,3000,4000,5000] plt.bar(x,y,width=3) plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.xticks(x,x_labels) plt.xlabel('年份') plt.ylabel('销量') plt.title('根据年份销量对比图') plt.show()
八、绘制饼状图
pie函数可以绘制饼状图,饼图主要是用来呈现比例的。只要传入比例数据即可。
#导入模块 import matplotlib.pyplot as plt import numpy as np #准备男、女的人数及比例 man=71351 woman=68187 man_perc=man/(woman+man) woman_perc=woman/(woman+man) #添加名称 labels=['男','女'] #添加颜色 colors=['blue','red'] #绘制饼状图 pie plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 # labels 名称 colors:颜色,explode=分裂 autopct显示百分比 paches,texts,autotexts=plt.pie([man_perc,woman_perc],labels=labels,colors=colors,explode=(0,0.05),autopct='%0.1f%%') #设置饼状图中的字体颜色 for text in autotexts: text.set_color('white') #设置字体大小 for text in texts+autotexts: text.set_fontsize(20) plt.show()
九、绘制直方图
直方图与柱状图的分格类似,都是由若干个柱组成,但直方图和柱状图的含义却有很大的差异。直方图是用来观察分布状态的,而柱状图是用来看每一个X坐标对应的Y的值的。也就是说,直方图关注的是分布,并不关心具体的某个值,而柱状图关心的是具体的某个值。使用hist函数绘制直方图。
import numpy as np import matplotlib.pyplot as plt #频次直方图,均匀分布 #正太分布 x=np.random.randn(1000) #画正太分布图 # plt.hist(x) plt.hist(x,bins=100) #装箱的操作,将10个柱装到一起及修改柱的宽度
十、等高线图
#导入模块 import matplotlib.pyplot as plt import numpy as npaa x=np.linspace(-10,10,100) y=np.linspace(-10,10,100) #计算x和y的相交点a X,Y=np.meshgrid(x,y) # 计算Z的坐标 Z=np.sqrt(X**2+Y**2) plt.contourf(X,Y,Z) plt.contour(X,Y,Z) # 颜色越深表示值越小,中间的黑色表示z=0. plt.show()
- python+matplotlib绘制3D条形图实例代码
- 使用Python matplotlib绘制3D多边形
- Python第三方库——Matplotlib_在同个figure中绘制多个图并给出legend
- Python使用matplotlib绘制三维曲线
- python+matplotlib实现动态绘制图片实例代码(交互式绘图)
- Python使用matplotlib绘制多个图形单独显示的方法示例
- Python图表绘制:matplotlib绘图库入门
- Python图表绘制:matplotlib绘图库入门(转)
- Python 利用matplotlib绘制热力图 correlation heatmap X,Y 坐标轴字体重叠显示问题,将字体进行旋转
- Python调用Matplotlib绘制分布点图
- 【python数据挖掘课程】二十五.Matplotlib绘制带主题及聚类类标的散点图
- python调用Matplotlib绘制分布点并且添加标签
- Python+matplotlib+numpy绘制精美的条形统计图
- python matplotlib图像的绘制
- Python图表绘制:matplotlib绘图库入门
- Python图表绘制:matplotlib绘图库入门
- Python Matplotlib实现三维数据的散点图绘制
- python matplotlib 用极坐标绘制球员能力图(综合练习)
- 利用python numpy+matplotlib绘制股票k线图的方法
- 使用python matplotlib绘制高级图表