标签: visualization

如何在Python中显示坐标网格线的变换?

假设我有常规的笛卡尔坐标系 $(x,y)$ 并且我考虑一个矩形网格区域 $D$ (分成小方块)。我想看看域 D 如何在 Python 中的坐标变换 T:(x,y) -> (u(x,y) ,v(x,y) ) 下映射?

我正在寻找这样的东西:

在此输入图像描述

看这里。

可以建议我如何做到这一点吗?我是 python 和编程的初学者。

python math visualization

4
推荐指数
1
解决办法
1138
查看次数

使用 Python 可视化二维点集

我是 Python 新手,想要执行一项相当简单的任务。我有一个二维点集,它作为二进制数据(即(x, y)坐标)存储在文件中,我想将其可视化。输出应如下图所示。

然而,我对这个主题的谷歌结果的数量感到不知所措。其中许多似乎用于三维点云可视化和/或大量数据点。因此,如果有人能为我的问题指出一个合适的解决方案,我将非常感激。

点集

编辑:点集包含在格式如下的文件中:

0.000000000000000   0.000000000000000
1.000000000000000   1.000000000000000
1
0.020375738732779   0.026169010160356
0.050815740313746   0.023209931647163
0.072530406907906   0.023975230642589
Run Code Online (Sandbox Code Playgroud)

第一个数据向量是单个“1”下方行中的数据向量;IE (0.020375738732779, 0.026169010160356)。如何将其读入 python 中的向量?我可以使用打开该文件f = open("pointset file")

python visualization visual-studio

4
推荐指数
1
解决办法
389
查看次数

“ggplot2”中“geom_hexbin”中的渐变填充颜色与 bin 计数的映射不准确

我正在尝试使用 绘制如下所示的分箱散点图ggplot2。

library(ggplot2)
bks = seq(from = 0, to = 10000, by = 1000)
d <- ggplot(diamonds, aes(carat, price)) + theme_bw()
d + geom_point(alpha = 0.01)
Run Code Online (Sandbox Code Playgroud)

图片1

当我使用 时geom_hexbin,箱中的计数未准确映射到梯度比例。

d + geom_hex(aes(fill = after_stat(count)), bins = 30, colour = "white") + 
  scale_fill_distiller(palette = "Spectral", breaks = bks) +
  geom_text(data = diamonds, aes(x = carat, y = price, label = after_stat(count)),
          stat="binhex", bins=30, show.legend=FALSE,
          colour="black", size=2.5)
Run Code Online (Sandbox Code Playgroud)

图2

例如,计数为 5809 和 5556 的容器仍显示为蓝色。

然而,使用geom_bin_2d,映射似乎是准确的

