Matplotlib中对图形颜色和线条的填充

matplotlib是一个python 2d绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。

Matplotlib中对图形颜色和线条的填充

在上篇 Matplotlib 数据可视化教程中,我们要介绍如何创建堆叠图和饼图。今天给大家带来是针对于图形颜色和线条的填充。 


颜色

我们要做的第一个改动是将plt.title更改为stock变量。

plt.title(stock)

登录后复制

现在,让我们来介绍一下如何更改标签颜色。 我们可以通过修改我们的轴对象来实现:

ax1.xaxis.label.set_color('c')ax1.yaxis.label.set_color('r')

登录后复制

如果我们运行它,我们会看到标签改变了颜色,就像在单词中那样。

接下来,我们可以为要显示的轴指定具体数字,而不是像这样的自动选择:

ax1.set_yticks([0,25,50,75])

登录后复制

接下来,我想介绍填充。 填充所做的事情,是在变量和你选择的一个数值之间填充颜色。 例如,我们可以这样:

ax1.fill_between(date, 0, closep)

登录后复制登录后复制

所以到这里,我们的代码为:

import matplotlib.pyplot as pltimport numpy as npimport urllibimport datetime as dtimport matplotlib.dates as mdatesdef bytespdate2num(fmt, encoding='utf-8'):    strconverter = mdates.strpdate2num(fmt)    def bytesconverter(b):        s = b.decode(encoding)        return strconverter(s)    return bytesconverterdef 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('')    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.fill_between(date, 0, closep)    for label in ax1.xaxis.get_ticklabels():        label.set_rotation(45)    ax1.grid(True)#, color='g', linestyle='-', linewidth=5)    ax1.xaxis.label.set_color('c')    ax1.yaxis.label.set_color('r')    ax1.set_yticks([0,25,50,75])    plt.xlabel('Date')    plt.ylabel('Price')    plt.title(stock)    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('EBAY')

登录后复制

结果为:

Matplotlib中对图形颜色和线条的填充

填充的一个问题是,我们可能最后会把东西都覆盖起来。 我们可以用透明度来解决它:

ax1.fill_between(date, 0, closep)

登录后复制登录后复制

现在,让我们介绍条件填充。 让我们假设图表的起始位置是我们开始买入 eBay 的地方。 这里,如果价格低于这个价格,我们可以向上填充到原来的价格,然后如果它超过了原始价格,我们可以向下填充。 我们可以这样做:

ax1.fill_between(date, closep[0], closep)

登录后复制

会生成:

Matplotlib中对图形颜色和线条的填充

如果我们想用红色和绿色填充来展示收益/损失,那么与原始价格相比,绿色填充用于上升(注:国外股市的颜色和国内相反),红色填充用于下跌? 没问题! 我们可以添加一个where参数,如下所示:

ax1.fill_between(date, closep, closep[0],where=(closep > closep[0]), facecolor='g', alpha=0.5)

登录后复制

这里,我们填充当前价格和原始价格之间的区域,其中当前价格高于原始价格。 我们给予它绿色的前景色,因为这是一个上升,而且我们使用微小的透明度。

线条

我们仍然不能对多边形数据(如填充)应用标签,但我们可以像以前一样实现空线条,因此我们可以:

