天道酬勤,学无止境

matplotlib.pyplot 没有属性 'style'(matplotlib.pyplot has no attribute 'style')

问题

我正在尝试按照教程在 matplotlib 中设置样式 http://matplotlib.org/users/style_sheets.html

import matplotlib.pyplot as plt
plt.style.use('ggplot')

但我得到的回报是:

AttributeError: 'module' object has no attribute 'style'

我的 matplotlib 版本是 1.1.1(我在运行 Mavericks 的 Mac 上)。 这个版本的款式在哪里?

谢谢!

回答1

我的 matplotlib 版本是 1.1.1

那是你的问题。 style 包是在 1.4 版中添加的。 你应该更新你的版本。

回答2

在 ipython notebook 中,我还必须内联包含 %matplotlib,否则我仍然会遇到相同的错误。

%matplotlib inline
import matplotlib
matplotlib.style.use('ggplot')
回答3

对于使用 matplotlib 2.x 并发现此问题的人,可以使用以下代码段:

import matplotlib.style
import matplotlib as mpl
mpl.style.use('classic')   # any style.

这在此处的文档中进行了描述。 注意import matplotlib.style很重要。

回答4

我尝试了 StackOverflow 上列出的所有解决方案,但不知何故这些都不适合我。 最后我找到了一个有效的方法。 以下是详细信息:环境:操作系统:Ubuntu 16 Python 版本:3.5。 MatPlotLib 版本:2.0.2

导入“样式模块”的正确方法

import matplotlib
matplotlib.use
import matplotlib.pyplot as plt
plt.style.use('ggplot')

matplotlib 帮助内容如下:

