最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python繪圖之二維圖與三維圖詳解

 更新時間:2020年08月04日 08:58:05   作者:農(nóng)民阿姨  
這篇文章主要介紹了Python繪圖之二維圖與三維圖詳解,文中通過示例代碼與效果圖片一一對照介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

各位工程師累了嗎? 推薦一篇可以讓你技術(shù)能力達(dá)到出神入化的網(wǎng)站"持久男"

1.二維繪圖

a. 一維數(shù)據(jù)集

用 Numpy ndarray 作為數(shù)據(jù)傳入 ply

1.

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(1000)
y = np.random.standard_normal(10)
print "y = %s"% y
x = range(len(y))
print "x=%s"% x
plt.plot(y)
plt.show()

2.操縱坐標(biāo)軸和增加網(wǎng)格及標(biāo)簽的函數(shù)

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(1000)
y = np.random.standard_normal(10)
plt.plot(y.cumsum())
plt.grid(True) ##增加格點(diǎn)
plt.axis('tight') # 坐標(biāo)軸適應(yīng)數(shù)據(jù)量 axis 設(shè)置坐標(biāo)軸
plt.show()

3.plt.xlim 和 plt.ylim 設(shè)置每個坐標(biāo)軸的最小值和最大值

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(1000)
y = np.random.standard_normal(20)
plt.plot(y.cumsum())
plt.grid(True) ##增加格點(diǎn)
plt.xlim(-1,20)
plt.ylim(np.min(y.cumsum())- 1, np.max(y.cumsum()) + 1)

plt.show()

4. 添加標(biāo)題和標(biāo)簽 plt.title, plt.xlabe, plt.ylabel 離散點(diǎn), 線

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(1000)
y = np.random.standard_normal(20)

plt.figure(figsize=(7,4)) #畫布大小
plt.plot(y.cumsum(),'b',lw = 1.5) # 藍(lán)色的線
plt.plot(y.cumsum(),'ro') #離散的點(diǎn)
plt.grid(True)
plt.axis('tight')
plt.xlabel('index')
plt.ylabel('value')
plt.title('A simple Plot')
plt.show()

b. 二維數(shù)據(jù)集

np.random.seed(2000)
y = np.random.standard_normal((10, 2)).cumsum(axis=0)  #10行2列  在這個數(shù)組上調(diào)用cumsum 計(jì)算贗本數(shù)據(jù)在0軸(即第一維)上的總和
print y

1.兩個數(shù)據(jù)集繪圖

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(2000)
y = np.random.standard_normal((10, 2))
plt.figure(figsize=(7,5))
plt.plot(y, lw = 1.5)
plt.plot(y, 'ro')
plt.grid(True)
plt.axis('tight')
plt.xlabel('index')
plt.ylabel('value')
plt.title('A simple plot')
plt.show()

2.添加圖例 plt.legend(loc = 0)

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(2000)
y = np.random.standard_normal((10, 2))
plt.figure(figsize=(7,5))
plt.plot(y[:,0], lw = 1.5,label = '1st')
plt.plot(y[:,1], lw = 1.5, label = '2st')
plt.plot(y, 'ro')
plt.grid(True)
plt.legend(loc = 0) #圖例位置自動
plt.axis('tight')
plt.xlabel('index')
plt.ylabel('value')
plt.title('A simple plot')
plt.show()

3.使用2個 Y軸(左右)fig, ax1 = plt.subplots() ax2 = ax1.twinx()

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(2000)
y = np.random.standard_normal((10, 2))

fig, ax1 = plt.subplots() # 關(guān)鍵代碼1 plt first data set using first (left) axis

plt.plot(y[:,0], lw = 1.5,label = '1st')

plt.plot(y[:,0], 'ro')
plt.grid(True)
plt.legend(loc = 0) #圖例位置自動
plt.axis('tight')
plt.xlabel('index')
plt.ylabel('value')
plt.title('A simple plot')

