Ian*_*ole 3 python matplotlib pandas
我想将两个散点图放在同一个图上,其中 x 轴是共享的,但 y 轴是不同的。我不知道如何到达那里。要创建我的第一个散点图,我正在做:
ax=df.plot(kind='scatter', x='vf', y='hf_ratio', xlim=[2e-06,6e-06], ylim=[1,10],
color='DarkBlue', s=40, label='a')
ax.ticklabel_format(axis='x', style='sci', scilimits=(0,0))
Run Code Online (Sandbox Code Playgroud)

现在我想在右手 y 轴上添加第二个。Pandas 文档提供了将辅助轴添加到线图 ( secondary_y=True) 的信息,因此我尝试过此操作,但似乎不起作用:
df.plot(kind='scatter', x='vf', y='hfall', secondary_y=True,
color='Red', s=40, label='hfall', ax=ax);
Run Code Online (Sandbox Code Playgroud)

它似乎忽略了该secondary_y=True命令,只是在原始 y 轴上绘图,这不是很有用。只是为了在我的伤口上撒更多盐,它还去除了迷人的白色网格线......
如果有人能够对此提供帮助,将不胜感激。
这似乎是 Pandas 代码的一个问题(错误?)。已经在他们的 GitHub 页面中报告了这一点。从他们在那里给出的解释来看,发生的事情是该secondary_y关键字仅适用于线图,而不适用于您在此处尝试的散点图。
链接中建议的解决方法是使用线图,但将样式更改为点(不确定这是否足以满足您的需求)。在您的情况下,这将类似于:
ax=df.plot(kind='line', x='vf', y='hf_ratio', xlim=[2e-06,6e-06],
ylim=[1,10], color='DarkBlue', style='.', markersize=5, label='a')
df.plot(kind='line', x='vf', y='hfall', secondary_y=True,
color='Red', style='.', markersize=5, label='hfall', ax=ax);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4311 次 |
| 最近记录: |