成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python 數(shù)據(jù)科學(xué)入門:Matplotlib 基本的自定義

大數(shù)據(jù)
在 Matplotlib 教程中,我們將討論一些可能的圖表自定義。 為了開始修改子圖,我們必須定義它們。 我們很快會談?wù)撍麄儯袃煞N定義并構(gòu)造子圖的主要方法。 現(xiàn)在,我們只使用其中一個,但我們會很快解釋它們。

在 Matplotlib 教程中,我們將討論一些可能的圖表自定義。 為了開始修改子圖,我們必須定義它們。 我們很快會談?wù)撍麄儯袃煞N定義并構(gòu)造子圖的主要方法。 現(xiàn)在,我們只使用其中一個,但我們會很快解釋它們。

現(xiàn)在,修改我們的graph_data函數(shù):

  1. def graph_data(stock): 
  2.  
  3.     fig = plt.figure() 
  4.     ax1 = plt.subplot2grid((1,1), (0,0))1234 

為了修改圖表,我們需要引用它,所以我們將它存儲到變量fig。 然后我們將ax1定義為圖表上的子圖。 我們在這里使用subplot2grid,這是獲取子圖的兩種主要方法之一。 我們將深入討論這些東西,但現(xiàn)在,你應(yīng)該看到我們有 2 個元組,它們提供了(1,1)和(0,0)。 1,1表明這是一個 1×1 網(wǎng)格。 然后0,0表明這個子圖的『起點』將為0,0。

