小编dav*_*vid的帖子

动画网络图以显示算法的进度

我想为网络图制作动画以显示算法的进度。我正在使用 NetworkX 进行图形创建。

这个 SO answer,我想出了一个使用clear_ouputfromIPython.display和命令plt.pause()来管理动画速度的解决方案。这适用于具有几个节点的小图形,但是当我在 10x10 网格上实现时,动画非常慢,减少参数plt.pause()似乎对动画速度没有任何影响。这是一个带有 Dijkstra 算法实现的 MME,我在算法的每次迭代中更新节点的颜色:

import math
import queue
import random
import networkx as nx
import matplotlib.pyplot as plt
from IPython.display import clear_output
%matplotlib inline

# plotting function
def get_fig(G,current,pred): 
    nColorList = []
    for i in G.nodes():        
        if i == current: nColorList.append('red')
        elif i==pred: nColorList.append('white')
        elif i==N: nColorList.append('grey')        
        elif node_visited[i]==1:nColorList.append('dodgerblue')
        else: nColorList.append('powderblue')
    plt.figure(figsize=(10,10))
    nx.draw_networkx(G,pos,node_color=nColorList,width=2,node_size=400,font_size=10)
    plt.axis('off')
    plt.show()

# graph creation
G=nx.DiGraph()
pos={}
cost={}
for i …
Run Code Online (Sandbox Code Playgroud)

python algorithm animation matplotlib networkx

6
推荐指数
1
解决办法
2505
查看次数

使用R中的基本图形绘制系列箱形图

我想在单个图中绘制R中的多个箱图,并将它们成对分组.我是R的初学者,虽然有几个主题处理相同的主题(R中的多个箱图),但我找不到一个全面的方法来解决这个问题.我想尽可能使用基本图形.

我有10组值,所有这些值都包含30个值(可以是任何正值).在这10个集合中,5个是类型1,另外5个是类型2.我的目标是有10个箱图(每组值一个)并将每组类型1与一组类型2组合在一个图形中.最后,我希望有5个数据集,每个数据包含两个箱图.我还希望每个簇(A,B,C,D,E)有1个x标签,并且类型1的数据为红色,类型2的数据为绿色.

到目前为止我的代码是:

A1data <- read.table("A1data.csv",header=TRUE,sep=";")
B1data <- read.table("B1data.csv",header=TRUE,sep=";")
C1data <- read.table("C1data.csv",header=TRUE,sep=";") 
D1data <- read.table("D1data.csv",header=TRUE,sep=";")
E1data <- read.table("E1data.csv",header=TRUE,sep=";")
A2data <- read.table("A2data.csv",header=TRUE,sep=";")
B2data <- read.table("B2data.csv",header=TRUE,sep=";")
C2data <- read.table("C2data.csv",header=TRUE,sep=";")
D2data <- read.table("D2data.csv",header=TRUE,sep=";")
E2data <- read.table("E2data.csv",header=TRUE,sep=";")

A1 <- 100*(A1data$x-A1data$y)/A1data$x
B1 <- 100*(B1data$x-B1data$y)/B1data$x
C1 <- 100*(C1data$x-C1data$y)/C1data$x
D1 <- 100*(D1data$x-D1data$y)/D1data$x
E1 <- 100*(E1data$x-E1data$y)/E1data$x
A2 <- 100*(A2data$x-A2data$y)/A1data$x
B2 <- 100*(B2data$x-B2data$y)/B1data$x
C2 <- 100*(C2data$x-C2data$y)/C1data$x
D2 <- 100*(D2data$x-D2data$y)/D1data$x
E2 <- 100*(E2data$x-E2data$y)/E1data$x

A <- cbind(A1,A2)
B <- cbind(B1,B2)
C <- cbind(C1,C2)
D <- …
Run Code Online (Sandbox Code Playgroud)

label r boxplot

0
推荐指数
1
解决办法
4028
查看次数

标签 统计

algorithm ×1

animation ×1

boxplot ×1

label ×1

matplotlib ×1

networkx ×1

python ×1

r ×1