问题标签 [twinx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
155 浏览

python - set_position() 之后的 matplotlib twinx 奇怪行为

我正在开发一个功能,该功能可以让我轻松地在绘图上的任何位置添加寄生轴,但我遇到了一个奇怪的情况。看看下面的代码:

上面的代码产生下图: 在此处输入图像描述

如您所见,孪生图是使用宿主图的旧位置生成的。我本来希望在主机图的新位置上生成 twinx 图。

如何在宿主图的新位置上绘制 twinx 图?(我知道事先绘制 twinx 图“解决”了这个问题,但这不是一个实际的解决方案

谢谢你的帮助!

0 投票
0 回答
466 浏览

python - Matplotlib 断双 x 轴

我正在尝试生成一个 matplotlib 图,该图由两个共享 x 轴的子图组成。一个子图在不同的 y 轴刻度上绘制两组数据,另一个子图仅绘制一组数据。

我还想“打破”两个子图的 x 轴,以说明我的数据测量之间的很长一段时间。

我已经尝试使用这篇文章中提出的解决方案,但正如一位海报所声称的那样,这种方法不能正确缩放子图 x 轴。

我一直在尝试使用brokenaxes包。它似乎创建了多个子图,相应地缩放它们,并自动隐藏无关的刺、刻度和刻度标签。这个包似乎不支持sharex与从 GridSpec 创建的子图共享 x 轴 ( )。此外,该方法twinx本身不适用于断轴对象。但是,每个折轴对象都包含一个子图轴对象列表。每个轴对象都可用于生成一个twinx,尽管这会导致 matplotlib 重新缩放子图、重绘脊椎、刻度线和标签。

我试图手动隐藏所有重绘的元素,但是我仍然遇到一些问题。

  • 表示断轴的线放置在不正确的位置
  • 我在右上角的子图上留下了无法隐藏的 y 轴刻度线
  • 右上角子图上的网格线不正确,并且与底部子图上的 x 轴不一致。
  • 我想使用'%m-%d'用于 x 轴刻度的日期格式化程序,但尝试它时出错:

AttributeError: 'CallCurator' object has no attribute 'set_major_formatter

这是我尝试的结果: 尝试的情节

以及用于生成它的腌制熊猫数据和代码:

感谢您提供的任何帮助或建议!

0 投票
0 回答
92 浏览

matplotlib - TypeError - 无法根据规则“安全”将数组数据从 dtype('O') 转换为 dtype('float64')

我在同一轴上绘制了两个图,twinx()但输出不正确。这些图未相对于零轴对齐。我正在分享下面的情节。

Days percentage changefloattotal traded quantityinteger

我也得到一个typeError-Cannot cast array data from dtype('O') to dtype('float64') according to the rule 'safe'. 如果您可以修复它并对齐轴以进行正确的可视化,请提供帮助。

在此处输入图像描述

0 投票
1 回答
35 浏览

python - 无法正确绘制 2 y 系列及其相应日期在 x 轴上的绘图?

试图绘制两组数组。x 对 y 和 x1 对 y1 在同一张图上。两组的日期时间值不同,但 y 和 y1 是根据相同的 x 值绘制的,而不是写入数组中的值(两组的日期不同)。

任何帮助表示赞赏!

输出图可以在这里看到

0 投票
1 回答
77 浏览

python - Python (twinx plot) 古怪图

编辑:该图现在已修复,但我在绘制图例时遇到了麻烦。它仅显示其中 1 个图的图例。如下图所示

我正在尝试使用 twinx 绘制双轴图,但我面临一些困难,如下图所示。

欢迎任何输入!如果您需要任何其他信息,我很乐意为您提供。

在此处输入图像描述

与绘制 z 轴之前的原始图像相比。

在此处输入图像描述

我不确定为什么我的图表在绘制辅助 y 轴(粉红色线)之前就像最初那样,可以完美地看到收盘值图表,但现在它似乎被剪掉了。

这可能是由于我的数据如下所示。

testing1.csv链接:https ://filebin.net/ou93iqiinss02l0g

我目前拥有的代码:

最初,我认为这是由于我的 excel 有整个空白行,但我已经删除了可以在此处找到的行

另外,我尝试进行插值,但不知何故它不起作用。非常欢迎对此提出任何建议

0 投票
1 回答
73 浏览

python - 组合来自两个单独轴对象的图例标签错误

我有一个需要两个 y 轴的图表。创建第二个 y 轴后,我现在想将两个轴实例中的每一个实例的标签添加到一个图例中,我在这里看到了 SO 上的方法Secondary axis with twinx(): how to add to legend?但它不会产生图例,而是出现回溯错误。

部分代码

回溯错误是:

0 投票
1 回答
67 浏览

python - matplotlib 中是否可以有给定数量(n>2)的 y 轴?

我有我的prices数据框,它目前有 3 列。但在其他时候,它可能有更多或更少的列。有没有办法使用某种twinx()循环来创建具有(可能)无限数量的 y 轴的所有不同时间序列的折线图?

我尝试了下面的双循环,但我得到了typeError'd:bTypeError: 'AxesSubplot' object does not support item assignment

我相信我明白为什么会出现错误 -ax对象不允许分配i变量。我希望有一些巧妙的方法来实现这一点。

0 投票
0 回答
154 浏览

python - matplotlib 绘图上共享 y 轴之间的 twinx 非线性映射

我有一些用 pcolormesh 绘制的 3d 数据。

x轴是时间,y轴是高度。

高度具有与之相关的势 (E),但从高度 (y) 到势 (E) 的映射是非线性的。

我想在我的图形右侧添加一个轴,显示基于左侧值的正确电位。我并不特别关心排列的左右刻度线(就像这个解决方案中的情况一样)。如果在右轴上有任何“好数字”刻度会有用。

我已经尝试根据 matplotlib docs 中的 celsius-farenheit 示例设置顶部和底部点的 ylim ,但这假设起点和终点之间是线性比例,这不是这里的情况。

最后我尝试使用 funcformatter,但是潜力的缩放需要给出两个外部常量,我找不到可以将常量传递给 funcformatter 的方法。

到目前为止,我的代码如下所示:

目前,右侧 y 轴具有从 0 到 1.0 的线性刻度。我希望根据左侧 y 轴上的 y 值,用一个显示潜在正确性的比例来替换它。

我想用于潜力的功能是这样的:

即高度非线性,有 2 个常数(mu 和 ymax)传递给它。

您可以提供的任何帮助将不胜感激。我已经尽我所能寻找解决这个特定问题的方法,但如果我遗漏了什么,我深表歉意。请务必提出任何问题以澄清。

0 投票
1 回答
263 浏览

python - 如何使用 seaborn 的条形图绘制辅助 y 轴?

我正在尝试绘制数据(见下文)。x 轴为 company_name,y 轴为 status_mission_2_y,另一个 y_axis 为百分比。我试过使用 twinx() 功能,但我无法让它工作。

请问你能帮忙吗?提前致谢!

公司名称 百分比 status_mission_2_y
能效比 1 1
古特 1 1
电视 1 1
桑迪亚 1 1
测试 1 1
美国海军 0.823529412 17
0.8 5
政府 0.75 4
骑士 0.666666667 3
0.666666667 3
0 投票
1 回答
115 浏览

python - 使用 twinx() 时 X 轴日期范围发生变化

当我绘制图表时,条形图的日期更改为 1970 年代,而叠加的线图保持正确。如果我从 twinx() 开始删除代码,则条形图会以正确的日期范围正确显示。我也尝试从线图中删除 x 参数,但它只会导致线图不显示。

结果图表

数据样本是: 在此处输入图像描述