ax1.plot([],[],linewidth=5, label='loss', color='r',alpha=0.5)ax1.plot([],[],linewidth=5, label='gain', color='g',alpha=0.5)ax1.fill_between(date, closep, closep[0],where=(closep > closep[0]), facecolor='g', alpha=0.5)ax1.fill_between(date, closep, closep[0],where=(closep 

这向我们提供了一些填充,以及用于处理标签的空线条,我们打算将其显示在图例中。这里完整的代码是:

import matplotlib.pyplot as pltimport numpy as npimport urllibimport datetime as dtimport matplotlib.dates as mdatesdef bytespdate2num(fmt, encoding='utf-8'):    strconverter = mdates.strpdate2num(fmt)        def bytesconverter(b):        s = b.decode(encoding)                return strconverter(s)            return bytesconverterdef 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('')        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')    ax1.plot([],[],linewidth=5, label='loss', color='r',alpha=0.5)    ax1.plot([],[],linewidth=5, label='gain', color='g',alpha=0.5)    ax1.fill_between(date, closep, closep[0],where=(closep > closep[0]), facecolor='g', alpha=0.5)    ax1.fill_between(date, closep, closep[0],where=(closep 

现在我们的结果是:

Matplotlib中对图形颜色和线条的填充

登录后复制

以上就是Matplotlib中对图形颜色和线条的填充的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2258904.html

(0)
上一篇 2025年2月27日 04:31:41
下一篇 2025年2月27日 04:31:59

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • DeepSeek如何本地部署-探索DeepSeek本地部署全面指南

    deepseek本地部署指南:高效运行深度学习模型 DeepSeek是一款强大的本地部署深度学习工具,专为AI开发者打造。本文将指导您完成DeepSeek的本地部署,并提供一些实用技巧,助您快速上手。 DeepSeek本地部署步骤 首先,请…

    2025年3月29日
    100
  • deepseek怎么用python调用

    在开始之前,请确保你的计算机上已安装python和pip。打开命令提示符(windows)或终端(mac/linux),输入以下命令来验证python和pip的安装情况: “` python –version pip…

    2025年3月29日
    100
  • 普通人怎样高效利用DeepSeek-DeepSeek使用技巧助普通人一臂之力

    在当今信息爆炸的时代,高效地获取和处理数据成为了我们日常生活和工作中不可或缺的技能。deepseek作为一款强大的数据搜索与分析工具,为普通人提供了一个便捷的途径来挖掘隐藏在海量数据中的宝贵信息。接下来,我们将详细介绍普通人如何用好deep…

    2025年3月29日
    100
  • 一键搭建DeepSeek-详尽指南教你如何本地部署DeepSeek

    本文将指导您如何在本地环境快速部署deepseek,无需繁琐配置。只需几步,即可轻松运行deepseek。 准备工作: 确保您的系统符合DeepSeek的最低运行要求,并已安装所有必要依赖项。 下载脚本: 从官方GitHub仓库获取最新的一…

    2025年3月29日
    100
  • deepseek怎么编程

    DeepSeek并非编程语言,而是深度搜索概念。实现DeepSeek需基于现有语言选择。针对不同应用场景,需要选择合适的语言和算法,并结合机器学习技术。代码质量、可维护性、测试至关重要。根据需求选择合适的编程语言、算法和工具,并编写高质量代…

    2025年3月29日
    100
  • 怎么下载deepseek 小米

    如何下载 DeepSeek 小米?在小米应用商店搜索“DeepSeek”,如未找到,则继续步骤 2。确定您的需求(搜索文件、数据分析),并找到包含 DeepSeek 功能的相应工具(如文件管理器、数据分析软件)。 怎么下载DeepSeek小…

    2025年3月29日
    100
  • deepseek该怎么搜索

    直接使用DeepSeek自带的搜索功能即可,它强大的语义分析算法能准确理解搜索意图,提供相关信息。但对于冷门领域、最新信息或需要思考问题的搜索,需要调整关键词或使用更具体的描述、结合其他实时信息来源,并明白DeepSeek只是一个工具,需要…

    2025年3月29日
    100
  • deepseek怎么问他

    有效使用DeepSeek的关键在于清晰提问:直接、具体地表达问题。提供具体细节和背景信息。对于复杂的询问,包含多个角度和反驳观点。关注特定方面,例如代码的性能瓶颈。对得到的答案保持批判性思维,结合专业知识进行判断。 DeepSeek怎么问它…

    2025年3月29日
    100
  • DeepSeek本地部署如何操作-DeepSeek本地安装步骤指南

    deepseek本地部署详解:快速搭建专属数据搜索平台 DeepSeek是一款功能强大的数据搜索与分析工具,本文将指导您完成DeepSeek的本地部署,构建高效的信息检索平台。 准备工作: 系统要求: 请确保您的服务器或电脑满足DeepSe…

    2025年3月29日
    100
  • deepseek怎么用来算账

    问题:DeepSeek是否可用于会计?回答:不是,它是一个数据挖掘和分析工具,可用于分析财务数据,但本身不具备会计软件的账目记录和报表生成功能。使用DeepSeek分析财务数据需要:编写代码来处理数据具备对数据结构、算法和DeepSeek …

    2025年3月29日
    100

发表回复

登录后才能评论