精华内容
下载资源
问答
  • Radviz可视化原理

    千次阅读 2018-01-05 21:10:56
    可视化原理  Radviz可视化原理是将一系列多维空间的点通过非线性方法映射到二维空间的可视化技术,是基于圆形平行坐标系的设计思想而提出的多维可视化方法。圆形的m条半径表示m维空间,使用坐标系中的一点代表多为...

    可视化原理

          Radviz可视化原理是将一系列多维空间的点通过非线性方法映射到二维空间的可视化技术,是基于圆形平行坐标系的设计思想而提出的多维可视化方法。圆形的m条半径表示m维空间,使用坐标系中的一点代表多为信息对象,其实现原理参照物理学中物体受力平衡定理。
          m维空间的点{Ai1,Ai2,...,Aim}映射到二维可视空间的位置由弹簧引力分析模型确定。
          首先将一个圆等分成m份,等分点的个数由数据维度决定,记各等分点为{R1,R2,...,Rn},每个等分点上固定一个弹簧,各个弹簧的弹性系数不同,弹簧j的弹性系数是Aij,也就是第j维的值,所有m个弹簧的另一端军固定在一个小圆上,如果这个小圆最终达到一个平衡位置Bi={Xi,Yi}T,则弹力平衡点{Xi,Yi}就是m维空间点{Ai1,Ai2,...,Aim}在二维空间的投影点。
          如下图所示:
    这里写图片描述

          每个弹簧作用在小圆上的力取决于该弹簧的弹簧拉伸和弹性系数,当小圆静止不动,则表明其受到所有弹簧的合力为0,由此可得到如下方程:

    j=1,2,...,m(RjBi)Aij=0(1)

    由此得到Bi的表达式:
    Bi=j=1,2,...,mAijRjj=1,2,...,mAij(2)

    Python实战

    def radviz(frame, class_column, ax=None, color=None, colormap=None, **kwds):
        """RadViz - a multivariate data visualization algorithm
    
        Parameters:
        -----------
        frame: DataFrame
        class_column: str
            Column name containing class names
        ax: Matplotlib axis object, optional
        color: list or tuple, optional
            Colors to use for the different classes
        colormap : str or matplotlib colormap object, default None
            Colormap to select colors from. If string, load colormap with that name
            from matplotlib.
        kwds: keywords
            Options to pass to matplotlib scatter plotting method
    
        Returns:
        --------
        ax: Matplotlib axis object
        """
        import matplotlib.patches as patches
    
        '''
            数据归一化
        '''
        def normalize(series):
            a = min(series)
            b = max(series)
            return (series - a) / (b - a)
    
        n = len(frame)
    
        '''
            type(classes)=pandas.core.series.Series
            classes表示共有几个类别
            class_col表示每一个样本对应的类别
        '''
        classes = frame[class_column].drop_duplicates()
        class_col = frame[class_column]
    
        '''
            (1)pandas.DataFrame.drop
            表明删除数据,axis=0表示删除行,axis=1表示删除列,这里表明去掉最后一列表示类别的列
            (2)pandas.DataFrame.apply
            调用函数,但输入必须是DataFrame
            (3)df为150x7的二维矩阵,即原数据
        '''
        df = frame.drop(class_column, axis=1).apply(normalize)
    
        '''
            设定横轴、纵轴的取值范围
        '''
        if ax is None:
            ax = plt.gca(xlim=[-1, 1], ylim=[-1, 1])
    
        '''
            定义一个字典
        '''
        to_plot = {}
        colors = _get_standard_colors(num_colors=len(classes), colormap=colormap,
                                      color_type='random', color=color)
        for kls in classes:
            to_plot[kls] = [[], []]
        '''
           to_plot= {'Breakout': [[], []], 'FalseAlarm': [[], []]}
        '''
        m = len(frame.columns) - 1
        '''
            当 i=0,1,2,3,4,5,6 时,
               t=2π*0/7、2π*1/7、2π*2/7、2π*3/7、2π*4/7、2π*5/7、2π*6/7
            上述t值对应的余弦、正弦即s为
            [[ 1.          0.        ]
             [ 0.6234898   0.78183148]
             [-0.22252093  0.97492791]
             [-0.90096887  0.43388374]
             [-0.90096887 -0.43388374]
             [-0.22252093 -0.97492791]
             [ 0.6234898  -0.78183148]]
        '''
        s = np.array([(np.cos(t), np.sin(t))
                      for t in [2.0 * np.pi * (i / float(m))
                                for i in range(m)]])
        for i in range(n):
            row = df.iloc[i].values
            '''
                (1)np.expand_dims(row, axis=1)
                    扩展维数,当axis=0时,扩展列,即在行上增加数据;[1,2]变为[[1,2]]
                             当axis=1时,扩展行,即在列上增加数据;[1,2]变为[[1],[2]]
                (2)np.repeat(row, 2, axis=1)
                    幅值数组元素,2表示每个元素的复制次数
                    当axis=0时,列不变,在行上复制元素;[[1],[2]]变为[[1],[1],[2],[2]]
                    当axis=1时,行不变,在列上复制元素;[[1],[2]]变为[[1 1],[2 2]]
            '''
            row_ = np.repeat(np.expand_dims(row, axis=1), 2, axis=1)
            '''
                s * row_相当于两个数组相对应的位置相乘
                (s * row_).sum(axis=0)相当于对相应行上的数值求和,即求每一列的和
                此处对应公式(2)的分子,得到的是一个1X2的列表或数组
                row.sum()相当于求数组所有元素的和
                此处对应公式(2)的分母
            '''    
            y = (s * row_).sum(axis=0) / row.sum()
            if i==0:
                print(row.sum())
    
            '''
                iat用于访问元素,访问150次,即样本个数
                查看当前样本i所对应的kls是A还是B,A和B表示类别
                然后再把相应的y值加入到以A或B为键的值里面
            '''
            kls = class_col.iat[i]
            '''
                to_plot= {'Breakout': [[y[0]], [y[1]]], 'FalseAlarm': [[y[0]], [y[1]]]}
                将y的第一个值加入到字典中键为kls的第一个数组中,如上所示
            '''
            '''
                将y的第二个值加入到字典中键为kls的第二个数组中,如上所示
            '''
            to_plot[kls][0].append(y[0])
            to_plot[kls][1].append(y[1])
        '''
            enumerate(sequence, [start=0])返回枚举对象
            sequence :序列、start=0 :下表从0开始
        '''
        for i, kls in enumerate(classes):
            '''
                一共循环两次
                第一次循环画出A的值,即'A': [[y[0]], [y[1]]]
                第二次循环画出B的值,即'B': [[y[0]], [y[1]]]
                此时[y[0]]对应于to_plot[kls][0],[y[1]]对应于to_plot[kls][1]
            '''
            ax.scatter(to_plot[kls][0], to_plot[kls][1], color=colors[i],
                       label=pprint_thing(kls), **kwds)
        ax.legend()
        '''
            在坐标轴中画圆,圆心(0.0,0.0),半径1.0,圆域无色
        '''
        ax.add_patch(patches.Circle((0.0, 0.0), radius=1.0, facecolor='none'))
        '''
            将属性注释到二维坐标图中
        '''
        for xy, name in zip(s, df.columns):
    
            '''
                画属性位置,位置坐标是数组s的每一行的两个值
            '''
            ax.add_patch(patches.Circle(xy, radius=0.025, facecolor='gray'))
    
            '''
                注释属性名称
            '''
            if xy[0] < 0.0 and xy[1] < 0.0:
                ax.text(xy[0] - 0.025, xy[1] - 0.025, name,
                        ha='right', va='top', size='small')
            elif xy[0] < 0.0 and xy[1] >= 0.0:
                ax.text(xy[0] - 0.025, xy[1] + 0.025, name,
                        ha='right', va='bottom', size='small')
            elif xy[0] >= 0.0 and xy[1] < 0.0:
                ax.text(xy[0] + 0.025, xy[1] - 0.025, name,
                        ha='left', va='top', size='small')
            elif xy[0] >= 0.0 and xy[1] >= 0.0:
                ax.text(xy[0] + 0.025, xy[1] + 0.025, name,
                        ha='left', va='bottom', size='small')
    
        ax.axis('equal')
        return ax

    举例说明

    (1)将原数数据的每一行归一化;
    (2)求出s;

    i t cos(t) sin(t)
    0 2 * π * i / 7 1 0
    1 2 * π * i / 7 0.6234898 0.78183148
    2 2 * π * i / 7 -0.22252093 0.97492791
    3 2 * π * i / 7 -0.90096887 0.43388374
    4 2 * π * i / 7 -0.90096887 -0.43388374
    5 2 * π * i / 7 -0.22252093 -0.97492791
    6 2 * π * i / 7 0.6234898 -0.78183148

    (3)每一行数据,进行以下操作

    例如:  
        row=[ 0.26666667  0.22556391  0.66666667  0.18721461  0.22289157    0.9009901  0.48387097]
    
        则有:
        s=
        [[ 1.          0.        ]
        [ 0.6234898   0.78183148]
        [-0.22252093  0.97492791]
        [-0.90096887  0.43388374]
        [-0.90096887 -0.43388374]
        [-0.22252093 -0.97492791]
        [ 0.6234898  -0.78183148]]
    
        row_=
        [[ 0.26666667  0.26666667]
        [ 0.22556391  0.22556391]
        [ 0.66666667  0.66666667]
        [ 0.18721461  0.18721461]
        [ 0.22289157  0.22289157]
        [ 0.9009901   0.9009901 ]
        [ 0.48387097  0.48387097]]
    
        y=(s*row_).sum(axis=0)/row.sum()
        也就是说,二维数组s和row_对应的元素相乘,得到一个新的二维数组
        s*row_=[[ 0.26666667  0.        ]
                [ 0.1406368   0.17635297]
                [-0.14834729  0.64995194]
                [-0.16867454  0.08122938]
                [-0.20081836 -0.09670903]
                [-0.20048916 -0.8784004 ]
                [ 0.30168861 -0.37830556]]
        sum(axis=0)就是新二维数组每一列的和,即
        (s*row_).sum(axis=0)=[-0.00933727 -0.4458807 ],公式(2)的分子
        row.sum()是row的每一个元素相加的和,即2.953864488,公式(2)的分母
        所以就得到了y的坐标值
        y=[-0.00316103 -0.15094826]

    优缺点

    (a)优点是

    1. 计算复杂度低表达数据关系非常简单、直观、易于理解;
    2. 可显示的的维度大;
    3. 相似多维对象的投影点十分接近,容易发现聚类信息

    (b)缺点是

    1. 海量信息对象投影点的交叠问题严重,如(0,0,…,0)与(a,a,…,a)的投影点一样
    展开全文
  • 数据可视化原理Data Visualisation is not just about making good-looking and understandable charts by transforming data. Data visualisation requires the task of acquiring foundational knowledge also. ...

    数据可视化原理

    Data Visualisation is not just about making good-looking and understandable charts by transforming data. Data visualisation requires the task of acquiring foundational knowledge also. Understanding why some techniques of data visualisation are better than others has some psychological roots as the human brain responds to different visual information. Gestalt Principles consists of several principles which describe this.

    数据可视化不仅涉及通过转换数据制作美观且易于理解的图表。 数据可视化还需要获取基础知识的任务。 当人脑对不同的视觉信息做出React时,了解为什么某些数据可视化技术优于其他数据可视化具有一些心理根源。 格式塔原理由几个描述此原理的原理组成。

    Gestalt means “unified whole” in English and generally linked with the idea that the whole is greater than its parts. It refers to the patterns that we human perceive when presented with a few graphical elements.

    格式塔在英语中意为“统一的整体”,通常与整体大于其部分的观点相关。 它指的是当人们呈现一些图形元素时我们所感知的模式。

    People especially, designers and data viz. creators understand the gestalt principles and develop the visuals based on these Gestalt Principles making them powerful and effective in communicating information.

    人们尤其是设计师和数据。 创作者了解格式塔原理并根据这些格式塔原理开发视觉效果,从而使它们在传达信息时功能强大且有效。

    There are 7 Gestalt Principles- Proximity, Similarity, Continuity, Closure, Connection, Figure-Ground and Enclosure.

    有7种格式塔原理-接近性,相似性,连续性,闭合性,连接性,图形接地性和封闭性。

    1.邻近 (1. Proximity)

    Proximity is based on the way the objects are positioned with respect to each other as a user subconsciously move their eyes around based on the positions. When the objects are placed near to each other, the human brain assumes that they are in the same group because they are close to each other and apart from the other groups. This is the simplest way to link data which have to be seen together in a group by separating them with white spaces.

    接近度基于当用户根据位置下意识地移动眼睛时,对象相对于彼此的放置方式。 当这些物体彼此靠近放置时,人脑会认为它们属于同一组,因为它们彼此靠近且彼此远离。 这是将必须在一组中看到的数据链接在一起的最简单方法,即用空格将它们分开。

    In the dashboard, the visuals which are placed together encourages users to think that the visuals are in the same context.

    在仪表板中,放置在一起的视觉效果鼓励用户认为视觉效果在同一上下文中。

    Image for post

    2.相似性 (2. Similarity)

    The tendency of the human brain to group things according to the same colour, size, shape and orientation is also a part of Gestalt Principles. This principle refers to as Similarity.

    人脑根据相同的颜色,大小,形状和方向对事物进行分组的趋势也是格式塔原理的一部分。 该原理称为相似性。

    While creating a data viz if we keep the features of the objects same then it makes someone understand that those items represent a group. The principle of similarity can be applied to the object even when the objects reside at separate locations on a dashboard.

    在创建数据视图时,如果我们保持对象的特征不变,那么它会使人们理解那些项目代表一个组。 即使对象位于仪表板上的单独位置,也可以将相似性原理应用于该对象。

    Image for post

    3.关闭 (3. Closure)

    Human eyes tend to add the missing parts of a familiar shape. When we catch sight of the ambiguous object that seems to be incomplete, irregular or an unusual form, we naturally perceive it as a whole or closed. This principle is referred to as closure.

    人眼往往会增加熟悉形状的缺失部分。 当我们看到似乎是不完整,不规则或不寻常形式的模糊物体时,我们自然会感觉到它是一个整体或封闭的。 此原理称为关闭。

    We can apply this principle in perceiving whole structures in dashboards, especially in the design of graphs. We can easily understand this by referring below example.

    我们可以将这一原理应用于感知仪表板中的整个结构,尤其是在图形设计中。 通过参考下面的示例,我们可以很容易地理解这一点。

    Image for post

    4.数字地面 (4. Figure-Ground)

    The principle of figure-ground works on the concept of how people can look at a picture differently. They can see the figure(foreground) or the ground(background) of the image stand out. This is based on visual perception. This principle examines how the eye can separate shapes in a picture from the background of that picture.

    图形背景的原理基于人们如何以不同方式看待图片的概念。 他们可以看到图像的图形(前景)或背景(背景)突出。 这是基于视觉感知的。 该原理检查眼睛如何将图片中的形状与图片的背景分开。

    The classical example of this is the image of Rubin Vase shown below also known as Rubin face or the Figure-Ground Vase.

    这方面的经典示例是下面显示的鲁宾花瓶的图像,也称为鲁宾脸或人形地面花瓶。

    Image for post

    5.外壳 (5. Enclosure)

    The Enclosure is surrounding a group of objects by anything that forms a visual border around them such as a line, a box, or a common field of colour. It causes the objects to appear to be set apart in a region that is distinct from the rest objects.

    外壳被一组对象围绕着,这些对象在其周围形成了可见的边界,例如线条,盒子或公共色域。 它导致对象看起来在与其余对象不同的区域中分开放置。

    This principle can be easily exhibited in the dashboards by the use of borders and fill colours or shading in tables, etc. We should aware that it does not require a strong enclosure, a light enclosure can create a strong perception of grouping.

    通过使用边框和填充颜色或表格中的阴影等,可以很容易地在仪表板中体现这一原理。我​​们应该意识到,它不需要坚固的外壳,而浅色的外壳可以产生强烈的分组感。

    Image for post

    6.连续性 (6. Continuity)

    The principle of continuity is based on that if the eye begins to follow something, it will continue to travel in that direction until it encounters another thing. It is quite similar to the principle of closure but besides the visual connection of creating shape, we also attack visual direction as a part of continuation.

    连续性的原理是,如果眼睛开始跟随某物,它将继续朝该方向行进,直到遇到另一件事为止。 它与闭合原理非常相似,但是除了创建形状的视觉连接之外,我们还攻击视觉方向作为延续的一部分。

    In a dashboard, the objects that are aligned with one another appear to belong to the same group. We can infer the groupings without the need for vertical grid lines to delineate them, the distinct alignment itself makes it easy to distinguish easily.

    在仪表板中,彼此对齐的对象似乎属于同一组。 我们可以推断出分组,而无需使用垂直网格线来描绘它们,独特的对齐方式本身使其易于区分。

    Image for post

    7.连接 (7. Connection)

    The principle of Connection is one of the strongest Gestalt principles concerned with the grouping of objects. It is strongest because there is direct connectivity visually.

    连接的原则是与对象分组有关的最坚固的格式塔原则之一。 它最强,因为在视觉上直接连接。

    It refers to the fact that the objects that are connected by visual properties(maybe a line or something) are perceived as being more related than objects that are not connected. This principle is especially useful for connecting together the non-quantitative data, to represent the relationships.

    它指的是这样一个事实,即通过视觉属性(可能是直线或某些东西)连接的对象比未连接的对象与对象的关联性更高。 该原则对于将非定量数据连接在一起以表示关系特别有用。

    Image for post

    结论 (Conclusion)

    Gestalt Principles are very important to understand for good data visualisation. They set up the foundation of everything we create visually. These principles explain how humans perceive these visuals and their individual aspects not only this but these principles help us in having a better understanding of the relationships of these objects and shapes.

    格式塔原理对于理解良好的数据可视化非常重要。 它们奠定了我们以视觉方式创建的所有内容的基础。 这些原理解释了人类如何看待这些视觉及其各个方面,不仅这些,而且这些原理还帮助我们更好地理解了这些物体和形状之间的关系。

    As we have seen how powerful they are and when they are applied correctly and logically we can deliver right and intended information to the audience.

    正如我们所看到的,它们有多么强大,以及何时正确,合理地应用它们,我们可以向受众传递正确和预期的信息。

    翻译自: https://medium.com/vlearn-together/gestalt-principles-a-pragmatic-aspect-of-data-visualisation-7d437ee922

    数据可视化原理

    展开全文
  • 大数据可视化原理

    2021-01-15 19:23:08
    数据可视化理论 一.理论 数据可视化包含以下三部分: UI:用户界面: html页面,软件,图表 服务端程序: 负责接受处理UI界面发起的数据展示请求,处理请求,从数据库中摄取数据! ​ 将数据传输给UI界面,...

    大数据可视化原理

    一.理论

    数据可视化包含以下三部分:

    1. UI:用户界面: html页面,软件,图表

    2. 服务端程序: 负责接受处理UI界面发起的数据展示请求,处理请求,从数据库中摄取数据!
      ​ 将数据传输给UI界面,进行显示!

    3. 数据库: 存储最新产生的数据(hdfs_to_mysql.sh 负责将ads的数据导出到mysql)

    二、UI: 用户交互界面

    • 专业的BI工具(superset,tebleau,powerBI)
    • 前端制作页面(灵活)
    • echarts(前端图表可视化库),
    • excel

    三、服务端程序: 专业的BI工具(内置服务端程序)

    • springboot(自己开发)
    • python
    • php

    四、数据库:(需要满足数据和性能的可靠性)

    • mysql,oracle关系型数据库!

    • Nosql数据库: redis,mongdb…

    • hive(不建议,特别慢)

    展开全文
  • 陈为,张嵩,鲁爱东,绿皮书
  • 博士论文,地质体三维可视化原理和方法,中南大学,可以参考
  • 这篇链接讲了TensorFlow的计算图(graph)的可视化,很简单一行代码搞定。当然要指定图的来源,否则只会写入graph数据在events里面,在tensorboard里面看不到的。tf.summary.FileWriter.它会返回一个FileWriter类。...


    这篇链接讲了TensorFlow的计算图(graph)的可视化,很简单一行代码搞定。当然要指定图的来源,

    否则只会写入graph数据在events里面,在tensorboard里面看不到的。

    tf.summary.FileWriter.它会返回一个FileWriter类。那返回那个FileWriter类还有何用????

    ============我们还想看看其他图形可视化,就要用返回那个FileWriter类========================

    FileWriter类有很多方法。它可以帮我们生成更加复杂多元的图,比如loss,accurate图等,调用下面那个函数。

    writer.add_summary

    add_summary(
        summary,
        global_step=None
    )
    

    Adds a Summary protocol buffer to the event file.

    This method wraps the provided summary in an Event protocol bufferand adds it to the event file.

    You can pass the result of evaluating any summary op, usingtf.Session.run ortf.Tensor.eval, to thisfunction. Alternatively, you can pass a tf.Summary protocolbuffer that you populate with your own data. The latter iscommonly done to report evaluation results in event files.

    Args:

    • summary: A Summary protocol buffer, optionally serialized as a string.
    • global_step: Number. Optional global step value to record with the summary.

    它输入参数是各种图表的protocol 二进制数据,然后这些数据就会被写入到events文件里面。然后在IE里面打开tensorboard

    就可以看到那些各种图表。

    ================以上是说调用FileWriter.add_summary函数就可以看到其他数据图====

    但是,FileWriter.add_summary函数里面的summary参数怎么获得呢?看图下图


    调用上面的任一函数都可以返回一个protocol 二进制数据,都可以作为add_summary的输入参数。

    举个例子,看看为什么可以呢?

    tf.summary.scalar

    tf.summary.scalar(
        name,
        tensor,
        collections=None,
        family=None
    )

    Outputs a Summary protocol buffer containing a single scalar value.

    The generated Summary has a Tensor.proto containing the input Tensor.

    Args:

    • name: A name for the generated node. Will also serve as the series name in TensorBoard.
    • tensor: A real numeric Tensor containing a single value.
    • collections: Optional list of graph collections keys. The new summary op is added to these collections. Defaults to [GraphKeys.SUMMARIES].
    • family: Optional; if provided, used as the prefix of the summary tag name, which controls the tab name used for display on Tensorboard.

    Returns:

    A scalar Tensor of type string. Which contains a Summary protobuf.

    Raises:

    • ValueError: If tensor has the wrong shape or type.

    详情看这篇博客代码大笑
    https://blog.csdn.net/fu6543210/article/details/80219223

    ==================总结=====================================

    1.如果是只想得到一个简单的net网络图可视化,只需要调用tf.summary.FileWriter即可。同时它也返回一个writer类。

    2.如果想得到loss等图表,就得在第一步的基础上,再调用tf.summary.scalar函数返回一个tensor_scalar,然后把tensor_scalar作为tf.summary.merge(tensor_scalar)的输入参数,tf.summary.merge(tensor_scalar)返回一个tensor_merge,最后调用writer.add_summary(tensor_merge,global_step),以上方法比较繁琐,通常用下面的方法较多。


    3.还有一种简洁的习惯性常用的方法得到loss图表:

    调用tf.summary.scalar函数,自己选择想要添加的张量数据,但我们不需要保存它的返回结果

    调用tf.summary.merge_all(),会自动汇总上面的张量数据,返回一个tensor_merge,这次需要保存该张量,

    调用tf.summary.FileWriter,返回一个writer类,一般同时会用来生成graph图。

    最后调用writer.add_summary(tensor_merge,global_step),tensor_merge必须是经过sess.run(tensor_merge)的真实值

    展开全文
  • 本文采用箭头图的方法来说明矢量场可视化原理,即将每个矢量数据绘制成箭头,箭头的长度表示矢量数据的大小,箭头指向的方向则代表矢量数据的方向。 箭头长度的确定 由于箭头的长度代表矢量数据的大小,因此,...
  • 工具使用-可视化神器Netron 模型结构可视化神器——Netron(支持tf, caffe, keras,mxnet等多种框架) gayhub链接 安装exe文件,将各种框架的文件路径添加进去即可。 CAM可视化 CAM(Class Activation Mapping) CAM借鉴...
  • 本节主要总结TensorBoard可视化工具tensorboard作用:TensorBoard可以将训练过程中的各种绘制数据展示出来,包括标量(scalars),图片(images),音频(Audio),计算图(graph),数据分布,直方图(histograms)和...
  • 模板:Workshop Reader 该存储库是UC Davis DataLab的培训班读者的模板。 该模板使用书本来编织读者。 您还可以选择使用renv来管理软件包,并使用Gi​​t Large File Storage来管理大文件(包括说明)。...
  • 数据可视化(DataVisualization)起源于18世纪。WilliamPlayfair在出版的书籍TheCommercialandPoliticalAtlas中第一次使用了柱状图和折线图,当时是为了表示国家的进出口量,今天柱状图和折线图依然在使用。19世纪初...
  • data-vis-labs-2018 在这里查看我的Blogdown演示站点: 还有GitHub存储库:
  • 我刚接触数据可视化是在 4 年前,那时候一位大学老师 S ,叫我们使用 R 对数据进行统计分析(对,哥也学过一阵统计呢),其中有部分知识点是用 R 绘制箱线图、散点图之类的可视化结果。 从此对数据可视化产生了浓厚...
  • 可视化编程原理

    2019-06-17 21:13:06
    可视化编程原理 对象:安装的程序 事件:鼠标双击、单击、右键、回车等快捷键的触发……….事件 我们对不同的对象实施相同的事件,结果可能不相同。 为什么? 右键事件触发的方法代码不一样。 可视化编程...
  • 风场可视化原理剖析

    千次阅读 热门讨论 2020-03-22 03:30:37
    最近因为项目需要,做风场可视化,也不是什么新鲜的东西了,站在前人的肩膀上鼓捣了两天也算是完成了,特此记录一下。 网上关于风场可视化的文章也挺多,可以拜读以下几位博主文章,在此表示感谢。 数据可视化之...
  • 可视化与报表原理与概论   1. 信息可视化 1 2. Gui可视化 2 2.1. atitit 知识的可视化.docx 2 3. 可视化可视化= 图形化 +表格化 2 4. Html可视化可视化插件 2 5. 可视化大力提升用户体验== 2 6. ...
  • 主要介绍了Java web数据可视化实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 可视化与报表原理与概论 1. 、什么是可视化(这一节有点学术) 22. 可视化的趋势与历史发展 表格》图形》》大数据时代 33. 可视化优点 43.1. 可视化大力提升用户体验== 43.2. (1)避免因“只见树木,不见树林”而...
  • 1. PCA等原理实时动态可视化 2. K-means等聚类算法原理可视化
  • 为了开发教学效果更好的计算机图形学教学软件,分析了算法可视化的实质,基于VC6.0的开发环境,提出了一种将图形生成过程与实现图形的具体算法程序同步可视化演示的新思路.该系统通过建立虚拟栅格和模拟计算机的“象素...
  • Seaborn在出图的方式上,除了图表的可视化好看,还多了出图的公用性的东西; 关联数据用get去做,空间数据用echart、powmart去做。 什么是Bokeh  基于web端的python数据可视化工具包,可交互() matplotlib...
  • 可视化与报表原理与概论 1. 信息可视化1 2. Gui可视化1 3. 报表系统(三大图表,金字塔,组织结构图等)1 4. 《可视化数据》目录3 5. 可视化的具体实现(canvas,svg ,dom)4 6. 报表图表框架4 1.信息...
  • 数据可视化是什么 可视化过程 明确主题 现在是数据爆炸的时代,同样的数据不同主题的主题展现的方式是不一样的。首先我们要分析这次可视化的出发点和要达到什么样的效果也就是目标。目前遇到了什么问题、要展示什么...
  • 此文章旨在向大家介绍疫情地图可视化原理,帮助大家深入理解echart。 核心思路 疫情图的核心在于疫情数据整理以及疫情数据可视化。 疫情数据整理 本文疫情数据是由网易新闻的公开数据整理而成,仅用于demo 展示。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,994
精华内容 1,597
关键字:

可视化原理