python绘制直线的垂线_Matplotlib:散点图中的垂直线

这篇文章探讨了如何在Python的Matplotlib库中使用散点图而不是条形图来绘制数据点到y=0的垂直线。作者遇到了速度问题,发现在散点图上绘制垂直线比使用条形图更高效。他们寻求关于如何在散点图中实现此效果的建议,同时也考虑使用其他库如pandas或PyQtGraph。示例代码展示了如何创建一个包含图形界面和散点图的Tkinter应用。
摘要由CSDN通过智能技术生成

我已经在这里发布了相当数量的代码,它在这篇文章的底部。这段代码打开了一个tkinter图形用户界面,其中包含各种按钮和字段等。它还使用matplotlib在最底部显示一个图形。我知道这不是最好的图书馆使用,但我不知道其他人如何与tkinter工作。所以我最好暂时坚持使用matplotlib。

对于图表,我希望每个数据点都是从[x,y]坐标到[x,0]的垂直线。很明显的答案是使用条形图,条形图的宽度为1,我试过了,但是绘制速度比散点图慢得多。

我一直想弄清楚的是,是否可以使用这里使用的散点图方法,垂直线绘制为y=0。这可能吗?

或者我应该放弃使用matplotlib和pandas或PyQtGraph的尝试。如果是这样的话,有没有教程来说明这是如何做到的?我试过找一些,但没有运气。

任何帮助都将不胜感激。我正在使用python 3.3的pyzo包。

import numpy

from decimal import *

import tkinter as tk

import numpy as np

from tkinter import *

from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

from matplotlib.figure import Figure

from tkinter import ttk

import tkinter.scrolledtext as tkst

import spectrum_plot_2 as specplot

import sequencer as seq

class Plot:

def __init__(self, master, data):

self.x = np.array(data.spectrum[0])

self.y = np.array(data.spectrum[1])

# Create a container

self.frame = tk.Frame(master)

self.fig = Figure()

self.ax = self.fig.add_subplot(111)

self.line = self.ax.plot(self.x, self.y, '|')

self.canvas = FigureCanvasTkAgg(self.fig,master=master)

# self.canvas.show()

self.canvas.get_tk_widget().pack(side='top', fill='both', expand=1)

self.frame.pack()

def update(self, data):

"""Updates the plot with new data"""

self.x = np.array(data.spectrum[0])

self.y = np.array(data.spectrum[1])

self.line[0].set_xdata(self

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值