接下來,通過我們已經(jīng)編寫的代碼來獲取和解析數(shù)據(jù):

  1. stock_price_url = 'http://chartapi.finance.yahoo.com/instrument/1.0/'+stock+'/chartdata;type=quote;range=10y/csv' 
  2. source_code = urllib.request.urlopen(stock_price_url).read().decode() 
  3. stock_data = [] 
  4. split_source = source_code.split('\n'
  5. for line in split_source: 
  6.     split_line = line.split(','
  7.     if len(split_line) == 6: 
  8.         if 'values' not in line and 'labels' not in line: 
  9.             stock_data.append(line) 
  10.  
  11. date, closep, highp, lowp, openp, volume = np.loadtxt(stock_data, 
  12.                                                       delimiter=','
  13.                                                       unpack=True
  14.                                                       converters={0: bytespdate2num('%Y%m%d')})1234567891011121314 

下面,我們這樣繪制數(shù)據(jù):

  1. ax1.plot_date(date, closep,'-', label='Price')1 

現(xiàn)在,由于我們正在繪制日期,我們可能會發(fā)現(xiàn),如果我們放大,日期會在水平方向上移動。但是,我們可以自定義這些刻度標(biāo)簽,像這樣:

  1. for label in ax1.xaxis.get_ticklabels():  
  2.     label.set_rotation(45)12 

這將使標(biāo)簽轉(zhuǎn)動到對角線方向。 接下來,我們可以添加一個網(wǎng)格:

  1. ax1.grid(True)1 

然后,其它東西我們保留默認,但我們也可能需要略微調(diào)整繪圖,因為日期跑到了圖表外面。 記不記得我們在第一篇教程中討論的configure subplots按鈕? 我們不僅可以以這種方式配置圖表,我們還可以在代碼中配置它們,以下是我們設(shè)置這些參數(shù)的方式:

  1. plt.subplots_adjust(left=0.09, bottom=0.20, right=0.94, top=0.90, wspace=0.2, hspace=0)1 

現(xiàn)在,為了防止我們把你遺留在某個地方,這里是完整的代碼:

  1. import matplotlib.pyplot as plt 
  2. import numpy as np 
  3. import urllib 
  4. import matplotlib.dates as mdates 
  5.  
  6. def bytespdate2num(fmt, encoding='utf-8'): 
  7.     strconverter = mdates.strpdate2num(fmt) 
  8.     def bytesconverter(b): 
  9.         s = b.decode(encoding) 
  10.         return strconverter(s) 
  11.     return bytesconverter 
  12.  
  13.  
  14. def graph_data(stock): 
  15.  
  16.     fig = plt.figure() 
  17.     ax1 = plt.subplot2grid((1,1), (0,0)) 
  18.  
  19.     stock_price_url = 'http://chartapi.finance.yahoo.com/instrument/1.0/'+stock+'/chartdata;type=quote;range=10y/csv' 
  20.     source_code = urllib.request.urlopen(stock_price_url).read().decode() 
  21.     stock_data = [] 
  22.     split_source = source_code.split('\n'
  23.     for line in split_source: 
  24.         split_line = line.split(','
  25.         if len(split_line) == 6: 
  26.             if 'values' not in line and 'labels' not in line: 
  27.                 stock_data.append(line) 
  28.  
  29.     date, closep, highp, lowp, openp, volume = np.loadtxt(stock_data, 
  30.                                                           delimiter=','
  31.                                                           unpack=True
  32.                                                           converters={0: bytespdate2num('%Y%m%d')}) 
  33.  
  34.     ax1.plot_date(date, closep,'-', label='Price'
  35.     for label in ax1.xaxis.get_ticklabels(): 
  36.         label.set_rotation(45) 
  37.     ax1.grid(True)#, color='g', linestyle='-', linewidth=5) 
  38.  
  39.     plt.xlabel('Date'
  40.     plt.ylabel('Price'
  41.     plt.title('Interesting Graph\nCheck it out'
  42.     plt.legend() 
  43.     plt.subplots_adjust(left=0.09, bottom=0.20, right=0.94, top=0.90, wspace=0.2, hspace=0) 
  44.     plt.show() 
  45.  
  46.  
  47. graph_data('TSLA')1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 

結(jié)果為: 

Python 數(shù)據(jù)科學(xué)入門10:Matplotlib 基本的自定義

 

 

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2020-10-20 09:27:48

Python開發(fā)數(shù)據(jù)類型

2011-12-26 10:11:08

JSP

2019-09-30 09:10:11

Python編程語言數(shù)據(jù)科學(xué)

2009-08-05 17:03:37

C#自定義控件

2018-11-06 20:30:23

Python開源工具機器學(xué)習(xí)

2009-08-10 14:16:59

ASP.NET自定義控

2023-09-04 15:06:18

Pytorch靜態(tài)量化動態(tài)量化

2015-02-12 15:33:43

微信SDK

2020-11-19 10:50:43

ImportPython代碼

2015-01-14 15:06:48

定義相機

2015-02-12 15:38:26

微信SDK

2022-01-14 09:17:13

PythonAPISIX插件

2020-11-25 11:20:44

Spring注解Java

2024-01-05 15:28:06

鴻蒙數(shù)據(jù)同步GlobalThis

2017-10-25 06:50:27

數(shù)據(jù)科學(xué)數(shù)據(jù)數(shù)據(jù)分析

2016-12-26 15:25:59

Android自定義View

2014-09-24 11:42:46

AndroidButton

2009-08-28 17:45:19

C#自定義數(shù)據(jù)

2024-03-04 11:13:29

Django數(shù)據(jù)庫Python

2016-11-16 21:55:55

源碼分析自定義view androi
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产伦精品一区二区三区视频金莲 | 久久久久久国产精品 | 亚洲视频一区二区三区 | 台湾佬成人网 | 久久九九免费 | h片在线看 | 日本一区二区高清不卡 | 日本偷偷操 | 亚洲欧美综合网 | 中文字幕一区在线观看视频 | 天天干天天色 | 天天久久| 成人av观看 | 国产欧美日韩久久久 | 亚洲一区自拍 | 欧美中文 | 国产在线一区二区三区 | 精品久久久久久国产 | 精品国产一区二区三区观看不卡 | 日韩精品久久久久 | 99视频入口 | 国产精品区二区三区日本 | 欧美国产日韩一区二区三区 | 日韩免费视频一区二区 | 成人免费观看网站 | 久久国产精品-国产精品 | 小早川怜子xxxxaⅴ在线 | 国产日韩一区 | 亚洲午夜精品一区二区三区他趣 | 日韩精品一区二区三区免费观看 | 欧美午夜精品久久久久久浪潮 | 欧美一区2区三区4区公司 | 国产高清区 | 久久视频精品 | 欧美一级片在线看 | 亚洲欧美日韩久久久 | 国产成人亚洲精品 | 成人免费激情视频 | 韩日一区 | 亚洲最新在线 | 午夜在线视频一区二区三区 |