将长 xticks 分成 2 行 matplotlib

2024-01-31

我有以下 matplotlib

我想将 x-ticks 分成 2 行而不是 1 行,因为有时它们太长,这就是为什么它们会遇到另一行,然后就无法读取 x-ticks。

请记住,X-ticks 不是硬编码的,它们正在变化。所以 x 刻度并不总是相同。

因此,对于下面的示例,如果我有而不是to Schleswig-Holstein我本可以有:

to Schleswig-
  Holstein

我如何将字符串放在后面-x 刻度的换行符?或者简单地说 10 个字母之后我想换行

顺便说一句,如果我可以像上面的示例一样将所有文本居中,那就太好了

所以遵循也可以,但不是最好的。

to Schleswig-
Holstein

PS:这是我使用的代码:

# create figure
fig = plt.figure()

# x-Axis (sites)
i = np.array(i)
i_pos = np.arange(len(i))

# y-Axis (values)
u = urbs_values
o = oemof_values

plt.bar(i_pos-0.15, list(u.values()), label='urbs', align='center', alpha=0.75, width=0.2)
plt.ticklabel_format(axis='y', style='sci', scilimits=(0, 0))
plt.bar(i_pos+0.15, list(o.values()), label='oemof', align='center', alpha=0.75, width=0.2)
plt.ticklabel_format(axis='y', style='sci', scilimits=(0, 0))

# tick names
plt.xticks(i_pos, list(map((' to ').__add__, list(u.keys()))))

# plot specs
plt.xlabel('Lines')
plt.ylabel('Capacity [MW]')
plt.title(site+' '+name)
plt.grid(True)
plt.legend()
plt.ticklabel_format(style='sci', axis='y')
# plt.show()

# save plot
fig.savefig(os.path.join(result_dir, 'comp_'+name+'_'+site+'.png'), dpi=300)
plt.close(fig)

您可以使用re如建议的this https://stackoverflow.com/a/2657703/4932316回答并创建一个新标签列表,每 10 个字符后有一个换行符。

import re
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

xlabels = ["to Schleswig-Holstein", "to Mecklenburg-Vorpommern", r"to Lower Saxony"]

xlabels_new = [re.sub("(.{10})", "\\1\n", label, 0, re.DOTALL) for label in xlabels]

plt.plot(range(3))
plt.xticks(range(3), xlabels_new)
plt.show()

选择

