当前位置: 首页 > 面试题库 >

Matplotlib中的非ASCII字符

曾云
2023-03-14
问题内容

我在Matplotlib中显示非ASCII字符时遇到问题,这些字符呈现为小框而不是适当的字体,看起来像(我用红色油漆填充了这些框以突出显示它们):

这是显示问题的图像

我如何解决它?

一个相关的问题是 Matplotlib中的重音字符


问题答案:

实际上,此问题可能有两个不同的原因:

默认字体不包含这些字形

您可以使用以下方法更改默认字体(在完成任何绘制之前!)

matplotlib.rc('font', family='Arial')

在某些版本的matplotlib中,您必须设置族:

matplotlib.rc('font', **{'sans-serif' : 'Arial',
                         'family' : 'sans-serif'})

(请注意,由于语法中sans-serif包含连字符**{},因此实际上是必需的。)

第一个命令将sans- serif字体系列更改为仅包含一个字体(在我的情况下为Arial),第二个命令将默认字体系列设置为sans- serif

其他选项包含在文档中。

您没有正确创建/传递字符串对象到Matplotlib

即使字体包含正确的字形,如果您忘记使用它u来创建Unicode常量,Matplotlib也会具有以下行为:

plt.xlabel("Średnia odległość między stacjami wsparcia a modelowaną [km]")

因此,您需要添加u

plt.xlabel(u"Średnia odległość między stacjami wsparcia a modelowaną [km]")

另一个原因是您忘记在文件顶部添加UTF-8魔术注释(我读到这可能是问题的根源):

# -*- coding: utf-8 -*-


 类似资料:
  • 问题内容: 我正在尝试解析包含某些非ASCII字符的xml, 代码如下 但它在行“ content = …”上显示了错误,例如 在终端中它正在工作,但是在Eclipse IDE上运行时却给我一个错误。 不知道该如何克服。 问题答案: 您应该定义源代码编码,并将其添加到脚本顶部: 它在控制台和IDE中工作不同的原因可能是由于设置了不同的默认编码。您可以通过运行以下命令进行检查:

  • 我正在尝试使用附带的工具调试模糊代码中的异常。模糊标识符使用非ASCII字符,至少在生成的映射文件中是这样的,例如: 当我试图从设备导出堆栈跟踪以便将其馈送到时,这会造成问题。我的模糊设置是否有问题,或者使用非ASCII字符是否正常?如果是这样,我应该如何从设备导出堆栈跟踪以保留它们? 编辑:我后来发现了一种解决办法,它是以的形式输出二进制日志。这会导致日志文件有点难以读取,但堆栈跟踪中确实包含正

  • 问题内容: 从网站提取数据时出现奇怪的字符: 如何删除不是非扩展ASCII字符的内容? 问题答案: 正则表达式替换将是最佳选择。使用作为一个例子的字符串,并使用匹配它,这是一个POSIX字符类: 什么是寻找所有可打印字符。相反,查找所有不可打印的字符。不属于当前字符集的所有字符都将被删除。 注意: 使用此方法之前,必须确保当前字符集为ASCII。POSIX字符类同时支持ASCII和Unicode,

  • 问题内容: 我有一个包含非ASCII字符的URI,例如: http://www.abc.de/qq/qq.ww?MIval=typo3_bsl_int_Smtliste&p_smtbez=Schmalbl -ttrigeSomerzischeruchtanb 如何从此URI中删除“ …” 问题答案: 我猜想URL的来源更多是错误的。也许您正在解决错误的问题?从URI中删除“奇怪”字符可能会赋予它完

  • 问题内容: 如果我有一个PHP字符串,如何有效地确定它是否至少包含一个非ASCII字符?所谓非ASCII字符,是指不属于此表的任何字符,http://www.asciitable.com/,其位置为32-126(含)。 因此,它不仅必须是ASCII表的一部分,而且还必须是可打印的。我想检测一个包含至少一个不符合这些规范的字符的字符串(不可打印的ASCII字符或完全不同的字符,例如不属于该表的Uni

  • 在JavaFX(实际上是ScalaFX)应用程序中,我希望允许用户通过一系列键盘键调用命令。不管当前的键盘布局(语言)如何,这些命令都应该工作。例如,用户可能正在用泰文()键入,然后想通过按'escape'和's'(或':'和'w',vim样式)保存。 我怎样才能克服这个问题?我怎样才能知道是哪一个键被按下而不管语言? 类似的未回答问题:JavaFX KeyEvent和重音字符