问题
- 我在pd.DataFrame.plot()中使用了
secondary_y
参数。 - 在尝试将图例的字体大小更改为
.legend(fontsize=20)
时,我最终在图例中只有1个列名,而实际上我有2列要打印在图例上。 - 当我没有使用
secondary_y
参数时,这个问题(图例中只有1个列名)不会发生。 - 我希望 Dataframe 中的所有列名都打印在图例中,并更改图例的字体大小,即使在绘制 Dataframe 时使用
secondary_y
。**
示例
- 下面的
secondary_y
示例只显示了一个列名A
,而实际上我有两个列,即A
和B
。 - 图例的字体大小会更改,但仅适用于1个列名。
import pandas as pd
import numpy as np
np.random.seed(42)
df = pd.DataFrame(np.random.randn(24*3, 2),
index=pd.date_range('1/1/2019', periods=24*3, freq='h'))
df.columns = ['A', 'B']
df.plot(secondary_y = ["B"], figsize=(12,5)).legend(fontsize=20, loc="upper right")
- 当我不使用
secondary_y
时,图例显示A
和B
这两列。
import pandas as pd
import numpy as np
np.random.seed(42)
df = pd.DataFrame(np.random.randn(24*3, 2),
index=pd.date_range('1/1/2019', periods=24*3, freq='h'))
df.columns = ['A', 'B']
df.plot(figsize=(12,5)).legend(fontsize=20, loc="upper right")
2条答案
按热度按时间y4ekin9u1#
要管理自定义它,您必须使用Matplotlib的子图功能创建图形:
结果:
lawou6xi2#
这是一个有点晚的响应,但对我有效的是简单地在plot函数之后设置
plt.legend(fontsize = wanted_fontsize)
。