python - twinx图中的Python x轴变化
问题描述
我有一个df
包含一些气象参数的数据框。数据框有 DatetimeIndex,所以当我绘制它时,它会自动将时间放在 x 轴上。现在这很好,因为当我绘制一个参数时,例如:
ax1 = df.plot(y='temp_vaisala' , color='tab:blue')
ax1.set_ylabel('Temerature (C)', color='tab:blue')
ax1.set_xlabel('Month', color='tab:blue')
但是,我想要一个包含两个参数的图表,所以我使用 twinx 选项,如下所示:
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(df['temp_vaisala'], 'tab:blue')
ax2.plot(df['rel_humidity_vaisala'], 'b-')
ax1.set_xlabel('Month', color='tab:blue')
ax1.set_ylabel('Temerature (C)', color='tab:blue')
ax2.set_ylabel('RH (-)', color='b')
所以出于某种原因,这完全弄乱了 x 轴下的描述。我希望这个带有两个参数的图表具有与第一个图表相同的 x 轴。有人对此有解决方案吗?提前谢谢了!
解决方案
试试这个,使用熊猫情节:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame({'temp':np.arange(12),'rhel':np.arange(220,100,-10)},
index=pd.date_range('10-01-2020', periods=12, freq='MS'))
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
df['temp'].plot(ax = ax1, color='tab:blue')
df['rhel'].plot(ax = ax2, color='b')
ax1.set_xlabel('Month', color='tab:blue')
ax1.set_ylabel('Temerature (C)', color='tab:blue')
ax2.set_ylabel('RH (-)', color='b');
输出:
推荐阅读
- c# - 表 - 使用角度存储过程中的数据的高图表行
- excel - 在 Excel IF 函数中获取#VALUE ERROR
- r - RStudio:如何在 cite-key 中使用特殊符号引用 bibtex 参考
- android - 将对齐设置为段落跨度以编辑文本
- ruby-on-rails - 安装推荐 gem 时出错 - 无法构建 gem 原生扩展(hiredis.h 没有这样的文件或目录)
- python - 我不确定如何解决这个问题,它说 f 没有定义
- powerbi - Power BI 模型大小限制
- php - 如何在 Wordpress 中为自定义帖子类型进行分页?
- sql-server - 如何在 Entity Framework Core 中结合一对多关系和多对多关系
- batch-file - 批处理文件编辑.ini文件但不删除空格