pythonMatplotlib绘制线性图
⼀、绘制直线
在使⽤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.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 ]
linspace numpy
#绘制⼀元⼆次曲线
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_s(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.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
# 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,shgrid(x,y)
# 计算Z的坐标
Z=np.sqrt(X**2+Y**2)
# 颜⾊越深表⽰值越⼩,中间的⿊⾊表⽰z=0.
plt.show()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。