xlabels_new = [label.replace('-', '-\n') for label in xlabels]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将长 xticks 分成 2 行 matplotlib 的相关文章

  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • 如何使用装饰器禁用某些功能的中间件?

    我想模仿的行为csrf exempt see here https docs djangoproject com en 1 11 ref csrf django views decorators csrf csrf exempt and h
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • 如何将交互式 matplotlib 图形插入 tkinter 画布

    我正在尝试将交互式 matplotlib 图形 具有滑块 重置按钮和单选按钮的图形 放入 tkinter Canvas 中 我已成功添加非交互式图表 但当它变为交互式时找不到问题 我尝试将所有内容更改为使用 matplotlib Figur
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • Colorbox 中的 CKEditor 加载不起作用 [ Google Chrome ]

    我在我的项目中使用 Colorbox 我已将 CKEditor 集成到 colorbox 中 它在所有浏览器中工作正常 但在 Google Chrome 中存在一个小问题 编辑器将在第一次单击时正确打开 关闭弹出窗口并在不加载页面的情况下第
  • 从插入触发器后调用存储过程

    也许是一个愚蠢的问题 如果我从插入后触发器 T SQL 调用存储过程 那么如何获取 刚刚插入 数据的值 例如 CREATE TRIGGER dbo MyTrigger ON dbo MyTable AFTER INSERT AS BEGIN
  • 将 NSString 转换为 cString 以与 CGContextShowTextAtPoint 一起使用

    我正在使用 CGContextShowTextAtPoint 绘制一个字符串 因此我需要将我想要绘制的 NSString 转换为 c 字符串 不幸的是 诸如欧元货币符号之类的特殊符号未正确显示 CGContextSelectFont cur
  • 合并霍夫线

    我的代码卡在了某一点 首先简短说明一下我正在做的事情 作为输入 有一张地板的图像 使用 Canny 和 HoughLinesP 算法 我想将整面墙分割成许多 小 部分 正如您在这里看到的那样 同时理想的输出 这里没有精明 我想得到 两条红线
  • 刷新 Spotify 令牌 iOS SDK 时遇到问题

    我对如何使用刷新令牌服务感到困惑 在我的应用程序中有一个包含许多播放列表的部分 当用户单击播放列表时 它会运行以下代码 func checkAuth print checking auth let auth SPTAuth defaultI
  • Node JS请求模块不发送表单数据

    我正在使用 Node js 中的 请求 模块发出发布请求 如下所示 request post url http localhost 4004 api v1 notifications post form msg msg userID use
  • Vuejs 元素值变化事件?

    我有一个元素想要观察这样的变化 span class lower 50 span 用 vuejs 可以干净地做到这一点吗 我尝试查看文档 但找不到类似的内容 我想在 VueJs 中每当 50 更改为其他内容时启动一个自定义事件 你有没有尝试
  • SQL Server 2005 中外键与复合主键的关系

    我有两张桌子 Table1 FileID BundledFileID Domain and Table2 FileID FileType FileName 表2中FileID and FileType是复合主键 我想创建一个外键关系Tabl
  • angularjs ng-options嵌套json数据

    我正在为我的网络应用程序使用 AngularJS 我的目标是使用两个下拉列表ng options 第一个下拉列表显示国家 地区列表 另一个给出所选国家 地区的语言首选项 作为 AngularJS 的新手 我能够显示数据 但整个对象显示为单个
  • 获取 Composable 中状态的先前值 - Jetpack Compose

    假设我的代码如下所示 Composable fun ExampleList val tickers by exampleViewModel tickers observeAsState LazyColumn items items tick
  • 如何禁止临时工

    对于 Foo 类 有没有办法在不给它命名的情况下禁止构造它 例如 Foo hi 并且仅在您给它一个名称时才允许它 如下所示 Foo my foo hi 第一个的生命周期只是语句 第二个是封闭块 在我的用例中 Foo正在测量构造函数和析构函数
  • iOS 中 opengl 顶点数据的对齐有多重要

    OpenGL ES 编程指南讨论了应该避免未对齐的顶点数据 并给出了将数据对齐到 4 字节块的示例 OpenGL ES 编程指南 http developer apple com library ios documentation 3DDr
  • 泛型:确保参数的类型相同

    我有以下方法 protected
  • 在谷歌折线图中的同一行上组合实线和虚线格式

    我在我的应用程序中使用谷歌折线图来显示当前值和预测值 我收到的数据来自数据库 当前值和预计值 我希望看到直到当前分数的实线和未来预计分数的虚线 请让我知道如何实现这一目标 Example 匹配 我5月10日的当前费用是5000美元 到10月
  • 在 Mathematica 中使用图形通过交叉替换磁盘

    考虑以下列表 dalist 47 9913 11 127 208 47 5212 10 3002 208 49 7695 9 96838 160 48 625 12 7042 436 这些是屏幕上眼睛注视的坐标 在每个子列表中 1是 X 坐
  • 使用窗口关闭按钮完全关闭 OS X 应用程序

    当用户在运行时使用应用程序关闭文档窗口时 我需要完全关闭我的应用程序 目前 当他们单击窗口时 应用程序保持打开状态并显示其菜单栏 我阅读了适用于 iOS 的这篇文章 并在 plist 文件中添加了一个条目 http developer ap
  • 如何初始化静态 std::atomic 数据成员

    我想为名为的类生成标识符order以线程安全的方式 下面的代码无法编译 我知道原子类型没有复制构造函数 我认为这解释了为什么这段代码不起作用 有人知道如何让这段代码真正发挥作用吗 有替代方法吗 include
  • 如何在 DataTable.Select(Expression) 中使用 SELECT GROUP BY?

    我尝试通过从每个组中选择第一行来删除重复的行 例如 PK Col1 Col2 1 A B 2 A B 3 C C 4 C C 我想要一个回报 PK Col1 Col2 1 A B 3 C C 我尝试了以下代码 但它不起作用 DataTabl
  • 在 HTML 表格中显示嵌套数组

    这是一个简单的问题 我花了几个小时试图解决 我有一个数组 其中包含几个学生的信息以及他们在测试中得分的分数 总共有 8 个主题 每个主题有 5 个参数 该数组如下所示 Array Ron gt Array subject1 gt Array
  • 将长 xticks 分成 2 行 matplotlib

    我有以下 matplotlib 我想将 x ticks 分成 2 行而不是 1 行 因为有时它们太长 这就是为什么它们会遇到另一行 然后就无法读取 x ticks 请记住 X ticks 不是硬编码的 它们正在变化 所以 x 刻度并不总是相