1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > python中使用matplotlib绘制图表

python中使用matplotlib绘制图表

时间:2022-08-12 05:37:48

相关推荐

python中使用matplotlib绘制图表

Pyplot 是 Matplotlib 的子库,提供了和MATLAB 类似的绘图 API

import matplotlib.pyplot as plt

fig = plt.figure()ax = fig.add_subplot(111)ax.set(xlim=[0.5, 4.5], ylim=[-2, 8], title='An Example Axes',ylabel='Y-Axis',xlabel='X-Axis')plt.show()

线形图

matplotlib提供plot()函数绘制一系列点,用线将其连起来。

import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0,np.pi)y_sin = np.sin(x)y_cos = np.cos(x)fig = plt.figure()# add_subplot(221)前面两个参数确定了面板的划分,第三个参数确定表示第几个Axisax1 = fig.add_subplot(221)ax2 = fig.add_subplot(222)ax3 = fig.add_subplot(224)ax1.plot(x,y_sin)ax2.plot(x,y_sin,'go--',linewidth=2,markersize=12)ax3.plot(x,y_cos,color='red',marker='+',linestyle='dashed') # 颜色,标记,线形plt.show()

plot()函数用法

格式:plt.plot(x, y, ls=‘-’, lw=2, label=‘xxx’, color=‘g’ )

x: x轴上的值

y: y轴上的值

ls:线条风格 (linestyle)

lw:线条宽度 (linewidth)

label:标签文本

注意: 对于线条颜色,必须写上color=‘red’,而不是只写color=‘’,不然会报错SyntaxError: positional argument follows keyword argument,意思是参数位置不正确导致的错误,也就是说 color=''没有默认的颜色

散点图

散点图用于表示多个变量的相关性。Matplotlib提供scatter()函数绘制散点图。

random.rand():这个函数的参数是数组的维度,取值范围是 [0,1)

import matplotlib.pyplot as pltimport numpy as npN = 50plt.scatter(np.random.rand(N)*50,np.random.rand(N)*50,c='r',s=50,alpha=0.5)plt.scatter(np.random.rand(N)*50,np.random.rand(N)*50,c='g',s=50,alpha=0.5)plt.scatter(np.random.rand(N)*50,np.random.rand(N)*50,c='b',s=50,alpha=0.5)plt.show()

scatter()函数用法

matplotlib.pyplot.scatter(x, y, s=20, c='b', marker='o', cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, hold=None, **kwargs)

x,y:表示的是shape大小为(n,)的数组,也就是我们即将绘制散点图的数据点,输入数据。

s:表示的是大小,是一个标量或者是一个shape大小为(n,)的数组,可选,默认20。

c:表示的是色彩或颜色序列,可选,默认蓝色’b’。但是 c不应该是一个单一的RGB数字,也不应该是一个RGBA的序列,因为不便区分。c可以是一个RGB或RGBA二维行数组。

饼状图

饼状图是被用于分成若干部分的圆表示部分在整体中所占的比例。Matplotlib中提供pie()函数来绘制饼状图

import matplotlib.pyplot as pltimport numpy as nplabels = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun']data = np.random.rand(7)*100print(data)plt.pie(data,labels=labels,autopct='%1.1f%%') # labels :(每一块)饼图外侧显示的说明文字plt.axis('equal') # 该行代码使饼图长宽相等plt.legend() # 添加图例plt.show()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。