日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > TsinghuaJoking
[導(dǎo)讀]很多情況下,為了能夠觀察到數(shù)據(jù)之間的內(nèi)部的關(guān)系,可以使用繪圖來更好的顯示規(guī)律。

很多情況下,為了能夠觀察到數(shù)據(jù)之間的內(nèi)部的關(guān)系,可以使用繪圖來更好的顯示規(guī)律。


比如在下面的幾張動圖中,使用matplotlib中的三維顯示命令,使得我們可以對于logistic回歸網(wǎng)絡(luò)的性能與相關(guān)參數(shù)有了更好的理解。


下面的動圖顯示了在訓(xùn)練網(wǎng)絡(luò)時(shí),不同的學(xué)習(xí)速率對于算法收斂之間的影響。



下面給出了繪制這些動態(tài)曲線的相關(guān)的python指令:

01 3D plot


1.基本語法

在安裝matplotlib之后,自動安裝有 mpl_toolkits.mplot3d。

#Importing?Libraries
import?matplotlib.pyplot?as?plt
from?mpl_toolkits.mplot3d?import?axes3d

#3D?Plotting
fig?=?plt.figure()
ax?=?plt.axes(projection="3d")

#Labeling
ax.set_xlabel('X?Axes')
ax.set_ylabel('Y?Axes')
ax.set_zlabel('Z?Axes')

plt.show()

2.Python Cmd

使用pythoncmd 插入相應(yīng)的語句。

3.舉例

(1) Ex1

#!/usr/local/bin/python
#?-*-?coding:?gbk?-*-
#******************************
#?TEST2.PY?????????????????????--?by?Dr.?ZhuoQing?2020-11-16
#
#?Note:
#******************************

from?headm?import?*
from?mpl_toolkits.mplot3d?import?axes3d

ax?=?plt.axes(projection='3d')
x?=?[1,2,3,4,5,6,7,8,9]
y?=?[2,3,4,6,7,8,9,5,1]
z?=?[5,6,2,4,8,6,5,6,1]

ax.plot3D(x,y,z)
ax.set_xlabel('X?Axes')
ax.set_ylabel('Y?Axes')
ax.set_zlabel('Z?Axes')

plt.show()

#------------------------------------------------------------
#????????END?OF?FILE?:?TEST2.PY
#******************************
▲ 3D plot的演示

(2) Ex2

from?mpl_toolkits.mplot3d?import?axes3d

ax?=?plt.axes(projection='3d')

angle?=?linspace(0,?2*pi*5,?400)
x?=?cos(angle)
y?=?sin(angle)
z?=?linspace(0,?5,?400)

ax.plot3D(x,y,z)
ax.set_xlabel('X?Axes')
ax.set_ylabel('Y?Axes')
ax.set_zlabel('Z?Axes')

plt.show()
▲ 3D繪制的例子

(3) Ex3

import?matplotlib?as?mpl
from?mpl_toolkits.mplot3d?import?Axes3D
import?numpy?as?np
import?matplotlib.pyplot?as?plt

mpl.rcParams['legend.fontsize']?=?10

fig?=?plt.figure()
ax?=?fig.gca(projection='3d')
theta?=?np.linspace(-4?*?np.pi,?4?*?np.pi,?100)
z?=?np.linspace(-2,?2,?100)
r?=?z**2?+?1
x?=?r?*?np.sin(theta)
y?=?r?*?np.cos(theta)
ax.plot(x,?y,?z,?label='parametric?curve')
ax.legend()

plt.show()

02 繪制Scatter


利用和上面的相同的繪制命令,將原來的plot3D修改成為 scatter即可。

from?mpl_toolkits.mplot3d?import?axes3d

ax?=?plt.axes(projection='3d')

angle?=?linspace(0,?2*pi*5,?40)
x?=?cos(angle)
y?=?sin(angle)
z?=?linspace(0,?5,?40)

ax.scatter(x,y,z,?color='b')
ax.set_xlabel('X?Axes')
ax.set_ylabel('Y?Axes')
ax.set_zlabel('Z?Axes')

plt.show()
▲ Scatter 的例子

03 繪制3D Surface


(1) Ex1

▲ 3D surface例子
#!/usr/local/bin/python
#?-*-?coding:?gbk?-*-
#******************************
#?TEST2.PY?????????????????????--?by?Dr.?ZhuoQing?2020-11-16
#
#?Note:
#******************************

from?headm?import?*
from?mpl_toolkits.mplot3d?import?axes3d

ax?=?plt.axes(projection='3d')

x?=?arange(-5,?5,?0.1)
y?=?arange(-5,?5,?0.1)
x,y?=?meshgrid(x,?y)
R?=?sqrt(x**2+y**2)
z?=?sin(R)

ax.plot_surface(x,?y,?z)
ax.set_xlabel('X?Axes')
ax.set_ylabel('Y?Axes')
ax.set_zlabel('Z?Axes')

plt.show()

#------------------------------------------------------------
#????????END?OF?FILE?:?TEST2.PY
#******************************
▲ 3D 繪制Surface
▲ 繪制3D球表面

(2) 舉例

'''
***********
3D?surface?(color?map)
***********

Demonstrates?plotting?a?3D?surface?colored?with?the?coolwarm?color?map.
The?surface?is?made?opaque?by?using?antialiased=False.

Also?demonstrates?using?the?LinearLocator?and?custom?formatting?for?the
z?axis?tick?labels.
'''


from?mpl_toolkits.mplot3d?import?Axes3D
import?matplotlib.pyplot?as?plt
from?matplotlib?import?cm
from?matplotlib.ticker?import?LinearLocator,?FormatStrFormatter
import?numpy?as?np

fig?=?plt.figure()
ax?=?fig.gca(projection='3d')

#?Make?data.
X?=?np.arange(-5,?5,?0.25)
Y?=?np.arange(-5,?5,?0.25)
X,?Y?=?np.meshgrid(X,?Y)
R?=?np.sqrt(X**2?+?Y**2)
Z?=?np.sin(R)

#?Plot?the?surface.
surf?=?ax.plot_surface(X,?Y,?Z,?cmap=cm.coolwarm,
???????????????????????linewidth=0,?antialiased=False)

#?Customize?the?z?axis.
ax.set_zlim(-1.01,?1.01)
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))

#?Add?a?color?bar?which?maps?values?to?colors.
fig.colorbar(surf,?shrink=0.5,?aspect=5)

plt.show()
▲ 彩色表面繪制

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