标签: visualization

如何从 C++ 为 Graphviz 生成二叉树点文件

我用 C++ 实现了一个二叉搜索树,它支持动态创建和删除节点。为了可视化树,我首先尝试使用/和显示边缘\/然而,这给出了非常糟糕的可视化效果,因为和的位置\需要精确计算。目前的数字如下:

插入 结果

于是我找到了一个叫做Graphviz的工具。Graphviz支持的原始语言是点语言,我不太熟悉。

我阅读了文档,发现点语言易于编写和阅读,但我仍然想使用我的 C++ 代码来生成树,因为它包含很多内容,例如根据用户的输入插入等。

是否有机会使用某些函数来生成点文件?

我的二叉树的代码:

    //BTNode.h
    #include <iostream>
    using namespace std;
    template<class T>
    struct BTNode{
        BTNode(){
            lChild = rChild = NULL;
        }
        BTNode(const T& x){
            element = x;
            lChild = rChild = NULL;
        }
        BTNode(const T& x, BTNode<T>* l, BTNode<T>* r){
            element = x;
            lChild = l;
            rChild = r;
        }
        T element;
        int digit, row;
        BTNode<T>* lChild, *rChild;
    };

    //BSTree.h
    #include"ResultCode.h"
    #include "BTNode.h"
    #include "seqqueue.h"
    #include …
Run Code Online (Sandbox Code Playgroud)

visualization graphviz graph-visualization binary-search-tree

3
推荐指数
1
解决办法
7129
查看次数

Pandas 散点图使用数据框字段派生颜色和图例

我想创建一个散点图,其中显示在 pandas 中相互映射的两列,第三列用于大小,然后是基于标签的点的颜色(在下面的情况下,last_name)。

然后我想要一个图例,显示颜色的点,然后显示姓氏值

每个姓氏应该与不同的颜色相关联,并且图例显示,例如,绿点和米勒,红点和雅各布森等。

%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np


raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'],
    'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'],
    'female': [0, 1, 1, 0, 1],
    'age': [42, 52, 36, 24, 73],
    'preTestScore': [4, 24, 31, 2, 3],
    'postTestScore': [25, 94, 57, 62, 70]}
df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'female', 'preTestScore', 'postTestScore'])

plt.scatter(df.preTestScore, df.postTestScore, s=df.age, label=df.last_name)
plt.legend(loc='upper left', prop={'size':6}, bbox_to_anchor=(1,1),ncol=1)
Run Code Online (Sandbox Code Playgroud)

这给了我这样的东西:

在此输入图像描述

我根本不知道如何获取颜色(理想情况下,我喜欢使用调色板)或如何让图例显示姓氏和点

任何帮助将不胜感激..谢谢!

注意 …

python visualization matplotlib scatter-plot pandas

3
推荐指数
1
解决办法
2683
查看次数

在 Julia 中将 ODE 的解动画化

我有一个朱莉娅代码:

\n\n
using DifferentialEquations\nusing Plots\nusing ParameterizedFunctions\nplotly()\nlorenz = @ode_def Lorenz begin\n  dx = \xcf\x83*(y-x)\n  dy = \xcf\x81*x-y-x*z\n  dz = x*y-\xce\xb2*z\nend \xcf\x83 = 10. \xce\xb2 = 8./3. \xcf\x81 => 28.\nu0 = [1., 5., 10.]\ntspan = (0., 2.)\nprob = ODEProblem(lorenz, u0, tspan)\nsol = solve(prob,save_timeseries=true)\nplot(sol,vars=(:x,:y,:z))\n
Run Code Online (Sandbox Code Playgroud)\n\n

其结果是:\n下一个图\n
\n我如何为该图制作动画,以便它可以从 REPL 和 jupyter 运行?

\n

visualization ode julia plots.jl differentialequations.jl

3
推荐指数
1
解决办法
1042
查看次数

如何将发现页面中的日志包含在 Kibana 仪表板上

我在查看一些示例仪表板时发现了这张图片:

https://cdn-enterprise.discourse.org/elastic/uploads/default/original/3X/1/6/169b7101acc60136b3eb4003b11c094b619083c5.png

(页面上的最后一个可视化)

我想知道是否有人知道如何包含我可以在仪表板上的发现页面上看到的日志,就像这个例子一样?

提前谢谢了。

visualization dashboard elasticsearch kibana-5

3
推荐指数
1
解决办法
3971
查看次数

matplotlib pyplot.show:无效的 RGBA

我只需要绘制 3D 散点图。

from mpl_toolkits import mplot3d
from matplotlib import pyplot as plt
ax = plt.axes(projection="3d")
ax.scatter(dots_x, dots_y, dots_z, c='red')
plt.show()
Run Code Online (Sandbox Code Playgroud)

dots_x、dots_y、dots_z 是坐标(python 列表)。每次我运行程序时我都会得到ValueError: Invalid RGBA argument: (1.0, 0.0, 0.0, 0.300088123161615)

我对这个元组一无所知。但是如果我使用plot3D而不是scatter3D我会得到完美的曲线。

完整错误消息:

Traceback (most recent call last):
  File "C:\Users\bozzy\AppData\Local\Programs\Python\Python36-32\lib\site-packages\matplotlib\colors.py", line 166, in to_rgba
    rgba = _colors_full_map.cache[c, alpha]
