s_guoguo 2022-08-09 11:28 采纳率: 0%
浏览 12
已结题

画图时利用MultiCursor显示的竖线

问题遇到的现象和发生背景

我想在绘制多个子图时,显示随鼠标移动的竖线,这会帮助我在看数据时定位其他数据的位置,我利用MultiCursor显示这条竖线,但是我将MultiCursor写在了函数的内部,并调用函数绘图时,并不显示竖线,请问各位有没解决办法?

问题相关代码,请勿粘贴截图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] #显示汉字
mpl.rcParams['axes.unicode_minus'] = False
from matplotlib.widgets import MultiCursor

def plot_pictures(data,pic):
    len_pic = len(pic)
    b = len_pic*4
    ax = []
    fig = plt.figure(figsize=(12,b))
    for n in np.arange(0,len_pic):
        axx = 'ax'+pic[n]
        axx = fig.add_subplot(len_pic,1,n+1)
        ax.append(axx)
        axx.set_ylabel(pic[n])
        axx.plot(data[pic[n]],color='grey')
    ax = tuple(ax)
    multi = MultiCursor(fig.canvas,ax,color='red')
    plt.show()

data = pd.read_excel(r'C:\Users\LittleSun\Desktop\test.xlsx')
pic = ['A','B','C','D']
plot_pictures(data,pic)

运行结果及报错内容

当不使用函数直接使用时,能够显示随鼠标移动的竖线,但是封装为函数后调用,则不显示,图为显示竖线时的效果

img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月17日
    • 创建了问题 8月9日

    悬赏问题

    • ¥15 Coze智能助手搭建过程中的问题请教
    • ¥15 12864只亮屏 不显示汉字
    • ¥20 三极管1000倍放大电路
    • ¥15 vscode报错如何解决
    • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
    • ¥15 python随机森林对两个excel表格读取,shap报错
    • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
    • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
    • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
    • ¥15 VFP如何使用阿里TTS实现文字转语音?