首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pandas和Matplotlib将df绘制为具有2个y轴的子图

Pandas是一个基于Python的数据分析库,而Matplotlib是一个用于绘制图表和可视化数据的库。当我们想要将DataFrame(df)绘制为具有2个y轴的子图时,可以使用这两个库的功能来实现。

首先,我们需要导入所需的库:

代码语言:python
代码运行次数:0
复制
import pandas as pd
import matplotlib.pyplot as plt

接下来,我们假设我们有一个名为df的DataFrame,其中包含两个列,分别是x和y1,我们想要将它们绘制在一个子图中,并在同一图中添加另一个y轴和对应的数据列y2。

代码语言:python
代码运行次数:0
复制
# 创建一个示例DataFrame
data = {'x': [1, 2, 3, 4, 5],
        'y1': [10, 20, 15, 25, 30],
        'y2': [50, 40, 30, 20, 10]}
df = pd.DataFrame(data)

# 创建一个包含两个子图的画布
fig, ax1 = plt.subplots()

# 绘制第一个y轴的数据
ax1.plot(df['x'], df['y1'], 'g-', label='y1')
ax1.set_xlabel('x')
ax1.set_ylabel('y1')
ax1.tick_params('y', colors='g')

# 创建第二个y轴并绘制数据
ax2 = ax1.twinx()
ax2.plot(df['x'], df['y2'], 'b-', label='y2')
ax2.set_ylabel('y2')
ax2.tick_params('y', colors='b')

# 添加图例
lines, labels = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines + lines2, labels + labels2, loc='upper right')

# 显示图形
plt.show()

在这个例子中,我们创建了一个包含两个子图的画布。首先,我们使用ax1.plot()函数绘制了第一个y轴的数据,并设置了相应的标签和颜色。然后,我们使用ax1.twinx()函数创建了第二个y轴,并使用ax2.plot()函数绘制了第二个y轴的数据。最后,我们使用ax1.get_legend_handles_labels()ax2.get_legend_handles_labels()函数获取图例的句柄和标签,并使用ax2.legend()函数将两个图例合并到一起,并设置其位置为右上角。最后,使用plt.show()函数显示图形。

这样,我们就成功地将DataFrame绘制为具有2个y轴的子图了。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Pandas可视化综合指南:手把手从零教你绘制数据图表

