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

PANDAS绘制多个Y轴

宋望
2023-03-14
问题内容

我知道熊猫支持次要Y轴,但我很好奇是否有人知道将三次Y轴放置在地块上的方法。目前,我正在用numpy +
pyplot来实现这一点,但是对于大数据集来说它的速度很慢。

这是为了在同一张图上绘制具有不同单位的不同测量值,以便于比较(例如,相对湿度/温度/和电导率)

所以真的很好奇是否有人在pandas没有太多工作的情况下就能做到这一点。

[编辑]我怀疑是否有办法做到这一点(没有太多的开销),但是我希望被证明是错误的,这可能是matplotlib的局限性…


问题答案:

我认为这可能有效:

import matplotlib.pyplot as plt
import numpy as np
from pandas import DataFrame
df = DataFrame(np.random.randn(5, 3), columns=['A', 'B', 'C'])

fig, ax = plt.subplots()
ax3 = ax.twinx()
rspine = ax3.spines['right']
rspine.set_position(('axes', 1.15))
ax3.set_frame_on(True)
ax3.patch.set_visible(False)
fig.subplots_adjust(right=0.7)

df.A.plot(ax=ax, style='b-')
# same ax as above since it's automatically added on the right
df.B.plot(ax=ax, style='r-', secondary_y=True)
df.C.plot(ax=ax3, style='g-')

# add legend --> take advantage of pandas providing us access
# to the line associated with the right part of the axis
ax3.legend([ax.get_lines()[0], ax.right_ax.get_lines()[0], ax3.get_lines()[0]],\
           ['A','B','C'], bbox_to_anchor=(1.5, 0.5))

输出:

输出量



 类似资料:
  • 问题内容: 我有一个熊猫数据框,其中有两个datetime64列和一个timedelta64列,这是两列之间的差异。我正在尝试绘制timedelta列的直方图以可视化两个事件之间的时间差。 但是,仅将结果用于: 尝试将timedelta列转换为: 结果为: 如何创建熊猫timedelta数据的直方图? 问题答案: 这是转换时间增量的方法,文档在这里 转换为秒(精确转换) 使用astype转换将舍入

  • 问题内容: 这是我的pandas数据帧’df’: I want to plot 3 groups of bar chart (according to ): for each channel: plot control booked value vs treatment booked value. hence i should get 6 bar charts, in 3 groups where

  • 我正在制作一个类似飞鸟的飞机游戏,在一个类中,我有移动的背景,然后我将其添加到主jPanel中,它在自己的类中,在另一个类中,我有玩家,我将其添加到主jPanel中。但是,当我将第二个类添加到JPanel时,我添加的第一个类将消失。这是我的背景课: 这是我的平面类:导入java.awt.图形;导入java.awt.event.动作事件;导入java.awt.event.动作监听器;导入java.a

  • 我使用的是libgdx 1.2.0+eclipse。我想在游戏画面中从一个类中绘制多个精灵,但只绘制了一个精灵。这是我的渲染方法

  • 利用WebGL重现三维场景的时候,往往不仅仅有一个几何体,比如像机器人是由多个子零件构成的装配体,可能同一个零件出现在不同的位置,可能两个零件的形状一样颜色不一样,也有颜色形状完全不同的零件。 阅读下面的讲解内容,一方面可以学习如何利用WebGL创建多几何体场景,同时借助实际的问题进一步加深对渲染管线这个硬件黑箱的认知,只有更好的认知渲染管线才能更好的应用与它紧密关联的API接口, 学习精力是有限

  • 问题内容: 我想从熊猫数据框中绘制多条线,并为每条线设置不同的选项。我想做类似的事情 这将引发一些错误消息: 线宽不能用列表调用 在样式中,当在列表中定义颜色时,我不能使用’s’和’o’或任何其他字母符号 另外还有一些对我来说似乎很奇怪的东西 当我在上面的代码中添加另一个plot命令时,它将在同一图中绘制该行,如果我添加命令,它将创建一个新图 如果我愿意的话,可以使用样式列表,但不能使用颜色列表