ax2 = ax1.twinx() #關(guān)鍵代碼2 plt second data set using second(right) axis
plt.plot(y[:,1],'g', lw = 1.5, label = '2nd')
plt.plot(y[:,1], 'ro')
plt.legend(loc = 0)
plt.ylabel('value 2nd')
plt.show()

4.使用兩個子圖(上下,左右)plt.subplot(211)

通過使用 plt.subplots 函數(shù),可以直接訪問底層繪圖對象,例如可以用它生成和第一個子圖共享 x 軸的第二個子圖.

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(2000)
y = np.random.standard_normal((10, 2))

plt.figure(figsize=(7,5))
plt.subplot(211) #兩行一列,第一個圖
plt.plot(y[:,0], lw = 1.5,label = '1st')
plt.plot(y[:,0], 'ro')
plt.grid(True)
plt.legend(loc = 0) #圖例位置自動
plt.axis('tight')
plt.ylabel('value')
plt.title('A simple plot')


plt.subplot(212) #兩行一列.第二個圖
plt.plot(y[:,1],'g', lw = 1.5, label = '2nd')
plt.plot(y[:,1], 'ro')
plt.grid(True)
plt.legend(loc = 0)
plt.xlabel('index')
plt.ylabel('value 2nd')
plt.axis('tight')
plt.show()

5.左右子圖

有時候,選擇兩個不同的圖標(biāo)類型來可視化數(shù)據(jù)可能是必要的或者是理想的.利用子圖方法:

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(2000)
y = np.random.standard_normal((10, 2))

plt.figure(figsize=(10,5))
plt.subplot(121) #兩行一列,第一個圖
plt.plot(y[:,0], lw = 1.5,label = '1st')
plt.plot(y[:,0], 'ro')
plt.grid(True)
plt.legend(loc = 0) #圖例位置自動
plt.axis('tight')
plt.xlabel('index')
plt.ylabel('value')
plt.title('1st Data Set')

plt.subplot(122)
plt.bar(np.arange(len(y)), y[:,1],width=0.5, color='g',label = '2nc')
plt.grid(True)
plt.legend(loc=0)
plt.axis('tight')
plt.xlabel('index')
plt.title('2nd Data Set')
plt.show()

c.其他繪圖樣式,散點(diǎn)圖,直方圖等

1.散點(diǎn)圖

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(2000)
y = np.random.standard_normal((1000, 2))
plt.figure(figsize=(7,5))
plt.scatter(y[:,0],y[:,1],marker='o')
plt.grid(True)
plt.xlabel('1st')
plt.ylabel('2nd')
plt.title('Scatter Plot')
plt.show()

2.直方圖 plt.hist

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(2000)
y = np.random.standard_normal((1000, 2))
plt.figure(figsize=(7,5))
plt.hist(y,label=['1st','2nd'],bins=25)
plt.grid(True)
plt.xlabel('value')
plt.ylabel('frequency')
plt.title('Histogram')
plt.show()

3.直方圖 同一個圖中堆疊

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(2000)
y = np.random.standard_normal((1000, 2))
plt.figure(figsize=(7,5))
plt.hist(y,label=['1st','2nd'],color=['b','g'],stacked=True,bins=20)
plt.grid(True)
plt.xlabel('value')
plt.ylabel('frequency')
plt.title('Histogram')
plt.show()

4.箱型圖 boxplot

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(2000)
y = np.random.standard_normal((1000, 2))
fig, ax = plt.subplots(figsize=(7,4))
plt.boxplot(y)

plt.grid(True)
plt.setp(ax,xticklabels=['1st' , '2nd'])
plt.xlabel('value')
plt.ylabel('frequency')
plt.title('Histogram')
plt.show()

5.繪制函數(shù)

from matplotlib.patches import Polygon
import numpy as np
import matplotlib.pyplot as plt

#1. 定義積分函數(shù)
def func(x):
  return 0.5 * np.exp(x)+1