d + geom_bin_2d(aes(fill = …
Run Code Online (Sandbox Code Playgroud)

visualization r ggplot2 binning

4
推荐指数
1
解决办法
279
查看次数

如何指示裁剪后的颜色图

我有一个由给定函数着色的曲面图。为了清楚起见,颜色图不包含函数的所有值,因此颜色图在末端被“裁剪”。
我想向查看者表明颜色图在颜色条本身和绘图上都不完整(“裁剪”)。

例如,以这个例子(MATLAB):

clearvars; clc;

x = linspace(-2,2,100);
y = linspace(-2,2,100);
[X,Y] = meshgrid(x,y);
Z = exp(-X.^2 - Y.^2);
C = (X+0.5).^2 + Y.^2;

fig = figure(1);
ax = subplot(1,1,1);
s = surf(X,Y,Z,C,'EdgeAlpha',0.2);

colorbar(ax);
ax.CLim = [0, 1];
Run Code Online (Sandbox Code Playgroud)

根据二维函数 f(x,y)=(x+0.5)^2+y^2 着色的高斯曲面图,颜色条限制为 1

在这种情况下,我想表明大黄色区域不是恒定的 1,而是大于 1,而不会丢失通过限制色标获得的蓝色区域的颜色分辨率。

我没有尝试任何具体的事情,因为我不知道如何解决这个问题。这不仅是一个编码问题(“如何编码?”),而且也是一个关于裁剪颜色图的一般问题(“我到底应该做什么?”)。

多谢!

matlab visualization surface colorbar colormap

4
推荐指数
1
解决办法
62
查看次数

如何在 ggplot 点上添加类似工作的链接?

我想创建一个工作相似性可视化,看起来与此处找到的类似: https: //www.irecsolarcareermap.org/。

最初,我尝试使用力网络,但我注意到此函数不提供分类 X 轴和 Y 轴。

这次,我尝试使用 ggplot。基本的可视化看起来不错,但我想在单击代表职位的圆圈时添加指向类似职位的链接。

“data.csv”文件包含 Occ1、Occ2、完全可转移性(相似性级别)和职业(用于合并)等列。它有超过 10,000 行,我需要将每个 Occ1 到 Occ2 进行匹配。

职位:汽车工程技术员应具有电子/电气装配工和电子装配工的线路(链接)

此外,“experience.csv”文件包含“Occupation”和“Strata.Level”列,共 126 行。“jobType”文件包含 Occupation 和 Job_type 列,共 176 行。

如果一份工作不属于经验和工作类型,我想将其删除。

我尝试过的是:

library(ggplot2)
library(plotly)

# Read the data
data <- read.csv("data.csv")
experience <- read.csv("experience.csv")
jobType <- read.csv("JobType.csv")

# Filter the data based on Full Transferability
filtered_data <- subset(data, Full.Transferability >= 0.9)

# Get all unique occupations from filtered data, jobType, and experience
all_occupations <- unique(c(filtered_data$Occ1, filtered_data$Occ2, jobType$Occupation, experience$Occupation))

# Create nodes …
Run Code Online (Sandbox Code Playgroud)

visualization r ggplot2 plotly

4
推荐指数
1
解决办法
219
查看次数

如何使用WPF可视化简单的2D世界(地图和元素)

我是WPF的新手,正在寻找下面描述的问题的简单解决方案.我试图让它尽可能短.

我试图想象一个建模的"世界":

  • 地图图像,具有以米为单位的已知原点(例如,左上角为14,27),以cm /像素为单位的分辨率.地图每隔几秒就会增长.地图很小,因此不需要分页/平铺.
  • 真实世界的元素和兴趣点.每个元素在地图区域内具有以米为单位的2D位置.此外,每个元素都可能会移动.

关于模型方面,我有一个WorldState类来保存地图和元素:

interface IWorldState
{
    IEnumerable<IWorldElement> Elements { get; }
    IMapData CurrentMap { get; }
}

interface IWorldElement
{
    WorldLocation { get; }
    event EventHandler LocationChanged;
}

interface IMapData
{
    string FilePath { get; }
    WorldLocation TopLeft { get; }
    Size MapSize { get; }
}
Run Code Online (Sandbox Code Playgroud)

现在关于可视化,我选择了Canvas类来绘制地图和元素.应该以不同方式绘制每种类型的元素(继承自IWorldElement).可能有多个地图画布,其中包含元素的子集.

<Canvas x:Name="mapCanvas">
    <Image x:Name="mapImage" />
</Canvas>
Run Code Online (Sandbox Code Playgroud)

在代码中,我需要在更改时设置地图图像文件:

void MapChanged(IWorldState worldState)
{
    mapImage.Source = worldState.CurrentMap.FilePath;
}
Run Code Online (Sandbox Code Playgroud)

要绘制元素,我有一个方法将WorldLocation转换为(Canvas.Left,Canvas.Top):

Point WorldToScreen(WorldLocation worldLocation, IWorldState worldState)
{
    var topLeft = worldState.CurrentMap.TopLeft;
    var size = …
Run Code Online (Sandbox Code Playgroud)

architecture wpf visualization model

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

渲染海量数据

我有一个3D浮点矩阵,在最坏的情况下,大小可能是(200000x1000000x100),我想使用Qt/OpenGL可视化这个矩阵.

由于元素的数量非常多,我想以这样的方式渲染它们:当相机远离矩阵时,我只是展示了一些有趣的点,它们给出了矩阵的近似.当相机靠近时,我想获得更多细节,因此计算出更多元素.

我想知道是否有技术可以处理这种可视化.

opengl qt visualization data-visualization bigdata

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

饼图中的负值

我的应用程序使用各种图表类型来可视化数据。饼图可视化的某些数据包括负值。饼图并非旨在显示负数。

  • Excel输出所有值的绝对值。因此,在饼图中将-20输出为包含饼周长20%的切片。告诉数字为负的唯一方法是引用图例。
  • Highcharts是我们使用的制图引擎,它使正片完整无缺,但以非常奇怪和令人困惑的方式渲染负片(JS Lint上的示例)。为他们提供底片的支持,但我们的用户感到困惑。

  • 其他人则建议完全过滤掉负面因素,因为它们在饼图中没有意义。这会剥离数据,并不完全代表数据集,因此它可能对我们不起作用。
  • 并且,其他人建议使用更合适的图表类型,例如条形图。
  • 还有其他解决方案吗?你是怎么做到的?

    charts visualization graph pie-chart

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

    将顶点法线转换为面法线

    我有一个三角形多面体(不一定是凸面)和以下信息:

    每个顶点的位置列表.定义每个面的顶点三元组列表.顶点法线列表(这里顶点法线是来自每个顶点的向量,通过对每个顶点周围的面法线(见下文)求平算).

    我想计算面法线列表(垂直于每个面的平面,向外指向的标准化矢量).

    javascript graphics geometry visualization normals

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

    Graphviz [outputorder = edgesfirst]似乎不起作用

    我正在可视化带有graphviz的sddp的图形。但是边缘覆盖了该节点,这很烦人。我将此属性[outputorder = edgesfirst]添加到了图形中,但它似乎不起作用。

    输出: 在此处输入图片说明

    资源:

    digraph G {
    graph [overlap=false][outputorder=edgesfirst];
    0;
    1;
    2;
    3;
    
    .....
    
    330;
    331;
    0->18 [color=red];
    0->325 [style=invis];
    2->3 [dir=none];
    
    .....
    
    331->330 [color=red];
    }
    
    Run Code Online (Sandbox Code Playgroud)

    visualization graphviz

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