当前位置: 首页 > 知识库问答 >
问题:

将空字符串传递给matplotlib的Ytick

阮梓
2023-03-14

这个网页让我相信我可以将一个空字符串传递给matplotlib.yticks,以关闭图形的y记号。

但是,当我尝试这样做时,我得到以下错误:

In [1]: from pylab import *

In [2]: figure()
Out[2]: <matplotlib.figure.Figure at 0xb69d43cc>

In [3]: yticks('')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-3-7ead106262fa> in <module>()
----> 1 yticks('')

/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.pyc in yticks(*args, **kwargs)
   1631     elif len(args)==1:
   1632         locs = ax.set_yticks(args[0])
-> 1633         labels = ax.get_yticklabels()
   1634     elif len(args)==2:
   1635         locs = ax.set_yticks(args[0])

/usr/local/lib/python2.7/dist-packages/matplotlib/axes/_base.pyc in get_yticklabels(self, minor, which)
   2912         return cbook.silent_list('Text yticklabel',
   2913                                   self.yaxis.get_ticklabels(minor=minor,
-> 2914                                                             which=which))
   2915 
   2916     @docstring.dedent_interpd

/usr/local/lib/python2.7/dist-packages/matplotlib/axis.pyc in get_ticklabels(self, minor, which)
   1212         if minor:
   1213             return self.get_minorticklabels()
-> 1214         return self.get_majorticklabels()
   1215 
   1216     def get_majorticklines(self):

/usr/local/lib/python2.7/dist-packages/matplotlib/axis.pyc in get_majorticklabels(self)
   1166     def get_majorticklabels(self):
   1167         'Return a list of Text instances for the major ticklabels'
-> 1168         ticks = self.get_major_ticks()
   1169         labels1 = [tick.label1 for tick in ticks if tick.label1On]
   1170         labels2 = [tick.label2 for tick in ticks if tick.label2On]

/usr/local/lib/python2.7/dist-packages/matplotlib/axis.pyc in get_major_ticks(self, numticks)
   1295         'get the tick instances; grow as necessary'
   1296         if numticks is None:
-> 1297             numticks = len(self.get_major_locator()())
   1298         if len(self.majorTicks) < numticks:
   1299             # update the new tick label properties from the old

TypeError: len() of unsized object

怎么回事?如果这种关闭y型刻度的方法是不正确的,那么正确的方法是什么?

共有2个答案

乐正瑞
2023-03-14

这个问题的公认解决方案应该能达到您想要的效果,并让您能够更好地控制显示的内容。

删除在一个矩阵图lib图中的xticks?

例如,要关闭y轴上的所有记号,请执行以下操作:

>>> from pylab import *
>>> figure()
>>> plot(arange(10))
>>> tick_params(axis='y', which='both', left='off', right='off', labelleft='off')
>>> show()
鲜于承基
2023-03-14

matplotlib的yticks函数将列表作为参数而不是字符串。因此,要关闭y刻度,

In [1]: import matplotlib.pyplot as plt
In [2]: plt.figure()
Out[2]: <matplotlib.figure.Figure at 0x10ef23710>

In [3]: plt.yticks([])
Out[3]: ([], <a list of 0 Text yticklabel objects>)

为了更好地控制MatpTLIB中的蜱,请考虑使用<代码> TigkyPARAMS < /C>。

 类似资料:
  • 问题内容: 我正在尝试通过使用JSON格式的字符串初始化Javascript变量来加载数据表。如果我声明: 那么我的表将正确加载该行。 我尝试在脚本之前初始化Java字符串,然后将该对象传递给Javascript变量,如下所示: 我的表无法识别这一点,并且在尝试以这种方式传递行时无法加载该行。如何正确地将Java字符串传递给Javascript,以便我的表能够加载数据? 问题答案: 尝试使用引号。

  • 我试图将字符串参数传递给JavaScript函数。出于某种原因,它只能获取整数。我在这里只放了字符串的语法,因为我知道这是个问题,因为它与int一起工作。 发送函数内的代码: 最终,我希望用计数器的值调用HTML页面上的以下函数,如上图所示: 正如我提到的,当我发送int时,javascript文件会发出警报,但当我发送字符串时不会做出反应。

  • 问题内容: 我正在将ajax发布到webmethod上,我可以在客户端(通过Firebug)看到请求的状态为200,但未达到我的webmethod中的停止点(webmethod的第一行)。json参数一切正常,但是通过反序列化json的方式,我不得不将其更改为字符串。 js: aspx: 问题答案: 您在jQuery JSON帖子中缺少内容类型: 请参阅本文。当我遇到类似的问题时,它对我很有帮助:

  • 问题内容: 我试图对一个javascript对象进行字符串化,然后将该字符串作为参数传递给Code Behind中的WebMethod。我无法正常工作,因为我收到500的内部服务器错误,并且stacktrace指出参数值丢失。 这是JavaScript代码: 这是网络方法: 好像我已经尝试了通过google搜索以及在此处找到的所有内容。 我还尝试了很多人参考的本指南:http : //encosi

  • 问题内容: 我正在使用matplotlib在Web应用程序中渲染某些图形。我以前只在运行脚本时使用过。但是,我需要一个函数来返回实际的“ .png”图像,以便可以使用HTML进行调用。 更多(可能不必要的)信息:我正在使用Python Flask。我认为我可以使用该图形并将其粘贴在我的静态文件夹中,然后从我的HTML中调用它,但是我宁愿每次都不要这样做。如果我可以仅创建图形,从中创建图像,返回该图

  • 问题内容: 我最近遇到了TypeError异常,发现它很难调试。我最终将其简化为这个小测试用例: 无论如何,这对我来说不是很明显。我的代码的解决方法是将字节字符串解码为unicode: 此异常的含义是什么?有没有一种方法可以使它更清晰? 问题答案: 对象没有自己的方法,因此使用默认的from : 这只是意味着您不能在这些格式上使用简单,无格式,未对齐的格式。显式转换为字符串对象(就像通过解码到一样