溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Matplotlib基本的自定義有哪些

發布時間:2021-12-22 09:19:29 來源:億速云 閱讀:125 作者:小新 欄目:大數據

這篇文章給大家分享的是有關Matplotlib基本的自定義有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

在 Matplotlib 教程中,我們將討論一些可能的圖表自定義。 為了開始修改子圖,我們必須定義它們。  我們很快會談論他們,但有兩種定義并構造子圖的主要方法。 現在,我們只使用其中一個,但我們會很快解釋它們。

現在,修改我們的graph_data函數:

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

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

接下來,通過我們已經編寫的代碼來獲取和解析數據:

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

下面,我們這樣繪制數據:

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

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

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

這將使標簽轉動到對角線方向。 接下來,我們可以添加一個網格:

ax1.grid(True)1

然后,其它東西我們保留默認,但我們也可能需要略微調整繪圖,因為日期跑到了圖表外面。 我們不僅可以以configure  subplots按鈕方式配置圖表,我們還可以在代碼中配置它們,以下是我們設置這些參數的方式:

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

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

import matplotlib.pyplot as plt import numpy as np import urllib import matplotlib.dates as mdates  def bytespdate2num(fmt, encoding='utf-8'):     strconverter = mdates.strpdate2num(fmt)     def bytesconverter(b):         s = b.decode(encoding)         return strconverter(s)     return bytesconverter   def graph_data(stock):      fig = plt.figure()     ax1 = plt.subplot2grid((1,1), (0,0))      stock_price_url = 'http://chartapi.finance.yahoo.com/instrument/1.0/'+stock+'/chartdata;type=quote;range=10y/csv'     source_code = urllib.request.urlopen(stock_price_url).read().decode()     stock_data = []     split_source = source_code.split('\n')     for line in split_source:         split_line = line.split(',')         if len(split_line) == 6:             if 'values' not in line and 'labels' not in line:                 stock_data.append(line)      date, closep, highp, lowp, openp, volume = np.loadtxt(stock_data,                                                           delimiter=',',                                                           unpack=True,                                                           converters={0: bytespdate2num('%Y%m%d')})      ax1.plot_date(date, closep,'-', label='Price')     for label in ax1.xaxis.get_ticklabels():         label.set_rotation(45)     ax1.grid(True)#, color='g', linestyle='-', linewidth=5)      plt.xlabel('Date')     plt.ylabel('Price')     plt.title('Interesting Graph\nCheck it out')     plt.legend()     plt.subplots_adjust(left=0.09, bottom=0.20, right=0.94, top=0.90, wspace=0.2, hspace=0)     plt.show()   graph_data('TSLA')1234567891011121314151617181920212223242526272829303132333435363738394041424344454647

結果為:

Matplotlib基本的自定義有哪些

感謝各位的閱讀!關于“Matplotlib基本的自定義有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女