#2.定義積分區(qū)間
a,b = 0.5, 1.5
x = np.linspace(0, 2 )
y = func(x)
#3.繪制函數(shù)圖形
fig, ax = plt.subplots(figsize=(7,5))
plt.plot(x,y, 'b',linewidth=2)
plt.ylim(ymin=0)
#4.核心, 我們使用Polygon函數(shù)生成陰影部分,表示積分面積:
Ix = np.linspace(a,b)
Iy = func(Ix)
verts = [(a,0)] + list(zip(Ix, Iy))+[(b,0)]
poly = Polygon(verts,facecolor='0.7',edgecolor = '0.5')
ax.add_patch(poly)
#5.用plt.text和plt.figtext在圖表上添加數(shù)學(xué)公式和一些坐標(biāo)軸標(biāo)簽。
plt.text(0.5 *(a+b),1,r"$\int_a^b f(x)\mathrmwppm3vysvbpx$", horizontalalignment ='center',fontsize=20)
plt.figtext(0.9, 0.075,'$x$')
plt.figtext(0.075, 0.9, '$f(x)$')
#6. 分別設(shè)置x,y刻度標(biāo)簽的位置。
ax.set_xticks((a,b))
ax.set_xticklabels(('$a$','$b$'))
ax.set_yticks([func(a),func(b)])
ax.set_yticklabels(('$f(a)$','$f(b)$'))
plt.grid(True)

2.金融學(xué)圖表 matplotlib.finance

1.燭柱圖 candlestick

#!/etc/bin/python
#coding=utf-8
import matplotlib.pyplot as plt
import matplotlib.finance as mpf
start = (2014, 5,1)
end = (2014, 7,1)
quotes = mpf.quotes_historical_yahoo('^GDAXI',start,end)
# print quotes[:2]

fig, ax = plt.subplots(figsize=(8,5))
fig.subplots_adjust(bottom = 0.2)
mpf.candlestick(ax, quotes, width=0.6, colorup='b',colordown='r')
plt.grid(True)
ax.xaxis_date() #x軸上的日期
ax.autoscale_view()
plt.setp(plt.gca().get_xticklabels(),rotation=30) #日期傾斜
plt.show()

2. plot_day_summary

該函數(shù)提供了一個相當(dāng)類似的圖標(biāo)類型,使用方法和 candlestick 函數(shù)相同,使用類似的參數(shù). 這里開盤價和收盤價不是由彩色矩形表示,而是由兩條短水平線表示.

#!/etc/bin/python
#coding=utf-8
import matplotlib.pyplot as plt
import matplotlib.finance as mpf
start = (2014, 5,1)
end = (2014, 7,1)
quotes = mpf.quotes_historical_yahoo('^GDAXI',start,end)
# print quotes[:2]

fig, ax = plt.subplots(figsize=(8,5))
fig.subplots_adjust(bottom = 0.2)
mpf.plot_day_summary(ax, quotes, colorup='b',colordown='r')
plt.grid(True)
ax.xaxis_date() #x軸上的日期
ax.autoscale_view()
plt.setp(plt.gca().get_xticklabels(),rotation=30) #日期傾斜
plt.show()

3.股價數(shù)據(jù)和成交量

#!/etc/bin/python
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.finance as mpf
start = (2014, 5,1)
end = (2014, 7,1)
quotes = mpf.quotes_historical_yahoo('^GDAXI',start,end)
# print quotes[:2]

quotes = np.array(quotes)
fig, (ax1, ax2) = plt.subplots(2, sharex=True, figsize=(8,6))
mpf.candlestick(ax1, quotes, width=0.6,colorup='b',colordown='r')
ax1.set_title('Yahoo Inc.')
ax1.set_ylabel('index level')
ax1.grid(True)
ax1.xaxis_date()
plt.bar(quotes[:,0] - 0.25, quotes[:, 5], width=0.5)

ax2.set_ylabel('volume')
ax2.grid(True)
ax2.autoscale_view()
plt.setp(plt.gca().get_xticklabels(),rotation=30)
plt.show()