坐标设置 取值范围 使用xlimylim两个参数可设置xy范围。在折线图中,我们要将x设置为0到20,y制为从0到100。...x、y刻度 有时候坐标刻度并不理想,我们希望在上面标上我们喜欢数值。...比如对于x,我们想要标上0、10、1520几个值;对于y,我们想要标上0、50、70、100几个值,可以在xticksyticks参数中悉数列出。...但是用列表来制定坐标刻度方法,在数值太多时候就比较麻烦了,因此我们还能通过指定刻度间隔方法来绘制坐标,比如指定x间隔是1,y间隔是10: df[:20][‘Freedom’].plot(kind...有了subplot参数还可以绘制,根据需要指定行数列数以及绘图数量。 ? 在上面的图中,我们没有给添加标题。

2.5K20

Pandas可视化综合指南:手把手从零教你绘制数据图表

坐标设置 取值范围 使用xlimylim两个参数可设置xy范围。在折线图中,我们要将x设置为0到20,y制为从0到100。...x、y刻度 有时候坐标刻度并不理想,我们希望在上面标上我们喜欢数值。...比如对于x,我们想要标上0、10、1520几个值;对于y,我们想要标上0、50、70、100几个值,可以在xticksyticks参数中悉数列出。...但是用列表来制定坐标刻度方法,在数值太多时候就比较麻烦了,因此我们还能通过指定刻度间隔方法来绘制坐标,比如指定x间隔是1,y间隔是10: df[:20][‘Freedom’].plot(kind...有了subplot参数还可以绘制,根据需要指定行数列数以及绘图数量。 ? 在上面的图中,我们没有给添加标题。

2.6K20
  • Pandas可视化综合指南:手把手从零教你绘制数据图表

    坐标设置 取值范围 使用xlimylim两个参数可设置xy范围。在折线图中,我们要将x设置为0到20,y制为从0到100。...x、y刻度 有时候坐标刻度并不理想,我们希望在上面标上我们喜欢数值。...比如对于x,我们想要标上0、10、1520几个值;对于y,我们想要标上0、50、70、100几个值,可以在xticksyticks参数中悉数列出。...但是用列表来制定坐标刻度方法,在数值太多时候就比较麻烦了,因此我们还能通过指定刻度间隔方法来绘制坐标,比如指定x间隔是1,y间隔是10: df[:20][‘Freedom’].plot(kind...有了subplot参数还可以绘制,根据需要指定行数列数以及绘图数量。 ? 在上面的图中,我们没有给添加标题。

    2.6K20

    Pandas可视化综合指南:手把手从零教你绘制数据图表

    取值范围 使用xlimylim两个参数可设置xy范围。在折线图中,我们要将x设置为0到20,y制为从0到100。...x、y刻度 有时候坐标刻度并不理想,我们希望在上面标上我们喜欢数值。...比如对于x,我们想要标上0、10、1520几个值;对于y,我们想要标上0、50、70、100几个值,可以在xticksyticks参数中悉数列出。...但是用列表来制定坐标刻度方法,在数值太多时候就比较麻烦了,因此我们还能通过指定刻度间隔方法来绘制坐标,比如指定x间隔是1,y间隔是10: df[:20][‘Freedom’].plot(kind...有了subplot参数还可以绘制,根据需要指定行数列数以及绘图数量。 ? 在上面的图中,我们没有给添加标题。

    1.9K10

    Pandas可视化综合指南:手把手从零教你绘制数据图表

    坐标设置 取值范围 使用xlimylim两个参数可设置xy范围。在折线图中,我们要将x设置为0到20,y制为从0到100。...x、y刻度 有时候坐标刻度并不理想,我们希望在上面标上我们喜欢数值。...比如对于x,我们想要标上0、10、1520几个值;对于y,我们想要标上0、50、70、100几个值,可以在xticksyticks参数中悉数列出。...但是用列表来制定坐标刻度方法,在数值太多时候就比较麻烦了,因此我们还能通过指定刻度间隔方法来绘制坐标,比如指定x间隔是1,y间隔是10: df[:20][‘Freedom’].plot(kind...有了subplot参数还可以绘制,根据需要指定行数列数以及绘图数量。 ? 在上面的图中,我们没有给添加标题。

    1.8K50

    Pandas可视化综合指南:手把手从零教你绘制数据图表

    坐标设置 取值范围 使用xlimylim两个参数可设置xy范围。在折线图中,我们要将x设置为0到20,y制为从0到100。...x、y刻度 有时候坐标刻度并不理想,我们希望在上面标上我们喜欢数值。...比如对于x,我们想要标上0、10、1520几个值;对于y,我们想要标上0、50、70、100几个值,可以在xticksyticks参数中悉数列出。...但是用列表来制定坐标刻度方法,在数值太多时候就比较麻烦了,因此我们还能通过指定刻度间隔方法来绘制坐标,比如指定x间隔是1,y间隔是10: df[:20][‘Freedom’].plot(kind...有了subplot参数还可以绘制,根据需要指定行数列数以及绘图数量。 ? 在上面的图中,我们没有给添加标题。

    1.7K10

    Pandas可视化综合指南:手把手从零教你绘制数据图表

    02 绘制柱状、散点图等常见图形 从最近简单柱状开始,只统计腐败程度、自由度、宽容度、社会支持等几个维度 %matplotlib tk df1=df[:5] df1.plot('Country',...03 坐标设置 1. 取值范围 使用xlimylim两个参数可设置xy范围。在折线图中,我们要将x设置为0到20,y制为从0到100。...2. x、y刻度 有时候坐标刻度并不理想,我们希望在上面标上我们喜欢数值。...比如对于x,我们想要标上0、10、1520几个值;对于y,我们想要标上0、50、70、100几个值,可以在xticksyticks参数中悉数列出。...有了subplot参数还可以绘制,根据需要指定行数列数以及绘图数量。 4行3列 ? 3行4列 ? 在上面的图中,我们没有给添加标题。

    1.7K30

    Pandas高级教程之:plot画图详解

    简介 python中matplotlib是非常重要并且方便图形化工具,使用matplotlib可以可视化进行数据分析,今天本文将会详细讲解Pandasmatplotlib应用。...(x="a", y="b"); scatter还可以带第三个df.plot.scatter(x="a", y="b", c="c", s=50); 可以第三个参数变为散点大小: df.plot.scatter...从数据集中选择指定大小随机子集,为该子集计算出相关统计信息, 重复指定次数。 生成直方图构成了引导。...: 绘制DF时候,可以多个Series分开作为显示: In [137]: df.plot(subplots=True, figsize=(6, 6)); 可以修改layout:...如果Y数据太多的话,使用默认线颜色可能不好分辨。

    3.5K41

    数据可视化干货:使用pandasseaborn制作炫酷图表(附代码)

    大部分pandas绘图方法,接收可选ax参数,该参数可以是一个matplotlib对象。这使你可以更为灵活在网格布局中放置。...DataFrameplot方法在同一个图中将每一列绘制为不同折线,并自动生成图例(见图9-14): In [62]: df = pd.DataFrame(np.random.randn(10, 4...参数 描述 label 图例标签 ax 绘图所用matplotlib对象;如果没传值,则使用当前活动matplotlib style 传给matplotlib样式字符串,比如'ko--'...展示网格(默认是打开) ▲表9-3 Series.plot方法参数 DataFrame拥有多个选项,允许灵活地处理列;例如,是否各列绘制到同一个图中,或为各列生成独立。...参数 描述 subplots DataFrame每一列绘制在独立图中 sharex 如果subplots=True,则共享相同x、刻度范围 sharey 如果subplots=True,则共享相同

    5.4K40

    Matplotlib引领数据图表绘制

    Matplotlib引领数据图表绘制 前言 在数据科学领域,数据可视化是一种强大工具,能够复杂数据转化为易于理解分析图形。...Matplotlib作为Python中最流行数据可视化库,为我们提供了丰富绘图功能灵活绘图选项。本文深入探索Matplotlib。...plt.show() 设置坐标 通过 xlim ylim 来限定坐标范围,只能确定一个数值区间 通过 xlabel ylabel 来设置坐标名称 通过 xticks yticks...有时候我们需要不同大小。比如将上面第一 张完全放置在第一行,其他都放在第二行。...通过学习应用Matplotlib,我们能够复杂数据转化为直观图表,更好地理解数据,支持决策分析。

    20910

    Python数据可视化 热力图

    一、matplotlib绘制热力图 Matplotlib是Python著名2D绘图库,该库仿造Matlab提供了一整套相似的绘图函数,用于绘图表,是强大数据可视化工具做图库,且绘制出图形美观...Seaborn其实是在matplotlib基础上进行了更高级API封装,从而使得作图更加容易,不需要经过大量调整就能使你变得精致。...如果是DataFrame,则dfindex/column信息会对应到heatmap上,即df.index对应到热力图xdf.columns对应到热力图y vmax,vmin:分别是热力图颜色取值最大和最小范围...,且没设定vminvmax值,热力图颜色映射范围根据具有鲁棒性分位数设定,而不是用极值设定 annot(annotate缩写):默认取值False;如果为True,在热力图每个方格写入对应数据...如果是布尔型DataFrame,则将DataFrame里True位置用白色覆盖掉 ax:设置作图坐标,一般画多个子时需要修改不同该值 **kwargs:All other keyword

    6.7K40

    Python数据分析实战(3)Python实现数据可视化

    文章目录 一、数据可视化介绍 二、matplotlibpandas画图 1.matplotlib简介简单使用 2.matplotlib常见作图类型 3.使用pandas画图 4.pandas中绘图与...matplotlib画图库: pyplot库 提供了matlab类似的绘图API,方便用户快速绘制2D图表。...title 设置标题。 xlim、ylim 分别设置X、Y显示范围。 legend 显示图示,即图中表示每条曲线标签(label)样式矩形区域。...一个绘图对象(figure)可以包含多个(axis),在Matplotlib中用表示一个绘图区域,可以将其理解为。上面的第一个例子中,绘图对象只包括一个,因此只显示了一个Axes)。...4.pandas中绘图与matplotlib结合使用 有时候想方便地集成绘图方式,比如df.plot(),但是又想加上matplotlib很多操 作来增强图片表现力,这时可以两者结合。

    4.5K20

    Python 数据分析(PYDA)第三版(四)

    matplotlib绘图位于 Figure 对象中。...您还可以使用 sharex sharey 指示具有相同 x 或 y 。当您在相同比例上比较数据时,这可能很有用;否则,matplotlib 会独立自动缩放绘图限制。...表 9.1:matplotlib.pyplot.subplots 选项 参数 描述 nrows 行数 ncols 列数 sharex 所有应使用相同 x 刻度(调整 xlim 影响所有...) sharey 所有应使用相同 y 刻度(调整 ylim 影响所有) subplot_kw 传递给 add_subplot 调用关键字字典,用于创建每个子 **fig_kw 创建时使用...subplots=True,共享相同 x ,链接刻度限制 sharey 如果 subplots=True,共享相同 y legend 添加图例(默认为 True) sort_columns

    30400

    看了这个总结,其实 Matplotlib 可视化,也没那么难!

    Matplotlib 可用于创建高质量图表图形,也可以用于绘制可视化结果。...matplotlib 是 Python 优秀数据可视化第三方库,matplotlib.pyplot 是绘制种类可视化图形命令库,相当于快捷方式 import matplotlib.pyplot as...本文用 Python 对一批运动员数据进行操作,读取数据、数据预处理、matplotlib 数据可视化,熟悉用 Python 进行数据分析可视化基本方法,并绘制柱形、堆叠、折线图、饼、环、箱形...对子绘图区域划定选择 GridSpec是matplotlib中一个特殊用来进行绘图区域设计选定一个类 import matplotlib.gridspec as gridspec gs =...运行效果如下: 10. matplotlib 绘制热力图 Matplotlib 是 Python 著名 2D 绘图库,该库仿造 Matlab 提供了一整套相似的绘图函数,用于绘图表,是强大数据可视化工具做图库

    1.6K31

    数据分析中可视化-常见图形

    还可以指定subplots其他参数,例如使得之间具有相同x或者y(否则matplotlib会自动缩放各坐标界限) (3)调整间距 利用subplots_adjust函数可以调整各个子之间间距图像大小...=True) # 图为2行2列,设置具有相同xy 4for i in range(2): 5for j in range(2): 6axes[i,j].hist(np.random.randn...(500),bins=50, color='k',alpha=0.5) 7plt.subplots_adjust(wspace=0, hspace=0) # 之间间距收缩到了0 设置操作 axis...image.png 数据分析中常用图形: 线型: 除了matplotlibpandasSeriesDataFrame都具有许多根据其自身数据组织特点来创建标准绘图高级绘图方法。...image.png 柱形: 柱状绘制是x坐标对应y取值,在plot代码中加入kind=‘bar’就可以得到垂直柱状,‘barh’则是水平柱状

    1.4K20

    看了这个总结,其实 Matplotlib 可视化,也没那么难!

    Python 中可以通过 matplotlib 模块 pyplot 库来完成绘图。Matplotlib 可用于创建高质量图表图形,也可以用于绘制可视化结果。...matplotlib 是 Python 优秀数据可视化第三方库,matplotlib.pyplot 是绘制种类可视化图形命令库,相当于快捷方式 import matplotlib.pyplot as...本文用 Python 对一批运动员数据进行操作,读取数据、数据预处理、matplotlib 数据可视化,熟悉用 Python 进行数据分析可视化基本方法,并绘制柱形、堆叠、折线图、饼、环、箱形...对子绘图区域划定选择 GridSpec是matplotlib中一个特殊用来进行绘图区域设计选定一个类 import matplotlib.gridspec as gridspec gs =...10. matplotlib 绘制热力图 Matplotlib 是 Python 著名 2D 绘图库,该库仿造 Matlab 提供了一整套相似的绘图函数,用于绘图表,是强大数据可视化工具做图库

    1.1K30

    原来使用 Pandas 绘制图表也这么惊艳

    数据可视化是捕捉趋势分享从数据中获得见解非常有效方式,流行可视化工具有很多,它们各具特色,但是在今天文章中,我们学习使用 Pandas 进行绘图。...同时 .plot 也是 Pandas DataFrame series 对象属性,提供了 Matplotlib 可用一小部分绘图功能。...探索可视化数据了,开始吧 折线图 plot 默认就是折线图,它在 x 上绘制索引,在 y 上绘制 DataFrame 中其他数字列。...宽度高度默认值分别为 6.4 4.8。 通过提供列名列表并将其分配给 y ,我们可以从数据中绘制多条线。...如果我们想将多个饼图中所有列数据表示为,我们可以 True 分配给 subplots 参数,如下所示: df_3Months.plot(kind='pie', legend=False, autopct

    4.5K50

    程序员用python给了女友一个七夕惊喜!

    动画即是一帧一帧静态画面的连续播放,所以我们只需要将每一天都画一次,再拼成 GIF 即可。 如下为第一天最后一天条形: ? ?...进入代码环节:先按需求读取数据(读表最爱 pandas 库又出现啦)。为了便于处理日期, excel 中日期一列值转为字符串格式,再利用 datatime 起始日期设为时间戳格式。...import pandas as pd import datetime df = pd.read_excel("数据.xlsx") df['日期文本'] = df['日期'].apply(lambda...最终效果还有一定差距,多了坐标标签,少了系列标签、数据标注右上角滚动时间。...通过开头最终(不是最终)效果可以发现,gif 是首尾相接循环播放,那最后一天图像一下闪过去就看不清楚了,可以修改一下传入时间序列,把最后一幅再画多几遍,就有停留效果了。

    1.9K20
    领券