python一个图画两条曲线_python-使用DataFrame.Plot在同一图形上绘制多个...

问题是:条形图不使用索引值作为x轴,而是使用range(0,n).您可以使用twiny()创建与条形轴共享yaxis的第二条轴,并在该第二条轴上绘制直线曲线.

最困难的事情是如何对齐x轴刻度线.在这里,我们定义了align函数,它将ax2中的ax2.get_xlim()[0]与x1对齐,而ax1中的ax2.get_xlim()[1]与x2对齐:

def align_xaxis(ax2, ax1, x1, x2):

"maps xlim of ax2 to x1 and x2 in ax1"

(x1, _), (x2, _) = ax2.transData.inverted().transform(ax1.transData.transform([[x1, 0], [x2, 0]]))

xs, xe = ax2.get_xlim()

k, b = np.polyfit([x1, x2], [xs, xe], 1)

ax2.set_xlim(xs*k+b, xe*k+b)

这是完整的代码:

from matplotlib import pyplot as plt

import pandas as pd

from pandas import Series

import numpy as np

n = 50

x = pd.period_range('2001-01-01', periods=n, freq='M')

y1 = (Series(np.random.randn(n)) + 5).tolist()

y2 = (Series(np.random.randn(n))).tolist()

df = pd.DataFrame({'bar':y2, 'line':y1}, ind

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值