Python散点图多个颜色条问题

艾巴尔斯

我正在尝试用动态数据绘制散点图。我能够通过循环绘制数据点;但每次它都会创建新的颜色条。

这是我的代码:

import time
from threading import Thread
import pandas as pd
import matplotlib.pyplot as plt
import random

class RealTime:
    def __init__(self):
        self.flight_complete = True
        self.data = pd.DataFrame(data=None, columns=list('ABC'))
        self.fig=None
        self.axis = None

def on_launch(self):
    plt.ion()
    self.fig = plt.figure()
    self.axis = self.fig.add_subplot(111)

def create_data(self):
    x = round(random.uniform(-1, 1), 2)
    y = round(random.uniform(-1.65, 1.65), 2)
    z = 0.5
    temp_data = pd.DataFrame([[x, y, z]], columns=list('ABC'))
    self.data = self.data.append(temp_data, ignore_index=True)
    # Plot the data
    self.plot()

def start_fly(self):
    self.on_launch()
    fly = Thread(target=self.fly_running)
    fly.start()

def fly_running(self):
    for _ in range(10):
        print("Flying")
        # Create the data
        self.create_data()
        time.sleep(0.1)
    return

def plot(self):
    plt.gca().cla()
    self.data.plot(kind="scatter", x="A", y="B", alpha=0.4,
                        s=50, label="Real Time Position",
                        c="C", cmap=plt.get_cmap("jet"), colorbar=True, ax=self.axis)

    plt.colormaps()
    plt.title("Flight Path Map")
    self.fig.canvas.draw()
    self.fig.canvas.flush_events()


if __name__ == '__main__':
    obj = RealTime()
    obj.on_launch()
    obj.fly_running()

我已经阅读了这篇文章:如何从 matplotlib 中的图形中检索颜色条实例但我真的无法解决这个问题。

你知道为什么它会创建一个新的颜色条吗?以及如何避免它?

此致

迪齐特·朝日

Panda 的情节正在创建新的 colobar,因为您要求它创建一个 ( colorbar=True),而且现在似乎有办法告诉函数已经有一个颜色条,它应该使用它来代替。

有很多方法可以解决这个问题。

第一个不是不使用DataFrame.plot()而是直接使用 matplotlib 来生成绘图。这将使您更好地控制所使用的轴,并让您在帧之间循环使用颜色条。以下是一些可能相关的链接:

第二个选项如果你想让你的代码接近现在它在每一帧擦除整个图形,并让每次pandas重新创建它需要的轴。IE:

def plot(self):
    self.fig.clf()
    self.axis = self.fig.add_subplot(111)
    self.axis = self.data.plot(kind="scatter", x="A", y="B", alpha=0.4,
                               s=50, label="Real Time Position",
                               c="C", cmap=plt.get_cmap("jet"), colorbar=True, ax=self.axis)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为组合散点图创建不同的颜色条

来自分类Dev

Python-为每个图在多个图中添加颜色条

来自分类Dev

用if函数改变点颜色的散点图问题

来自分类Dev

matplotlib中多个散点图中的异常颜色

来自分类Dev

在散点图中设置多个背景颜色

来自分类Dev

熊猫图-多个颜色条

来自分类Dev

使用matplotlib更改3D散点图的默认颜色条

来自分类Dev

如何自定义散点图中的颜色条?

来自分类Dev

在matplotlib python中删除散点图的轮廓颜色

来自分类Dev

在 R plotly 散点图中发出更改标记颜色的问题

来自分类Dev

python中的多个条

来自分类Dev

在python中插入的颜色条

来自分类Dev

具有多个颜色条的子图

来自分类Dev

Matlab - 用不同颜色绘制多个类的散点图

来自分类Dev

使用 IronPython 绘制多个 Y 列散点图颜色

来自分类Dev

在MATLAB中显示多个颜色图的颜色条

来自分类Dev

如何在散点图散布中只有一条趋势线用于多种颜色?

来自分类Dev

仅熊猫散点图-二进制时缩放颜色条

来自分类Dev

带有颜色条和日期时间轴刻度的散点图

来自分类Dev

matplotlib正确的颜色/颜色条,用于具有多个不同颜色的多个表面的绘图

来自分类Dev

Python散点图,其颜色对应于字符串

来自分类Dev

散点图通过颜色matplotlib python隔离聚类

来自分类Dev

Python中的多维数据集-散点图颜色的设置

来自分类Dev

Python散点图,从数据框中获取标记颜色

来自分类Dev

Matplotlib为什么颜色条y标签随着多个颜色条消失

来自分类Dev

Python-如何使颜色条方向水平?

来自分类Dev

Python:制作从红色到蓝色的颜色条

来自分类Dev

在Python 3中绘制颜色条

来自分类Dev

绘制Python热图颜色条方向

Related 相关文章

热门标签

归档