南昌网站建设方案推广直播网站建设1个节点多少钱
news/
2025/9/27 5:49:10/
文章来源:
南昌网站建设方案推广,直播网站建设1个节点多少钱,wordpress数据连接失败,wordpress实用文章目录 Matplotlibmatplotlib开发环境搭建绘制基础绘制直线绘制折线设置标签文字和线条粗细绘制一元二次方程的曲线yx^2绘制正弦曲线和余弦曲线散点图绘制柱状图绘制饼状图绘制直方图等高线图绘制三维图 Matplotlib
Matplotlib 是一个Python的 2D绘图库。通过 Matplotlibx^2绘制正弦曲线和余弦曲线散点图绘制柱状图绘制饼状图绘制直方图等高线图绘制三维图 Matplotlib
Matplotlib 是一个Python的 2D绘图库。通过 Matplotlib开发者可以仅需要几行代码便可以生成绘图直方图功率谱条形图错误图散点图等。 通过学习Matplotlib可让数据可视化更直观的真实给用户。使数据更加客观、更具有说服力。 Matplotlib是Python的库又是开发中常用的库。
matplotlib开发环境搭建
如果使用的是Anaconda Python开发环境那么Matplotlib已经被集成进Anaconda并不需要单独安装。如果使用的是标准的Python开发环境可以使用下面的命令安装Matplotlib
Windows 系统安装 Matplotlib执行如下命令
pip install matplotlib如果要了解Matplotlib更详细的情况请访问官方网站。网址如下https://matplotlib.org。 安装完Matplotlib后可以测试一下Matplotlib是否安装成功。进入Python的环境使用下面的语句导入matplotlib.pyplot模块。如果不出错就说明Matplotlib已经安装成功了。
import matplotlib.pyplot as plt虽然上述的安装方式比较简单但是有时候不能确保安装成功或者并不能保证安装的Matplotlib版本适合当今Python环境。在这个时候建议读者登录Python官方网站https://www.python.org/点击菜单PyPI输入Matplotlib到下载页如下图所示在这个页面中查找与你使用的Python版本匹配的wheel文件扩展名为“.whl”的文件。例如使用的是64位的Python3.6则需要下载matplotlib-3.1.0-cp36-cp36m-win_amd64.whl。 当读者下载到得到的文件是matplotlib-3.1.0-cp36-cp36m-win_amd64.whl将这个文件保存在” E:/matp”目录下。接下来需要打开一个命令窗口并切换到“e:/matp”目录下。执行如下命令安装Matplotlib。
pip install matplotlib-3.1.0-cp36-cp36m-win_amd64.whl绘制基础
在使用Matplotlib绘制图形时其中有两个最为常用的场景。一个是画点一个是画线。pyplot基本方法的使用如下表。 绘制直线
在使用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()运行结果如下图 在上述的实例代码中使用两个坐标绘制一条直线接下来使用平方数序列1、4、9、16和25来绘制一个折线图。
绘制折线
【示例】绘制折线图
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,linewidth5) #设置线条宽度
#设置图标标题并在坐标轴上添加标签
plt.title(Numbers,fontsize24)
plt.xlabel(datas,fontsize14)
plt.ylabel(squares,fontsize14)
plt.show()Matplotlib 默认情况不支持中文我们可以使用以下简单的方法来解决
plt.rcParams[font.sans-serif][SimHei] #用来正常显示中文标签【示例】解决标签、标题中的中文问题
import matplotlib.pyplot as plt
datas[1,2,3,4,5]
squares[1,4,9,16,25]
plt.plot(datas,squares,linewidth5) #设置线条宽度
#设置中文乱码问题
plt.rcParams[font.sans-serif] [SimHei]
#设置图标标题并在坐标轴上添加标签
plt.title(标题设置,fontsize24)
plt.xlabel(x轴,fontsize14)
plt.ylabel(y轴,fontsize14)
plt.show()绘制一元二次方程的曲线yx^2
Matplotlib有很多函数用于绘制各种图形其中plot函数用于曲线需要将200个点的x坐标和Y坐标分别以序列的形式传入plot函数然后调用show函数显示绘制的图形。一元二次方程的曲线 【示例】一元二次方程的曲线
import matplotlib.pyplot as plt
#200个点的x坐标
xrange(-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个等差数列
xnp.linspace(0,10,100)
sin_ynp.sin(x)
#绘制正弦曲线
plt.plot(x,sin_y)
#绘制余弦曲线
cos_ynp.cos(x)
plt.plot(x,cos_y)
plt.show()运行结果如下图 上面的示例可以看到调用两次plot函数会将sin和cos曲线绘制到同一个二维坐标系中如果想绘制到两张画布中可以调用subplot()函数将画布分区。 【示例】将画布分为区域将图画到画布的指定区域
import matplotlib.pyplot as plt
import numpy as np
#将画布分为区域将图画到画布的指定区域
xnp.linspace(1,10,100)
#将画布分为2行2列将图画到画布的1区域
plt.subplot(2,2,1)
plt.plot(x,np.sin(x))
plt.subplot(2,2,3)
plt.plot(x,np.cos(x))
plt.show()运行结果图 散点图
使用scatter函数可以绘制随机点该函数需要接收x坐标和y坐标的序列。 【示例】sin函数的散点图
import matplotlib.pyplot as plt
import numpy as np
#画散点图
xnp.linspace(0,10,100)#生成0到10中100个等差数
plt.scatter(x,np.sin(x))
plt.show()运行结果图 【示例】使用scatter画10中大小100中颜色的散点图
import matplotlib.pyplot as plt
import numpy as np
# 画10种大小 100种颜色的散点图
np.random.seed(0)
xnp.random.rand(100)
ynp.random.rand(100)
colorsnp.random.rand(100)
sizenp.random.rand(10)*1000
plt.scatter(x,y,ccolors,ssize,alpha0.7)
plt.show()运行结果图
作为线性图的替代可以通过向 plot() 函数添加格式字符串来显示离散值。 可以使用以下格式化字符。 以下是颜色的缩写 【示例】不同种类不同颜色的线
#不同种类不同颜色的线
xnp.linspace(0,10,100)
plt.plot(x,x0,-g) #实线 绿色
plt.plot(x,x1,--c) #虚线 浅蓝色
plt.plot(x,x2,-.k) #点划线 黑色
plt.plot(x,x3,-r) #实线 红色
plt.plot(x,x4,o) #点 默认是蓝色
plt.plot(x,x5,x) #叉叉 默认是蓝色
plt.plot(x,x6,d) #砖石 红色【示例】不同种类不同颜色的线并添加图例
#不同种类不同颜色的线并添加图例
xnp.linspace(0,10,100)
plt.plot(x,x0,-g,label-g) #实线 绿色
plt.plot(x,x1,--c,label--c) #虚线 浅蓝色
plt.plot(x,x2,-.k,label-.k) #点划线 黑色
plt.plot(x,x3,-r,label-r) #实线 红色
plt.plot(x,x4,o,labelo) #点 默认是蓝色
plt.plot(x,x5,x,labelx) #叉叉 默认是蓝色
plt.plot(x,x6,dr,labeldr) #砖石 红色
#添加图例右下角lower right 左上角upper left 边框 透明度 阴影 边框宽度
plt.legend(loclower right,fancyboxTrue,framealpha1,shadowTrue,borderpad1)
plt.show()运行结果图 绘制柱状图
使用bar函数可以绘制柱状图。柱状图需要水平的x坐标值以及每一个x坐标值对应的y坐标值从而形成柱状的图。柱状图主要用来纵向对比和横向对比的。例如根据年份对销售收据进行纵向对比x坐标值就表示年份y坐标值表示销售数据。 【示例】使用bar绘制柱状图并设置柱的宽度
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,width3)
plt.rcParams[font.sans-serif][SimHei] #用来正常显示中文标签
plt.xticks(x,x_labels)
plt.xlabel(年份)
plt.ylabel(销量)
plt.title(根据年份销量对比图)
plt.show()运行结果图
需要注意的是bar函数的宽度并不是像素宽度。bar函数会根据二维坐标系的尺寸以及x坐标值的多少自动确定每一个柱的宽度而width指定的宽度就是这个标准柱宽度的倍数。该参数值可以是浮点数如0.5表示柱的宽度是标准宽度的0.5倍。 【示例】使用bar和barh绘制柱状图
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
xnp.arange(5)
ynp.random.randint(-5,5,5)
print(x,y)
# 将画布分隔成一行两列
plt.subplot(1,2,1)
#在第一列中画图
v_barplt.bar(x,y)
#在第一列的画布中 0位置画一条蓝线
plt.axhline(0,colorblue,linewidth2)
plt.subplot(1,2,2)
#barh将y和x轴对换 竖着方向为x轴
h_barplt.barh(x,y,colorred)
#在第二列的画布中0位置处画蓝色的线
plt.axvline(0,colorred,linewidth2)
plt.show()运行结果图 【示例】对部分柱状图使用颜色区分
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
xnp.arange(5)
ynp.random.randint(-5,5,5)
v_barplt.bar(x,y,colorlightblue)
for bar,height in zip(v_bar,y):if height0:bar.set(edgecolordarkred,colorlightgreen,linewidth3)
plt.show()运行结果图
【示例】柱状图使用实例
import matplotlib.pyplot as plt
import numpy as np
#三天中三部电影的票房变化
real_names[千与千寻,玩具总动员4,黑衣人全球追缉]
real_num1[5453,7548,6543]
real_num2[1840,4013,3421]
real_num3[1080,1673,2342]
#生成x 第1天 第2天 第3天
xnp.arange(len(real_names))
x_label[第{}天.format(i1) for i in range(len(real_names))]
#绘制柱状图
#设置柱的宽度
width0.3
plt.bar(x,real_num1,colorg,widthwidth,labelreal_names[0])
plt.bar([iwidth for i in x],real_num2,colorb,widthwidth,labelreal_names[1])
plt.bar([i2*width for i in x],real_num3,colorr,widthwidth,labelreal_names[2])
plt.rcParams[font.sans-serif][SimHei] #用来正常显示中文标签
#修改x坐标
plt.xticks([iwidth for i in x],x_label)
#添加图例
plt.legend()
#添加标题
plt.title(3天的票房数)
plt.show()运行结果图 绘制饼状图
pie函数可以绘制饼状图饼图主要是用来呈现比例的。只要传入比例数据即可。 【示例】绘制饼状图
#导入模块
import matplotlib.pyplot as plt
import numpy as np
#准备男、女的人数及比例
man71351
woman68187
man_percman/(womanman)
woman_percwoman/(womanman)
#添加名称
labels[男,女]
#添加颜色
colors[blue,red]
#绘制饼状图 pie
plt.rcParams[font.sans-serif][SimHei] #用来正常显示中文标签
# labels 名称 colors颜色explode分裂 autopct显示百分比
paches,texts,autotextsplt.pie([man_perc,woman_perc],labelslabels,colorscolors,explode(0,0.05),autopct%0.1f%%)#设置饼状图中的字体颜色
for text in autotexts:text.set_color(white)#设置字体大小
for text in textsautotexts:text.set_fontsize(20)
plt.show()运行结果图 绘制直方图
直方图与柱状图的分格类似都是由若干个柱组成但直方图和柱状图的含义却有很大的差异。直方图是用来观察分布状态的而柱状图是用来看每一个X坐标对应的Y的值的。也就是说直方图关注的是分布并不关心具体的某个值而柱状图关心的是具体的某个值。使用hist函数绘制直方图。 【示例】使用randn函数生成1000个正太分布的随机数使用hist函数绘制这1000个随机数的分布状态
import numpy as np
import matplotlib.pyplot as plt
#频次直方图均匀分布
#正太分布
xnp.random.randn(1000)
#画正太分布图
# plt.hist(x)
plt.hist(x,bins100) #装箱的操作将10个柱装到一起及修改柱的宽度运行结果图
【示例】使用normal函数生成1000个正太分布的随机数使用hist函数绘制这100个随机数的分布状态
import numpy as np
import matplotlib.pyplot as plt
#几个直方图画到一个画布中,第一个参数期望 第二个均值
x1np.random.normal(0,0.8,1000)
x2np.random.normal(-2,1,1000)
x3np.random.normal(3,2,1000)
#参数分别是bins装箱alpha透明度
kwargsdict(bins100,alpha0.4)
plt.hist(x1,**kwargs)
plt.hist(x2,**kwargs)
plt.hist(x3,**kwargs)
plt.show()运行结果图
等高线图
【示例】使用pyplot绘制等高线图
#导入模块
import matplotlib.pyplot as plt
import numpy as np
xnp.linspace(-10,10,100)
ynp.linspace(-10,10,100)
#计算x和y的相交点a
X,Ynp.meshgrid(x,y)
# 计算Z的坐标
Znp.sqrt(X**2Y**2)
plt.contourf(X,Y,Z)
plt.contour(X,Y,Z)
# 颜色越深表示值越小中间的黑色表示z0.
plt.show()运行结果图 绘制三维图
使用pyplot包和Matplotlib绘制三维图。 【示例】使用pyplot包和Matplotlib绘制三维图
import matplotlib.pyplot as plt
#导入3D包
from mpl_toolkits.mplot3d import Axes3D
#创建X、Y、Z坐标
X[1,1,2,2]
Y[3,4,4,3]
Z[1,100,1,1]
fig plt.figure()
# 创建了一个Axes3D的子图放到figure画布里面
ax Axes3D(fig)
ax.plot_trisurf(X, Y, Z)
plt.show()运行结果图
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919102.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!