问题标签 [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.
python - 如何在不破坏其实际方向的情况下在同一图中绘制熊猫数据框?
我试图比较Naive 矩阵乘法和Strassen 的运行时间。为此,我记录了矩阵不同维度的运行时间。然后我试图将结果绘制在同一张图中进行比较。
但问题是绘图没有显示正确的结果。
- 这是数据...
2 3142 3 3531 4 4756 5 5781 6 8107
最左列表示n
,维度和最右列表示执行时间。
以上数据是针对Naive 方法的, Strassen的数据也是这种模式。
我将此数据插入到pandas 数据框。绘制数据后,图像如下所示:
这里蓝色代表Naive,绿色代表Strassen's 这当然不是真的,因为Naive不可能是恒定的。但是我的代码是正确的。所以我决定单独绘制它们,结果如下:
如您所见,这可能是因为 Y 轴的缩放比例不一样?这是原因吗?
我正在实现的绘图代码是:
我试图解决什么问题?
但是没有运气!!!
如何在不改变实际方向的情况下将它们绘制在同一个图中?
python-3.x - matplotlib:使用多个 twinx 子图控制 y 轴标签的位置
我编写了一个基于 matplotlib 的 Python 脚本,它根据公共时间线生成曲线。在我的图中,共享相同 x 轴的曲线数量可以从 1 到 6 不等,具体取决于用户选项。绘制的每个数据都使用不同的 y 比例,并且需要不同的轴进行绘制。因此,我可能需要在绘图右侧最多绘制 5 个不同的 Y 轴。我在其他一些帖子中找到了在添加新轴时偏移轴位置的方法,但我仍然有两个问题:
- 如何控制多个轴的位置,使刻度标签不重叠?
- 如何控制每个轴标签的位置,使其垂直放置在每个轴的底部?以及如何在调整显示窗口大小、放大等时保持这种对齐方式......我可能需要编写一些代码,首先查询轴的位置,然后是一个指令,将标签相对于该位置放置,但是我真的不知道该怎么做。
我不能分享我的整个代码,因为它太大了,但是我从这个例子中的代码派生了它。我通过添加一个额外的绘图和一个额外的轴来修改该示例,以更接近地匹配我的脚本中打算执行的操作。
当我运行它时,我得到以下图: 上面脚本的输出
在这张图片中,上面的问题 2 意味着我希望将 y 轴标签“温度”、“速度”、“加速度”直接绘制在每个相应轴的下方。
提前感谢您的帮助。
问候,
L.
matplotlib - matplotlib:具有超过 4 个 twinx 轴的紧密布局具有额外的填充
我正在运行一个脚本来绘制一组最多 6 条曲线共享一个公共时间线。我最多使用 twinx() 5 次,并且在图的右侧最多使用 4 个分离轴。脚本(如下所示)源自此示例。但是,如果我有多个额外轴,则该示例中显示的绘制额外轴的方法不起作用。为了绘制额外的轴,我必须使用 plt.tight_layout()。但是当我这样做时,我得到了过多的填充,主要是在绘图的右侧,这大大降低了显示布局良好的曲线的能力,即使在扩展显示窗口时也是如此,如下图所示:脚本的结果 不使用tight_layout 时我没有得到额外的填充,但是我没有看到额外的轴。我已经尝试了几种基于引用示例中的代码修复额外轴显示的方法,我的脚本中的一些注释掉的代码证明了这一点,但无济于事。
我如何摆脱这个额外的填充并同时看到我的额外轴?
脚本:
python - 在新版本的 matplotlib 中使用 twinx 时定义纵横比
当前版本的 matplotlib 不再允许,我应该如何做与答案box-forced
相同的事情?
我正在使用 matplotlib 3.1.0。在我用函数在同一个图上绘制另一组数据后twinx()
,我想将实际绘图区域的纵横比更改为 1。
通常我这样做,它适用于非双轴
对于 twinx 轴,上面的代码不起作用,但也不会引发任何错误。
然后我在这里找到了答案
该代码基本上使用相同的方法将纵横比设置为1,只是带有box-forced
选项。
我的python中的这段代码不起作用,引发
如果我将其更改为'box'
,它会给
我不确定从何时box-forced
删除。现在我们应该如何以“盒子”的方式设置纵横比?
谢谢!
matplotlib - Matplotlib:箱线图和条形图在使用 twinx 覆盖时发生偏移
当我创建一个条形图并使用双 x 覆盖条形图时,与条形相比,这些框向右移动了一个。
之前已发现此问题(Python pandas plotting shift x-axis if twinx two y-axes),但该解决方案似乎不再有效。(我正在使用 Matplotlib 3.1.0)
输出显示与条相比向右移动了一个框。上一篇文章的受访者正确地指出,柱的刻度位置是从零开始的,而盒子的刻度位置是从一开始的,这导致了这种转变。但是,plt.bar()
响应者用来修复它的方法现在会引发错误,因为 x 参数已成为强制性的。如果提供了 x 参数,它仍然会抛出错误,因为不再有参数“left”。
此外,我更喜欢使用面向对象的方法参考轴进行修复,因为我想将图表放入交互式 ipywidget 中。
这是理想的图表:
非常感谢。
python - Matplotlib 辅助/双轴 - 用圆圈和箭头标记 - 用于黑白 (bw) 发布
通常两个 y 轴用不同的颜色分开,如下例所示。
对于出版物,通常需要保持可区分性,即使它是黑白印刷的。
这通常是通过围绕一条线绘制圆圈来完成的,这些圆圈带有一个指向相应轴方向的箭头。
如何使用 matplotlib 实现这一点?或者有没有更好的方法来实现没有这些圆圈的黑白可读性?
来自matplotlib.org的代码:
python - 使用 matplotlib 制作好的图表时遇到问题,特别是使用 twinx()
我无法使用 matplotlib 使我的图表看起来正确/体面。线条不切换颜色,轴不显示,为了防止图形与标签重叠,我必须使图形非常大。示例图 代码在一个循环中,但这是与绘图相关的重要内容。总结:
- 线条只停留一种颜色
- 图表必须非常大,否则图表和标签将全部重叠
- 缩放不断关闭
- 有些线条根本没有出现
- 标签正在消失
'''
'''
python - set_markersize 不适用于右侧轴
我在搞乱一些情节风格并产生了好奇心。我有一个情节,twinx()
可以在右侧和左侧产生刻度。我想错开一些刻度,有些比其他的更远。
我可以向任何轴上的任何刻度添加填充并通过 推出文本ax.yaxis.get_major_ticks()[1].set_pad()
,但是当我尝试通过 延长刻度时ax.yaxis.get_major_ticks()[1].tick1line.set_markersize()
,它适用于除右侧之外的所有轴。有什么见解吗?
请看下面的代码。我试过调高轴(ax1,ax2)和索引。