怎么搞出这样的标记啊

img


怎么样才能在y=500的地方显示最大值,用matplotlib,pandas,不要用别的(/_\)大怨种

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7468808
  • 这篇博客你也可以参考下:matplotlib和pandas实现多y轴的多图形绘制
  • 除此之外, 这篇博客: Python中使用Matplotlib库绘制图形中的  5.设置X,Y轴 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    ax = gca()
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    ax.xaxis.set_ticks_position('bottom')
    ax.spines['bottom'].set_position(('data', 0))
    ax.yaxis.set_ticks_position('left')
    ax.spines['left'].set_position(('data', 0))

  • 以下回答来自chatgpt:

    首先,我们需要根据数据创建一个pandas的dataframe,然后使用Matplotlib中的plot函数绘制图表。

    假设我们有一个名为data的DataFrame,其中包含两列,第一列是x轴数据,第二列是y轴数据,请按照以下步骤绘制图表并在y=500处显示最大值:

    1. 导入必要的库
    import pandas as pd
    import matplotlib.pyplot as plt
    
    1. 创建一个DataFrame
    data = pd.DataFrame({'x': [1, 2, 3, 4, 5], 'y': [300, 450, 500, 400, 350]})
    
    1. 绘制图表并设置x、y轴标签、标题、刻度间距
    # 绘制线图
    plt.plot(data['x'], data['y'])
    
    # 设置x、y轴标签
    plt.xlabel('x')
    plt.ylabel('y')
    
    # 设置标题
    plt.title('Plot of y vs x')
    
    # 设置x轴刻度
    plt.xticks(range(1, 6))
    
    # 设置y轴刻度
    plt.yticks(range(0, 600, 100))
    
    1. 在图表上标记y=500处的最大值
    # 找到y=500处的最大值
    max_y = data[data['y'] == 500]['y'].max()
    
    # 绘制水平线
    plt.axhline(max_y, color='r', linestyle='--')
    
    # 添加标签
    plt.text(2.5, max_y + 10, f'Max value: {max_y}', ha='center')
    
    1. 显示图表
    plt.show()
    

    完整代码如下:

    import pandas as pd
    import matplotlib.pyplot as plt
    
    # 创建DataFrame
    data = pd.DataFrame({'x': [1, 2, 3, 4, 5], 'y': [300, 450, 500, 400, 350]})
    
    # 绘制线图
    plt.plot(data['x'], data['y'])
    
    # 设置x、y轴标签
    plt.xlabel('x')
    plt.ylabel('y')
    
    # 设置标题
    plt.title('Plot of y vs x')
    
    # 设置x轴刻度
    plt.xticks(range(1, 6))
    
    # 设置y轴刻度
    plt.yticks(range(0, 600, 100))
    
    # 找到y=500处的最大值
    max_y = data[data['y'] == 500]['y'].max()
    
    # 绘制水平线
    plt.axhline(max_y, color='r', linestyle='--')
    
    # 添加标签
    plt.text(2.5, max_y + 10, f'Max value: {max_y}', ha='center')
    
    # 显示图表
    plt.show()
    

    运行结果如下:

    matlabplot.png


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^