AttributeError: ‘str’ Object Has No Attribute ‘x’:字符串对象没有属性x的完美解决方法 大家好,我是默语,擅长全栈开发、运维和人工智能技术。...摘要 在Python编程中,AttributeError: ‘str’ object has no attribute 'x’通常出现在试图访问字符串对象中不存在的属性时。...其中,AttributeError是比较常见的一种。当你试图访问一个对象的属性,但该对象并不具备这个属性时,就会抛出这个错误。...错误示例 当我们试图访问一个字符串对象的不存在属性时,就会出现AttributeError。例如: my_string = "Hello, World!"...错误的成因 这个错误通常有以下几种成因: 2.1 访问不存在的属性 ❌ Python字符串对象没有名为x的属性。当你尝试访问一个字符串对象的不存在属性时,就会抛出这个错误。
Figure对象 Figure对象,此对象在调用plt.figure函数时返回,通过plt.gcf函数获取当前的绘图对象 语法plt.gcf() axes属性 Figure对象有一个axes属性,...其值为AxesSubplot对象的列表,每个AxesSubplot对象代表图表 中的一个子图,前面所绘制的图表只包含一个子图,当前子图也可以通过plt.gca获得。...设置和得到属性方法 set_* plt.setp函数配置多个Line2D对象的颜色和线宽属性 get_* plt.getp函数获取对象的属性值 import numpy as np import...对象的全部属性 plt.getp(f, "axes") # 得到当前axes属性, Figure对象有一个axes属性 # [AxesSubplot object at...0x05CDD170>] plt.gca() # 得到当前axes属性, Figure对象有一个axes属性 # AxesSubplot object at 0x05CDD170
01 图片与子图 matplotlib所绘制的图位于图片(Figure)对象中。...fig.add_subplot返回的对象是AxesSubplot对象,使用这些对象你可以直接在其他空白的子图上调用对象的实例方法进行绘图(参考图4): In [21]: _ = ax1.hist(np.random.randn..._subplots.AxesSubplot object at 0x7fb6260fd4e0>]], dtype =object) 参数 描述 nrows 子图的行数 ncols 子图的列数 sharex...▲图5 没有内部子图间隔的数据可视化 你可能会注意到轴标签是存在重叠的。matplotlib并不检查标签是否重叠,因此在类似情况下你需要通过显式指定刻度位置和刻度标签的方法来修复轴标签。...▲图9 x轴刻度的简单示例 修改y轴坐标是相同过程,将上面示例中的x替换成y即可。轴的类型拥有一个set方法,允许批量设置绘图属性。
绘制多个绘图 可以绘制多个图了。...行数和列数作为整数值传递给subplot()函数的nrows和ncols属性。根据行数和列数,subplot()函数返回AxesSubplot对象的列表。...下面脚本中的“axes”变量包含控制台上打印的“AxesSubplot”对象列表。 在输出中,可以看到与网格的行和列相对应的列表的列表,还可以看到空轴,用黄色突出显示了列表以及网格尺寸。...为此,必须从AxeSubPlot对象列表中选择一项,并使用该对象调用plot()函数。 例如,要在网格的第一行和第一列绘图,需要访问索引[0,0]处的AxesSubplot。...注意,子绘图的索引编号从0开始。 下面的脚本使用subplot()函数在2行3列中绘制六个折线图。 就这些! 注:本文学习整理自wellsr.com。
# 检查Axes的子元素,每个基本的图都有四个spine和两个axis # spine是数据边界,即四条边 # x和y轴对象包含了更多的绘图对象,比如刻度、标签 In[12]: ax_children...# 通过属性xaxis和yaxis可以修改属性,有些属性也可以通过Axes对象直接修改 In[14]: ax.xaxis.grid(True, which='major', linewidth=2,..._subplots.AxesSubplot object at 0x1142f2898>]], dtype=object) # 一些属性和与其等价的get方法 In[27]: fig.get_axes..._subplots.AxesSubplot at 0x11503ec50> ? # 画三张双变量子图。...# 为每个种族创建子图,同时保留回归线 In[89]: grid = sns.lmplot(x='YEARS_EXPERIENCE', y='BASE_SALARY',
众所周知,Python的matplotlib是一个非常全面的制图库,它不仅可以绘制图表、地图,还可以绘制3D效果图,试想一下,如果你在画图的时候,可以将立体地形图作为底图,那逼格噌一下子就上来了,今天我就来教大家画一个立体地形图...,啥也不说,咱先上效果图: 上面这张图是展示了基于matplotlib+cartopy的山地阴影图在不同光影参数下的变化效果。...首先需要理解matplotlib中的LightSource对象,顾名思义,这个对象就是“光源”,与3D 建模里的光源是同一个东西,它的调用方法是: from matplotlib.colors import...在我们创建了光源以后,就需要基于该光源对地形数据生成光影对象,通常情况下,对于山地阴影,我们有两个方法可以选择,一个是hillshade,另一个是shade,其中hillshade返回的是以0-1的数字代表的光影明暗特征...(buffer=0)) plt.show() 可以看到当fraction=0.1时,几乎没有阴影效果,而fraction=2的时候,阴影效果很强烈,甚至感觉有点耀眼。
为了说明这一点,可以删除密度曲线并添加一个地毯图,该图在每次观察时都会绘制一个小的垂直刻度。您可以使用rugplot()函数制作地毯图,也可以在distplot()中使用它。..._subplots.AxesSubplot at 0x7fd493a13b00> 核密度估计 核密度估计是绘制分布形状的一个有用的工具。...六边形”图,因为它显示了落在六边形箱中的观测值。...该图适用于相对较大的数据集。可通过matplotlib plt.hexbin函数使用,也可以在jointplot()中作为样式使用。...jointplot()在绘制后返回JointGrid对象,你可以使用该对象添加更多层或调整可视化的其他属性。
一个Figure对象可以包含多个子图(Axes),在matplotlib中用Axes对象表示一个绘图区域,可以理解为子图。...在绘制子图时也可以通过plt.sca(plt.subplot(all_fig_num, 1, cur_figid))来绘制子图。...,其值为AxesSubplot对象的列表,每个AxesSubplot对象代表图表中的一个子图,前面所绘制的图表只包含一个子图,当前子图也可以通过plt.gca获得 >>> plt.getp(f, “axes...AxesSubplot对象有很多属性,例如它的lines属性为此子图所包括的 Line2D 对象列表: >>> alllines = plt.getp(plt.gca(), "lines") >>> alllines...配置文件 绘制一幅图需要对许多对象的属性进行配置,例如颜色、字体、线型等等。我们在绘图时,并没有逐一对这些属性进行配置,许多都直接采用了matplotlib的缺省配置。
()创建一个实例(记为fig),实例的方法有: fig.add_subplot(m,n,i):创建子图,该方法返回一个AxesSubplot对象,可以通过调用该对象的实例方法直接在第i个子图上操作,比如...调节子图距离 figure里的子图的间隔是会自己调整的,如果需要对这个间隔进行人为调整可以借助plt.subplots_adjust()方法,可以在Figure对象上使用subplots_adjust方法来改变间隔...matplotlib.pyplot.subplots_adjust (left=None, bottom=None, right=None, top=None,wspace=None, hspace=None) wspace和hspace调整的是子图间隔占整个...保存 保存图窗为文件有两种方法,一种是借助plt.savefig()函数,一种是调用Figure对象的savefig方法。除了将文件写入磁盘以外,也可以写入到任何类文件的对象。...如果没有,则返回到 rcParams[“lines.linewidth”] 分类图绘制 pcolormesh([X, Y,] C, **kwargs)
: 'Point' object has no attribute 'z' 可以看出不能给 pt 中没有定义的属性赋值,下面去掉 __slots__ 所在行: class Point2: def...01.控制属性存取 控制属性存取 Python中定义了一些用于属性存取的特殊方法: 方法名称 使用 描述 __delattr__(self, name) del x.n 删除对象x的属性 __dir_...x.n 返回对象x的n属性值 __setattr__(self, name) x.n = v 将对象x的n属性名值设为v __getattr__ 与 __getattribute__ 的主要区别: _..._getattrobute__() 只要涉及到实例属性的访问就会调用该方法,如果属性不存在会抛出AttributeError 异常。...在计算机科学中,函子是指一个对象,该对象可以向函数一样进行调用,在 Python 中,函子就是另一种类型的函数对象。
在本文中,将详细演示如何使用Matplotlib库绘制多个图。 绘制单个图 在展示如何绘制多个图之前,先通过一个演示如何使用Matplotlib绘制单个图的示例,确保掌握了基本原理。...行数和列数作为整数值传递给subblots()函数的nrows和ncols属性。根据行数和列数,subplot()函数返回AxesSubplot对象的列表。...下面脚本中的“axes”变量包含控制台上打印的“AxesSubplot”对象列表。...图3 下一步是在这些空图表中绘制图表。为此,必须从AxeSubPlot对象列表中选择一项,并使用该对象调用plot()函数。...注意,子绘图的索引编号从0开始。 下面的脚本使用subplot()函数在两行三列中绘制六个折线图。
__version__ 1 分级统计图Choropleth 分级统计图Choropleth是一种表示地理区域内数据分布的可视化图表。...通常,分级统计图用于显示人口统计、自然资源分布等数据。分级统计图以帮助观察者更容易地理解数据在地理空间上的分布情况和变化趋势,有助于制定决策和规划相关工作。...ax.ticklabel_format(style='sci', axis='both', scilimits=(0,0)) 4.4 汇总 在geopandas中,dissolve函数可以对具有相同属性值的几何对象进行合并...None:表示属性或者列的值不存在,或者没有被填充。在geopandas中,如果一个geometry列的值为None,那意味着这个几何对象不存在。 Empty:表示属性或者列的值存在,但是值为空。...在geopandas中,如果一个geometry列的值为空,那意味着这个几何对象是存在的,但是它没有任何形状或者坐标信息。
作者:Wes McKinney 本文摘编自《利用Python进行数据分析》(原书第2版),如需转载请联系我们 01 折线图 Series和DataFrame都有一个plot属性,用于绘制基本的图型。...大部分pandas的绘图方法,接收可选的ax参数,该参数可以是一个matplotlib子图对象。这使你可以更为灵活的在网格布局中放置子图。...▲图9-14 简单DataFrame绘图 plot属性包含了不同绘图类型的方法族。例如,df.plot( )等价于df.plot.line( )。我们之后将会探索这些方法中的一部分。...参数 描述 label 图例标签 ax 绘图所用的matplotlib子图对象;如果没传值,则使用当前活动的matplotlib子图 style 传给matplotlib的样式字符串,比如'ko--'...,或为各列生成独立的子图。
匹配封闭的正则表达式,然后另存为子组 ([0-9]{3})?...num的特定子组 groups 返回一个包含所有匹配子组的元祖(没有成功,返回空元组) groupdict 返回一个包含所有匹配的命名子组的字典,所有的子组名称作为字典的键 常用的模块属性 re.I...group()要么返回整个匹配对象,要么根据要求返回特定子组。groups()则仅返回一个包含唯一或者全部子组的元组。...如果没有子组的要求,那么当group()仍然返回整个匹配时,groups()返回一个空元组。 使用match()方法匹配字符串 match()函数试图从字符串的起始部分对模式进行匹配。...re.match('(\w\w\w)-(\d\d\d)','abc-123').groups() ('abc', '123') >>> >>> m = re.match('ab','ab') #没有子组
上面那些由fig.add_subplot所返回的对象是AxesSubplot对象,直接调用它们的实例方法就可以在其它空着的格子里面画图了,如图9-4所示: In [21]: _ = ax1.hist(np.random.randn...图9-5 各subplot之间没有间距 不难看出,其中的轴标签重叠了。matplotlib不会检查标签是否重叠,所以对于这种情况,你只能自己设定刻度位置和刻度标签。后面几节将会详细介绍该内容。...图9-7 不同drawstyle选项的线型图 你可能注意到运行上面代码时有输出。matplotlib会返回引用了新添加的子组件的对象。...所有这些方法都是对当前或最近创建的AxesSubplot起作用的。它们各自对应subplot对象上的两个方法,以xlim为例,就是ax.get_xlim和ax.set_xlim。...图9-14 简单的DataFrame绘图 plot属性包含一批不同绘图类型的方法。例如,df.plot()等价于df.plot.line()。后面会学习这些方法。
matplotlib允许我们将一个figure通过栅格系统划分成不同的格子,然后在格子中画图,这样就可以在一个figure中画多个图了。这里的每个格子有两个名称:Axes和subplot。...因为figure要统一管理协调这些格子的位置、间隔等属性,管理协调的方法和属性设置就在subplots的层面进行。...返回给我们的自然是四个axes,可以通过查看axes证实: axes = fig.subplots(2,2) 在上图里,我们看到返回的对象是AxesSubplot,它实质上是包含了Axes的Subplot...如果我们只想在figure上画一幅图,就有两种方法: axes = fig.subplots(1,1) or axes = fig.subplots() 此时得到的axes是就是一个AxesSubplot...对象。
我们已经可以简单地去评估我们单细胞数据的质量以及一些基本属性。但是,这并不是我们单细胞分析的目的,单细胞测序数据经过预处理后,下一步是在数据集中识别细胞结构。...KNN图通过将表达空间中的密集区域表示为图中的密集连接区域,反映了表达数据的潜在拓扑结构。 在获得细胞的邻域图后,我们可以根据细胞的图结构,利用图聚类算法,将相似的细胞聚类到一起。...该算法还允许通过对KNN图进行子集操作,在数据集中有效地进行特定聚类的子聚类。...子聚类使用户能够在聚类中识别细胞类型特定的状态,或进行更精细的细胞类型标记[wagner_revealing_2016],但也可能导致仅由数据中存在的噪声引起的模式。...# AxesSubplot: title={'center': 'Resolution:0.5'}, xlabel='X_mde1', ylabel='X_mde2'>, # AxesSubplot
引言 在Python中,NoneType 是一个特殊的数据类型,表示对象为空。AttributeError 则是在尝试访问对象的一个不存在的属性时抛出的错误。...当你试图访问 None 类型对象的属性时,Python会抛出 AttributeError,提示该对象没有所尝试访问的属性。这类错误非常常见,尤其是在数据处理、函数返回值处理等场景中。...如何避免和处理 AttributeError 3.1 检查函数返回值 在访问对象属性前,首先检查对象是否为 None。这样可以避免不必要的错误。...3.2 使用默认值 ️ 在调用链式属性或方法时,可以使用默认值来避免 None 引发的 AttributeError。...表格总结 解决方法 描述 检查返回值 在访问对象属性前,确认对象是否为 None 使用默认值 当函数或方法可能返回 None 时,提供默认值来避免错误 使用 try-except 结构 捕获 AttributeError
生成器对象会抛出StopIteration异常。异常对象的value属性保存着返回值。...value属性,赋值给_r _r = _e.value else: while 1: # 4 运行这个循环时,委派生成器会阻塞,只能作为调用方和子生成器直接的通道 try:...except GeneratorExit as _e: # 6 这一部分是用于关闭委派生成器和子生成器,因为子生成器可以是任意可迭代对象,所以可能没有close() 方法。..._m = _i.throw except AttributeError: # 子生成器一迭代器,没有throw()方法, 调用throw...如果调用的方法抛出StopIteration异常,获取异常对象的value属性,赋值给_r, 退出循环,委派生成器恢复运行。任何其他异常都会向上冒泡,传给委派生成器。
Func Func 语法 作用 retype hasattr hasattr(object, name) 判断 对象中是否含有 该属性。...True / False setattr setattr(object, name, values) 给对象的属性 赋值,若属性不存在,先创建再赋值。...属性存在则无返回,否则报 AttributeError。...用于判断 对象中是否含有 该属性。...给对象的属性赋值,若属性不存在,先创建再赋值。