KeyError: ((1.0, 0.0, 0.0, 0.300088123161615), None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\bozzy\AppData\Local\Programs\Python\Python36-32\lib\site-packages\matplotlib\backends\backend_qt5.py", line 519, in _draw_idle
    self.draw()
  File "C:\Users\bozzy\AppData\Local\Programs\Python\Python36-32\lib\site-packages\matplotlib\backends\backend_agg.py", line 437, …
Run Code Online (Sandbox Code Playgroud)

python visualization graph matplotlib sympy

3
推荐指数
1
解决办法
5368
查看次数

Altair 结合多个数据集

我最近刚刚发现Vega/Vega-LiteAltair,并将其视为最佳 Python 绘图工具的真正竞争者。

我目前正在努力解决的问题是将两个数据帧中的信息绘制到共享一个或两个轴的同一个图表中。

我尝试过类似的事情:

plot1 = alt.Chart(df1).mark_point().encode(x = 'time:T', y = [...])[...]
plot2 = alt.Chart(df2).mark_point().encode(x = 'time:T', y = [...])[...]
Run Code Online (Sandbox Code Playgroud)

这确实有效,但它相当笨重而且不是很好。

我遇到了 LayerChart 对象,但从文档来看,我不太清楚如何正确使用它来绘制多个数据集。

  • 有人有这样的图表的例子吗?
  • 我需要做什么才能获得双 y 轴?

python visualization vega-lite altair

3
推荐指数
1
解决办法
5943
查看次数

使用树布局可视化 Racket 中的任意树

如何可视化任意树?

例如: (define T1 '(and (or x1 x2)(or x3 x4 x5)))

或者使用以下命令生成:

(define functions '(not if and or))
(define terminals '(A0 A1 A2 D0 D1))
(define functions&terminals (append terminals functions ))

(define (pick-one list)
  (list-ref list (random (length list))))

(define arities '((if . 3)(and . 2)(or . 2)(not . 1)))

(define (terminal? symbol)
  (find (lambda (x)(eq? x symbol)) terminals))

(define (function? symbol)
  (find (lambda (x)(eq? x symbol)) functions))

(define (arity non-terminal)
  (let ((arity (find (lambda (x)(eq? non-terminal (car x))) arities))) …
Run Code Online (Sandbox Code Playgroud)

tree visualization racket pict

3
推荐指数
1
解决办法
962
查看次数

如何在 Matplotlib/Python 中使用虚线负数默认样式 + 线条颜色?

使用 Python/Matplotlib 绘制等高线图时,默认行为(对于 1 种颜色)是用虚线表示负值。这是我想要的功能。但是,如果我设置线条的颜色,所有线条都会被绘制为实心。我想将虚线底片和自定义颜色结合起来。

如何绘制彩色线条并保持负虚线样式?

下面,我复制(稍作修改)本教程中的示例:https://www.oreilly.com/library/view/python-data-science/9781491912126/ch04.html

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 5, 50)
y = np.linspace(0, 5, 40)
X, Y = np.meshgrid(x, y)
def f(x, y):
    return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)
Z = f(X, Y)

# Default: 1 color, negatives are dashed
plt.contour(X, Y, Z, colors='black')
plt.show()

# Set colormap: all lines are solid
plt.contour(X, Y, Z, cmap='RdBu')
plt.show()

# Set individual colors: …
Run Code Online (Sandbox Code Playgroud)

python visualization matplotlib contour

3
推荐指数
1
解决办法
3396
查看次数

创建 python 词云时如何对多词术语进行分组?

我正在尝试使用 python 从一系列成分中创建一个词云,其中一些成分的名称中包含多个单词。我希望词云将这些名称视为单个元素,但我不知道如何实现这一点。例如:

import wordcloud as w
import numpy as np
import matplotlib.pyplot as plt

ingredients = ['cabernet sauvignon', 'apple', 'black pepper',
             'rice', 'smoked salmon',
             'dried tomato', 'butter', 'mushroom', 'goat cheese']
frequencies = [55, 83, 33, 42, 19, 23, 5, 69, 1]

# Wordcloud asks for a string, and I have tried separating the terms with ',' and '~'

text = ''
for i, word in enumerate(ingredients):
    text = text + frequencies[i] * (word + ',') 

wordcloud = w.WordCloud(collocations = …
Run Code Online (Sandbox Code Playgroud)

python text visualization

3
推荐指数
1
解决办法
6172
查看次数

子图中的 networkx 正在部分绘制轴框架之外的节点

当我在子图中绘制 networkx 图时,一些节点在轴的框架中被部分切断。我已经尝试过使用所有不同类型的图表和布局,这始终是一个问题。它总是切断我的节点。就好像 networkx 在比实际更大的轴上绘制图表。

这是一个最小的例子

plt.subplot(2, 1, 1)
plt.scatter(range(10), range(10))

plt.subplot(2, 1, 2)
G = nx.erdos_renyi_graph(20, p=0.1)
nx.draw_networkx(G)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这就是我从中得到的。正如您所看到的,节点 0 和节点 7 不适合框架。

最小的例子

python visualization matplotlib networkx

3
推荐指数
1
解决办法
2615
查看次数