小编use*_*091的帖子

绘图停用 x 轴排序

我想绘制条形图。x 轴是顾问的 ID。它们的范围在 1000 到 2000 之间。每个顾问都有特定数量的客户(y 轴)。

现在我想在 plotly 中绘制一个条形图。但是阴谋地将顾问 ID 升序排列并将它们解释为整数,但它们不是。他们应该像我精心给出的清单一样排序。

顺便说一下,在 matplotlib 中,顺序是正确的。

trace1 = go.Bar(
    x=consultants, 
    y=info[0,:]
)
trace2 = go.Bar(
    x=consultants,
    y=info[1,:],
)
trace3 = go.Bar(
    x=consultants,
    y=info[2,:]
)
trace4 = go.Bar(
   x=consultants,
   y=info[3,:]
)

data = [trace1, trace2, trace3, trace4]
layout = go.Layout(
       barmode='stack',
       xaxis=dict(
       categoryorder='array',
       categoryarray=consultants,
       titlefont=dict(
         size=18,
         color='black'),
       showticklabels=True,
       tickfont=dict(
        size=16,
        color='black',
        ),
    tickangle=20
    ),
yaxis=dict(
    title='Number of customers',
       titlefont=dict(
        size=18,
        color='black'),
    showgrid=True,
    showline=False,
    showticklabels=True,
    tickfont=dict(
        size=16,
        color='black')
    ),

  )

fig = …
Run Code Online (Sandbox Code Playgroud)

python plotly

7
推荐指数
2
解决办法
1万
查看次数

在tkinter GUI中更新matplotlib图

我想在tkinter GUI中更新matplotlib图。我在下面的代码示例中尝试这样做。

import matplotlib
matplotlib.use('TkAgg')
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.figure import Figure
import tkinter as tk
import tkinter.ttk as ttk
import sys

class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self,master)
        self.createWidgets()

    def createWidgets(self):
       fig=plt.figure(figsize=(8,8))
       ax=fig.add_axes([0.1,0.1,0.8,0.8],polar=True)
       canvas=FigureCanvasTkAgg(fig,master=root)
       canvas.get_tk_widget().grid(row=0,column=1)
       canvas.show()

       self.plotbutton=tk.Button(master=root, text="plot", command=self.plot)
       self.plotbutton.grid(row=0,column=0)

    def plot(self):
       for line in sys.stdout: #infinite loop, reads data of a subprocess
           theta=line[1]
           r=line[2]
           ax.plot(theta,r,linestyle="None",maker='o')
           plt.show(block=False)
           plt.pause(0.001)
           plt.cla()
           #here set axes

root=tk.Tk()
app=Application(master=root)
app.mainloop()
Run Code Online (Sandbox Code Playgroud)

目前的问题是,绘图函数中的斧头对象未知。如果我尝试plot(self,canvas,ax),则GUI无法打开。仅绘制数据的图形。

我想在GUI中看到的图中绘制数据。至少刷新频率约为3-5Hz。因为我是一个绝对的初学者,所以这种代码解决方案可能不是最好的方法。因此,如果有人可以向我展示更智能的解决方案,我将很高兴。

谢谢!

python user-interface canvas tkinter matplotlib

6
推荐指数
3
解决办法
9684
查看次数

如果它们相同,我如何比较多列的行

我有一个pandas DataFrame,我想检查行是否相同.这适用于数据帧中的3列.

A B C ...
1 1 1 ...
1 2 3 ...
1 4 4 ...
Run Code Online (Sandbox Code Playgroud)

这应该带来一个面具

True
False
False
Run Code Online (Sandbox Code Playgroud)

python pandas

2
推荐指数
1
解决办法
34
查看次数

标签 统计

python ×3

canvas ×1

matplotlib ×1

pandas ×1

plotly ×1

tkinter ×1

user-interface ×1