网站建设资讯

NEWS

网站建设资讯

Matplotlib基本的自定义有哪些

这篇文章给大家分享的是有关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基本的自定义有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


分享名称:Matplotlib基本的自定义有哪些
URL链接:http://cdweb.net/article/jdisos.html