3.3D 繪圖

#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib.pyplot as plt

stike = np.linspace(50, 150, 24)
ttm = np.linspace(0.5, 2.5, 24)
stike, ttm = np.meshgrid(stike, ttm)
print stike[:2]

iv = (stike - 100) ** 2 / (100 * stike) /ttm
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure(figsize=(9,6))
ax = fig.gca(projection='3d')
surf = ax.plot_surface(stike, ttm, iv, rstride=2, cstride=2, cmap=plt.cm.coolwarm, linewidth=0.5, antialiased=True)
ax.set_xlabel('strike')
ax.set_ylabel('time-to-maturity')
ax.set_zlabel('implied volatility')

plt.show()

到此這篇關(guān)于Python繪圖之二維圖與三維圖詳解的文章就介紹到這了,更多相關(guān)Python繪圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PyCharm使用技巧之設(shè)置背景圖片方式

    PyCharm使用技巧之設(shè)置背景圖片方式

    這篇文章主要介紹了PyCharm使用技巧之設(shè)置背景圖片方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • python裝飾器原理與用法深入詳解

    python裝飾器原理與用法深入詳解

    這篇文章主要介紹了python裝飾器原理與用法,結(jié)合實(shí)例形式深入分析了Python裝飾器的概念、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • python編程scrapy簡單代碼實(shí)現(xiàn)搜狗圖片下載器

    python編程scrapy簡單代碼實(shí)現(xiàn)搜狗圖片下載器

    這篇文章主要為大家介紹了使用python scrapy簡單代碼實(shí)現(xiàn)搜狗圖片下載器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • python提取xml里面的鏈接源碼詳解

    python提取xml里面的鏈接源碼詳解

    在本篇文章里小編給大家整理的是關(guān)于python提取xml里面的鏈接的相關(guān)知識點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2019-10-10
  • 基于Python編寫一個單詞自測程序

    基于Python編寫一個單詞自測程序

    這篇文章主要為大家詳細(xì)介紹了如何基于Python編寫一個單詞自測程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • Django實(shí)現(xiàn)前后端登錄

    Django實(shí)現(xiàn)前后端登錄

    這篇文章主要介紹了Django實(shí)現(xiàn)前后端登錄的示例,幫助大家更好的理解和學(xué)習(xí)使用Django,感興趣的朋友可以了解下
    2021-04-04
  • Django框架中視圖的用法

    Django框架中視圖的用法

    這篇文章介紹了Django框架中視圖的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Keras搭建自編碼器操作

    Keras搭建自編碼器操作

    這篇文章主要介紹了Keras搭建自編碼器操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • windows系統(tǒng)中python使用rar命令壓縮多個文件夾示例

    windows系統(tǒng)中python使用rar命令壓縮多個文件夾示例

    這篇文章主要介紹了windows系統(tǒng)中python使用rar命令壓縮多個文件夾示例,需要的朋友可以參考下
    2014-05-05
  • 基于Python實(shí)現(xiàn)2種反轉(zhuǎn)鏈表方法代碼實(shí)例

    基于Python實(shí)現(xiàn)2種反轉(zhuǎn)鏈表方法代碼實(shí)例

    這篇文章主要介紹了基于Python實(shí)現(xiàn)2種反轉(zhuǎn)鏈表方法代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07

最新評論

甘谷县| 托里县| 泸定县| 吴忠市| 昌吉市| 宿松县| 鄢陵县| 青海省| 海门市| 芜湖市| 胶州市| 怀来县| 敦煌市| 鹿邑县| 荣成市| 涟水县| 禄丰县| 常宁市| 砚山县| 芮城县| 新兴县| 岳阳县| 屏边| 梁平县| 盐源县| 咸阳市| 长春市| 准格尔旗| 大厂| 通海县| 宁都县| 洪湖市| 富锦市| 广安市| 澜沧| 铜陵市| 彰化县| 乐至县| 长治市| 昆明市| 苏尼特左旗|