:func: ~matplotlib.use (忽略语法为“`”在命令行或脚本文件中不起作用)一个用于设置 matplotlib 后端的函数。 如果使用,必须在第一次导入 matplotlib 后立即调用此函数。 特别是导入pylab之前必须调用它(如果导入了pylab)。

不知何故,如果不发出此命令,就无法访​​问“样式”模块。

希望这可以帮助。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • AttributeError:“模块”对象没有属性“ cbook”(AttributeError: 'module' object has no attribute 'cbook')
    问题 我正在尝试运行一个简单的代码,并且在Canopy中安装了matplotlib和numpy的所有依赖项。 还是我出错了。 import cv2 import numpy as np import matplotlib.pyplot as plt x = cv2.imread('jay.jpg') plt.imshow(x, cmap = 'gray', interpolation = 'bicubic') plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis plt.show() 错误: %run "c:\users\jay\appdata\local\temp\tmppvibq9.py" --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) c:\users\jay\appdata\local\temp\tmppvibq9.py in <module>() 2 import numpy as np 3 import matplotlib.cbook ----> 4 import matplotlib
  • matplotlib没有属性'pyplot'(matplotlib has no attribute 'pyplot')
    问题 我可以导入matplotlib,但是当我尝试运行以下命令时: matplotlib.pyplot(x) 我得到: Traceback (most recent call last): File "<pyshell#31>", line 1, in <module> matplotlib.pyplot(x) AttributeError: 'module' object has no attribute 'pyplot' 回答1 pyplot是matplotlib的子模块,无法通过简单的import matplotlib 。 >>> import matplotlib >>> print matplotlib.pyplot Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'pyplot' >>> import matplotlib.pyplot >>> 似乎很习惯: import matplotlib.pyplot as plt ,这时您可以使用其中包含的各种函数和类: p = plt.plot(...) 回答2 您导入了吗? 导入matplotlib是不够的。 >>> import
  • matplotlib.pyplot has no attribute 'style'
    I am trying to set a style in matplotlib as per tutorial http://matplotlib.org/users/style_sheets.html import matplotlib.pyplot as plt plt.style.use('ggplot') but what I get in return is: AttributeError: 'module' object has no attribute 'style' My matplotlib version is 1.1.1 (and I'm on a Mac running Mavericks). Where are the styles in this version? thanks!
  • matplotlib库基本使用
    Matplotlib.pyplot 常用方法 <div id="cnblogs_post_description" style="display: none"> Matplotlib.pyplot 常用方法 </div>   1、介绍     Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,   直方图,功率谱,条形图,错误图,散点图等。   2、Matplotlib基础知识     2.1、Matplotlib中的基本图表包括的元素     x轴和y轴     水平和垂直的轴线     x轴和y轴刻度     刻度标示坐标轴的分隔,包括最小刻度和最大刻度     x轴和y轴刻度标签     表示特定坐标轴的值     绘图区域     实际绘图的区域        2.2、hold属性     hold属性默认为True,允许在一幅图中绘制多个曲线;将hold属性修改为False,每一个plot都会覆盖前面的plot。     但是目前不推荐去动hold这个属性,这种做法(会有警告)。因此使用默认设置即可。    2.3、网格线     grid方法     使用grid方法为图添加网格线     设置grid参数(参数与plot函数相同
  • Custom arrow style for matplotlib, pyplot.annotate
    I am using matplotlib.pyplot.annotate to draw an arrow on my plot, like so: import matplotlib.pyplot as plt plt.annotate("",(x,ybottom),(x,ytop),arrowprops=dict(arrowstyle="->")) I want to use an arrow style that has a flat line at one end and an arrow at the other, so combining the styles "|-|" and "->" to make something we might call "|->", but I can't figure out how to define my own style. I thought I might try something like import matplotlib.patches as patches myarrow = patches.ArrowStyle("Fancy", head_length=0.4,head_width=0.2) (which should just be the same as "->" for now; I can tweak
  • 如何将Seaborn图保存到文件中(How to save a Seaborn plot into a file)
    问题 我尝试了以下代码( test_seaborn.py ): import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt matplotlib.style.use('ggplot') import seaborn as sns sns.set() df = sns.load_dataset('iris') sns_plot = sns.pairplot(df, hue='species', size=2.5) fig = sns_plot.get_figure() fig.savefig("output.png") #sns.plt.show() 但是我得到这个错误: Traceback (most recent call last): File "test_searborn.py", line 11, in <module> fig = sns_plot.get_figure() AttributeError: 'PairGrid' object has no attribute 'get_figure' 我希望最终的output.png将会存在,看起来像这样: 我该如何解决该问题? 回答1 删除get_figure并仅使用sns_plot.savefig('output.png') df =
  • Python 数据分析三剑客之 Matplotlib(九):极区图 / 极坐标图 / 雷达图的绘制
    CSDN 课程推荐:《Python 数据分析与挖掘》,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务。曾与联想、亨氏、网鱼网咖等企业合作多个企业级项目。 Matplotlib 系列文章: Python 数据分析三剑客之 Matplotlib(一):初识 Matplotlib 与其 matplotibrc 配置文件Python 数据分析三剑客之 Matplotlib(二):文本描述 / 中文支持 / 画布 / 网格等基本图像属性Python 数据分析三剑客之 Matplotlib(三):图例 / LaTeX / 刻度 / 子图 / 补丁等基本图像属性Python 数据分析三剑客之 Matplotlib(四):线性图的绘制Python 数据分析三剑客之 Matplotlib(五):散点图的绘制Python 数据分析三剑客之 Matplotlib(六):直方图 / 柱状图 / 条形图的绘制Python 数据分析三剑客之 Matplotlib(七):饼状图的绘制Python 数据分析三剑客之 Matplotlib(八):等高线 / 等值线图的绘制Python 数据分析三剑客之 Matplotlib(九):极区图 / 极坐标图 / 雷达图的绘制Python 数据分析三剑客之 Matplotlib(十):3D
  • matplotlib,pyplot.annotate的自定义箭头样式(Custom arrow style for matplotlib, pyplot.annotate)
    问题 我正在使用matplotlib.pyplot.annotate在我的绘图上绘制箭头,如下所示: import matplotlib.pyplot as plt plt.annotate("",(x,ybottom),(x,ytop),arrowprops=dict(arrowstyle="->")) 我想使用在一端具有平线而在另一端具有平线的箭头样式,因此将样式“ |-|”组合在一起和“->”,我们可以称之为“ |->”,但是我不知道如何定义自己的样式。 我以为我可以尝试像 import matplotlib.patches as patches myarrow = patches.ArrowStyle("Fancy", head_length=0.4,head_width=0.2) (现在应该与“->”相同;我可以稍后调整样式),然后如何告诉plt.annotate使用myarrow作为样式? plt.annotate没有arrowstyle属性,而arrowprops = dict(arrowstyle = myarrow)也不起作用。 我也尝试在arrowprops字典中定义它,例如 plt.annotate("",(x,ybottom),(x,ytop),arrowprops=dict(head_length=0.4,head_width=0.2))
  • Matplotlib AttributeError: module 'matplotlib.cbook' has no attribute '_define_aliases'
    When trying to plot a graph on jupyter with pyplot I am running the following code: import matplotlib.pyplot as plt plt.plot([1,2,3,4]) plt.ylabel('some numbers') plt.show() This is returning the following error: AttributeError Traceback (most recent call last) <ipython-input-16-51b004b519a9> in <module>() ----> 1 get_ipython().run_line_magic('matplotlib', 'inline') 2 3 4 import matplotlib.pyplot as plt 5 plt.plot([1,2,3,4]) c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\IPython\core\interactiveshell.py in run_line_magic(self, magic_name, line, _stack_depth
  • 有一个类matplotlib.axes.AxesSubplot,但是模块matplotlib.axes没有属性AxesSubplot(There is a class matplotlib.axes.AxesSubplot, but the module matplotlib.axes has no attribute AxesSubplot)
    问题 编码 import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111) print type(ax) 给出输出 <class 'matplotlib.axes.AxesSubplot'> 然后是代码 import matplotlib.axes matplotlib.axes.AxesSubplot 引发异常 AttributeError: 'module' object has no attribute 'AxesSubplot' 总而言之,有一个类matplotlib.axes.AxesSubplot ,但是模块matplotlib.axes没有属性AxesSubplot 。 到底是怎么回事? 我正在使用Matplotlib 1.1.0和Python 2.7.3。 回答1 嘿。 这是因为没有AxesSubplot类..直到一个是需要的,当一个人从建SubplotBase 。 这是通过axes.py的一些魔术完成的: def subplot_class_factory(axes_class=None): # This makes a new class that inherits from SubplotBase and the # given axes_class (which is
  • AttributeError: 'module' object has no attribute 'cbook'
    I am trying to run a simple code and I have all the dependencies for matplotlib and numpy installed in my Canopy. Still I am getting error. import cv2 import numpy as np import matplotlib.pyplot as plt x = cv2.imread('jay.jpg') plt.imshow(x, cmap = 'gray', interpolation = 'bicubic') plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis plt.show() Error: %run "c:\users\jay\appdata\local\temp\tmppvibq9.py" --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) c:\users\jay\appdata\local\temp\tmppvibq9.py in
  • 获取matplotlib颜色循环状态(Get matplotlib color cycle state)
    问题 是否可以查询matplotlib颜色周期的当前状态? 换句话说,是否有一个get_cycle_state函数get_cycle_state以下方式运行? >>> plot(x1, y1) >>> plot(x2, y2) >>> state = get_cycle_state() >>> print state 2 我希望状态是绘图中将使用的下一个颜色的索引。 或者,如果它返回下一个颜色(在上面的示例中为默认循环,则为“ r”),那也可以。 回答1 访问颜色循环迭代器 没有用于访问底层迭代器的“面向用户”(也称为“公共”)方法,但是您可以通过“专用”(按惯例)方法来访问它。 但是,如果不更改它,就无法获得iterator的状态。 设定色彩周期 ax.set_color_cycle :您可以通过多种方式设置颜色/属性周期(例如,版本<1.5中的ax.set_prop_cycler或版本> = 1.5中的ax.set_prop_cycler )。 在此处查看1.5版或更高版本的示例,或此处的先前样式。 访问底层的迭代器 但是,虽然没有公开的方法可访问Iterable,但是您可以通过_get_lines帮助器类实例针对给定的_get_lines对象( ax )访问它。 ax._get_lines是触摸容易混淆的名字命名,但它是幕后的机器
  • 如何在 Spyder 中的所有其他窗口之上显示 matplotlib 图形窗口(How do I display a matplotlib figure window on top of all other windows in Spyder)
    问题 我正在使用 Spyder IDE,我发现 matplotlib 图形窗口总是显示在其他窗口后面。 例如,在启动 Spyder 后立即,如果我在控制台中输入plt.plot([0,1],[0,1]) ,我会在 Spyder 主窗口后面得到一个绘图。 如何使新图形窗口显示在所有其他窗口的顶部? 我找到了这个解决方案(使 matplotlib 绘图窗口弹出为活动窗口),但它在 Spyder 中对我不起作用。 我遇到了fig.canvas.manager.window麻烦。 它说AttributeError: 'FigureManagerMac' object has no attribute 'window' 。 回答1 好吧,当我在做其他事情时,我偶然发现了解决方案。 当我使用MacOSX后端时, fig.canvas.manager.window给出AttributeError: 'FigureManagerMac' object has no attribute 'window' 。 但是,当我使用TkAgg后端时, fig.canvas.manager具有属性window 。 因此,我可以按如下方式实施此建议: import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt fig =
  • 防止matplotlib.pyplot中的科学记数法[重复](prevent scientific notation in matplotlib.pyplot [duplicate])
    问题 这个问题已经在这里有了答案: ticklabel_format是否损坏? (1个答案) 4年前关闭。 我已经试图抑制pyplot中的科学计数法了几个小时。 在尝试了多种解决方案而没有成功之后,我需要一些帮助。 plt.plot(range(2003,2012,1),range(200300,201200,100)) # several solutions from other questions have not worked, including # plt.ticklabel_format(style='sci', axis='x', scilimits=(-1000000,1000000)) # ax.get_xaxis().get_major_formatter().set_useOffset(False) plt.show() 回答1 在您的情况下,您实际上是想禁用偏移量。 使用科学计数法是一种与通过偏移值显示事物不同的设置。 但是, ax.ticklabel_format(useOffset=False)应该可以工作(尽管您将其列为无效的事情之一)。 例如: fig, ax = plt.subplots() ax.plot(range(2003,2012,1),range(200300,201200,100)) ax.ticklabel_format
  • 如何使条形图在不同颜色之间自动循环?(How do I make bar plots automatically cycle across different colors?)
    问题 在matplotlib ,线自动绘制颜色循环。 这两条线图会有不同的颜色。 axes.plot(x1, y) axes.plot(x2, y) 但是,条形图没有。 这两个数据系列都会有蓝色条。 axes.bar(x1, y) axes.bar(x2, y) 如何使条形图在一组预定义的颜色中自动循环? 回答1 可选:要完全控制图形的样式,请使用现有的 mplstyle 作为模板:https://github.com/matplotlib/matplotlib/tree/master/lib/matplotlib/mpl-data/stylelib 调整参数:axes.prop_cycle: cycler('color', [....]) 加载你的风格: from matplotlib import style style.use ('PATH TO YOUR MPL STYLE') 您几乎可以以任何方式循环浏览您的或默认样式颜色循环: #!/usr/bin/python import matplotlib.pyplot as plt #data x=[1,2,4] y=[11,12,8] prop_iter = iter(plt.rcParams['axes.prop_cycle']) for i in range(0,len(x)): plt.bar(x[i],y[i]
  • 熊猫groupby箱形图的样式(Styling of Pandas groupby boxplots)
    问题 Python中的普通matplotlib boxplot命令返回一个字典,其中包含框,中位数,晶须,传单和大写字母的键。 这使得样式真的很容易。 import numpy as np import matplotlib.pyplot as plt import pandas as pd # Create a dataframe and subset it for a boxplot df1 = pd.DataFrame(rand(10), columns=['Col1'] ) df1['X'] = pd.Series(['A','B','A','B','A','B','A','B','A','B']) boxes= [df1[df1['X'] == 'A'].Col1, df1[df1['X'] == 'B'].Col1] # Call the standard matplotlib boxplot function, # which returns a dictionary including the parts of the graph mbp = plt.boxplot(boxes) print(type(mbp)) # This dictionary output makes styling the boxplot easy plt.setp(mbp['boxes']
  • Matplotlib学习
    目录 MatplotlibMatplotlib简介常用的API功能绘图基础入门案例(散点图)使用Numpy数组传入数据绘图使用关键字绘图多子图设置线条属性创建画布与子图给图形指定的位置添加文本给图形的指定位置添加注释设置图形样式设置图形临时样式设置rc参数直方图水平条形图垂直条形图折线图更多扩展 Matplotlib Matplotlib简介 Matplotlib是Python基于Numpy的绘图工具包,提供了一套和Matlab非常相似的命令API,绘图风格像Matlab,是一个2D绘图库。 只需要用`pip install matplotlib`命令即可安装(我用的是pycharm环境)。 matplotlib涉及的参数众多,可以通过`import matplotlib print(matplotlib.rc_params())`去查看参数,如(部分截图) 在所有的参数中,最常用的参数解释如下: axes:设置坐标轴的边界、颜色、坐标刻度值大小和网格的显示。 figure:设置边界颜色、图形大小和子区(subplot)。 font:设置字体、字号和样式。 grid:设置网格颜色和线型。 legend:设置图例和其中文本的显示。 lines:设置线条(颜色、线型和宽度)和标记。 savefig:对保存的图形进行单独设置。 xtick和ytick:为坐标轴的主刻度和次刻度设置颜色
  • scipy.misc模块没有属性读取?(scipy.misc module has no attribute imread?)
    问题 我正在尝试以密探的方式读取图像。 但是,它不接受scipy.misc.imread部分。 这可能是什么原因? >>> import scipy >>> scipy.misc <module 'scipy.misc' from 'C:\Python27\lib\site-packages\scipy\misc\__init__.pyc'> >>> scipy.misc.imread('test.tif') Traceback (most recent call last): File "<pyshell#11>", line 1, in <module> scipy.misc.imread('test.tif') AttributeError: 'module' object has no attribute 'imread' 回答1 您需要安装枕头(以前称为PIL)。 从scipy.misc的文档中: 请注意,Pillow不是SciPy的依赖项,但是如果没有它,下面列表中指示的图像处理功能将不可用: ... imread ... 安装Pillow后,我可以按以下方式访问imread : In [1]: import scipy.misc In [2]: scipy.misc.imread Out[2]: <function scipy.misc.pilutil.imread>
  • Python数据分析——Matplotlib数据可视化基础(一)
    Python数据分析——Matplotlib数据可视化基础(一) 思维导图: 图像的数组表示 图像的RGB色彩模式 RGB三个颜色通道的变化和叠加得到各种颜色,其中R红色,取值范围,0-255 G绿色,取值范围,0-255 B蓝色,取值范围,0-255。RGB形成的颜色包括了人类示例所能感知的所有颜色。 PIL库 PIL(Python Image Library):是一个具有强大图像处理能力的第三方库引入图像类: from PIL import Image Image是PIL库中代表一个图像的类(对象) 图像的数组表示 图像是一个由像素组成的二维矩阵,每个元素是一个RGB值 例: from PIL import Image import numpy as np im = np.array(Image.open("‪C:/Users/sssss/.spyder-py3/123.jpg")) print(im.shape,im.dtype) 图像的变换 读入图像后,获得像素RGB值,修改后保存为新的文件 例: from PIL import Image import numpy as np a = np.array(Image.open("‪C:/Users/sssss/.spyder-py3/123.jpg")) print(a.shape,a.dtype) b = [255,255
  • python数据分析之seaborn常见统计图
    2021年第一篇博客 1.Seaborn介绍 为了使用Python分析一组数据,我们使用了Matplotlib,这是一个广泛实现的2D绘图库。同样,Seaborn是Python中的可视化库。它建立在Matplotlib之上。 Seaborn有助于解决Matplotlib面临的两个主要问题; 问题是 默认的Matplotlib参数使用数据框架 随着Seaborn对Matplotlib的称赞和扩展,学习曲线非常渐进。如果你知道Matplotlib,你已经在Seaborn的中途了。 Seaborn构建于Python的核心可视化库Matplotlib之上。它旨在作为补充,而不是替代。然而,Seaborn带有一些非常重要的功能。我们在这里看一些。这些功能有助于 内置主题的样式matplotlib图形可视化单变量和双变量数据拟合并可视化线性回归模型绘制统计时间序列数据Seaborn与NumPy和Pandas数据结构配合良好它内置了Matplotlib图形样式的主题 在大多数情况下,您仍然可以使用Matplotlib进行简单的绘图。建议使用Matplotlib的知识来调整Seaborn的默认图。 2.Seaborn环境配置 #pip安装 pip install seaborn #或者anaconda安装 conda install seaborn 3.Seaborn自带数据集 import