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

增量matplotlib字符串字体大小

白云
2023-03-14

我希望通过将绘图标题字体大小从中等增加到

我的绘图从matplotlibrc.conf文件中获取基本字体大小和修改器。这通常是这样表达的:

font.size : 8
axes.titlesize : medium

现在,对于我的一个图,我想增加标题字体大小,特别是。如果这是一个数字(例如线宽),我可以这样做:

from matplotlib import rcParams
newsize = rcParams['lines.linewidth']*2

但这不会像那样容易。当然,我可以使用字典或一系列elif语句——但我在想matplotlib,知道如何解释这些字符串,也许也有一些递增它们的功能。你知道这种事吗?

编辑:有人建议这将是其他问题的重复。这个问题专门询问增加“字符串字体大小”(正如我在问题标题中所写的)。这意味着手动将字体大小设置为某个整数不是一个选项(除非有办法将matplotlibrc的smallmedium转换为整数-这也是该问题的唯一选项)。

共有1个答案

澹台阳秋
2023-03-14

因此,问题似乎是:给定一个“axes.titlesize”rcParam,如何将标题大小设置为下一个更高的相对大小规范。

解决方案肯定取决于“axes.titlesize”中可能存在的值。例如,如果我们已经知道这些值只能是'xx-small'、'x-small'、'small'、'medium'、'large'、'x-large'中的一个,那么解决方案将相当简单。我们只需要在所有项目的列表中选择下一个可能的项目。

import matplotlib.pyplot as plt
sizes = ['xx-small','x-small','small','medium','large','x-large','xx-large']
plt.rcParams["axes.titlesize"] = sizes[sizes.index(plt.rcParams["axes.titlesize"])+1]

一般情况下,“axes.titlesize”可以是数字,也可以通过以下方式处理任何有效大小的字符串:

import matplotlib.pyplot as plt
sizes = ['xx-small','x-small','small','medium','large','x-large','xx-large']
cs = plt.rcParams["axes.titlesize"]
try:
    plt.rcParams["axes.titlesize"] = float(cs)*1.2
except:
    if cs in ["larger", "smaller"]:
        cs = cs[:5]
    if cs in sizes[:-1]:    
        plt.rcParams["axes.titlesize"] = sizes[sizes.index(cs)+1]
    elif cs == 'xx-large':
        plt.rcParams["axes.titlesize"] =  plt.rcParams["font.size"]*1.2**4
 类似资料:
  • 问题内容: 有谁知道一种非常简单的仅将字符串的首字母大写的方法,而与字符串其余部分的大写无关? 例如: 我也希望能够处理所有字符串长度。 问题答案: @ saua是正确的,并且 适用于任何字符串。

  • 本文向大家介绍F# 字符串字面量,包括了F# 字符串字面量的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 我用字符串变量在java中创建了一个for循环。我想向变量添加一个字符,直到该变量等于一组字符。我创建了for循环。控制台中没有显示错误。但是也没有输出”(我哪里错了?

  • 问题内容: 说我有一个看起来像这样的字符串: 您会注意到字符串中有很多与符号的位置,后跟一个字符(例如“&y”和“&c”)。我需要用字典中的适当值替换这些字符,如下所示: 最快的方法是什么?我可以手动找到所有“&”号,然后遍历字典以更改它们,但这似乎很慢。进行一堆正则表达式替换似乎也很慢(我的实际代码中将有大约30-40对字典)。 任何建议表示赞赏,谢谢。 编辑: 正如在该问题的注释中所指出的那样

  • 我试图让一个语句起作用,但由于某些原因,它不起作用。应该很简单。 假设字符串 我的代码是: 两种规格的结果都是1。

  • 我被一些有趣的任务困住了。我有3个字符串(hello,heavy&word)。需要计算每一个世界的总和并打印最大的世界和总和。用于计算-a=1,z=26。所以hello=50,heavy=61&word=60。最大的字符串是“Heavy”,我需要像“Heavy,61”那样打印出来。我找到了从一个字符串计算字符的代码: