标签: visualization

D3 图表的缩放问题,适当缩放比例(Y 轴,X 轴)

示例代码小提琴

我正在制作热图。在其中我根据数据以编程方式制作热图的矩形(宽度,高度)。

我想添加用于缩放 X 轴(时间范围)、Y 轴(距离范围)的滑块。我尝试了 d3 缩放选项,效果很好。但是比例尺(x 轴,y 轴)与图形的矩形不成比例。就像一个矩形在 10,20 英里 y 轴比例之间。它在缩放方面走得更远超过 20 英里。

然后我在 svg 上尝试了 viewbox。有用 。比例保持在与图形精确的比例。

我想在缩放时保持比例和图形的比例,但不想增加比例标签的大小,因为它会使图形变得丑陋。

这是我最初如何制作图表的代码片段

d3.json('dateWiseNewDataRight.json',function(err,right_dat){
            // console.log(right_dat);
            var dateGroups=_.groupBy(right_dat, "DATE");
            var data = [];
            var x= 0,y=0;
            var tlength=0;
            var totalDates=Object.keys(dateGroups);
            var graphWidth=(total_width/totalDates.length)-6;

            for(var key in dateGroups){
                tlength=0;
                data = [];
                y=0;
                var segmentMiles=0;
                var currentGraphData=dateGroups[key];
                var road=currentGraphData[0]['ROAD'];
                for(var i = 0; i < currentGraphData.length-1; i++) {
                    tlength+=currentGraphData[i].MILES;
                }
                for (var i = 0; i < currentGraphData.length-1; i++) {
                    var height=0; …
Run Code Online (Sandbox Code Playgroud)

javascript css svg visualization d3.js

5
推荐指数
1
解决办法
1099
查看次数

如何在seaborn子图中只保留一个传说

我正在使用 seaborn 绘制两个子图,如下所示:

fig, (ax1, ax2) = plt.subplots(ncols=2, sharey=True)

sns.swarmplot(flowers[0], flowers[1], hue=colours, ax=ax1)
ax1.set(xlabel='Sepal Length', ylabel='Sepal Width')
plt.legend(loc="upper left", bbox_to_anchor=(1, 1))

sns.swarmplot(flowers[2], flowers[3], hue=colours, ax=ax2)
ax2.set(xlabel='Petal Length', ylabel='Petal Width')

sns.plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,每个子情节都有自己的由颜色决定的图例。是否可以删除其中之一,最好将剩余的放在地块之外?我试过使用,ax1.legend_.remove()但没有用。

python visualization seaborn

5
推荐指数
1
解决办法
2599
查看次数

在堆积条上显示总计 Plotly

你如何在 Plotly 的堆积条形图上显示总数。

我可以悬停并查看每个组的单个值,但不能查看总数。

python visualization plotly

5
推荐指数
2
解决办法
6416
查看次数

如何在python中突出显示时间序列线图的周末

我正在尝试对共享单车数据集进行分析。部分分析包括以日期图显示周末的需求。我在熊猫中最后 5 行的数据框看起来像这样。

在此处输入图片说明

这是我的日期与总骑行图的代码。

import seaborn as sns 
sns.set_style("darkgrid")
plt.plot(d17_day_count)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

. 我想在情节中突出周末。这样它就可以看起来类似于这个情节。 在此处输入图片说明

我正在使用带有 matplotlib 和 seaborn 库的 Python。

python visualization matplotlib timeserieschart

5
推荐指数
2
解决办法
4550
查看次数

Python Jupyter 中带有工具提示的交互式 wordcloud

我有一个单词和短语列表,以及每个单词和短语的分数和定义。我想将此作为交互式 wordcloud 呈现,其中文本大小由分数决定,定义显示为悬停时的工具提示。我更愿意在 Jupyter 中执行此操作。

我知道一些库提供了很好的方法来生成 wordcloud 和/或工具提示。如何将工具提示附加到 wordcloud 中的单词?. wordcloud 需要有办法知道你悬停在什么文本上并触发相应的工具提示。到目前为止,我还没有找到一种方法来做到这一点。

我对用于执行此操作的 linraries 相当不可知。我主要希望结果是相当高级的并且主要是声明性的。我看过 Vega、bqplot 和 Andreas Mueller 的 wordcloud 包。Vega 具有 wordcloud 和工具提示功能,旨在很好地组合管道,但我不确定如何以正确的方式连接它们。我也更愿意编写实际的 Python 代码而不是使用 JSON 的代码,但这只是一个小问题。Bqplot 很好地处理了提示信息,但没有 wordcloud 组件。wordcloud 包生成了不错的 wordcloud,但我不知道如何使它们具有交互性。

visualization data-visualization tooltip vega jupyter

5
推荐指数
1
解决办法
2008
查看次数

如何删除 Corrplot 中的标签名称

我正在尝试使用 R 中的 Corrplot 绘制可视化。我的数据框中有几个变量,但是当我尝试绘制图表时,它显示为非常简陋的可视化。我不确定如何删除矩阵中变量的名称并仅用数字表示它们。我使用普通代码来绘制图表。请原谅我在这里缺乏意识,我对 R 很陌生,正在学习了解更多。

Library(corrplot)
m <- cor(df)
corrplot(m, method = "circle")
Run Code Online (Sandbox Code Playgroud)

我的图表在这里

visualization r r-corrplot

5
推荐指数
1
解决办法
3777
查看次数

Python / Plotly 甘特图:用于指示时间线中当前日期的标记?

在项目管理中,甘特图可让您在时间线上查看项目的组件,例如在Plotly 中。在 Python 上下文中,如何最好在此图形上有一条线来指示该时间线中的当前日期,即今天的日期?在 Plotly 上下文中,有些形状可以将细线绘制为形状,但我无法将其应用于时间序列/甘特图,并且在视觉上似乎缺乏,因为它没有超出图形空间(即它不跨越轴)并且没有标签......

python visualization gantt-chart plotly

5
推荐指数
1
解决办法
672
查看次数

Python &amp; Matplotlib:多级树状图?

我最近从https://www.kaggle.com/philippsp/exploratory-analysis-instacart看到了这张树状图(两级层次结构,彩色,方形树状图)。

它是用 R 制作的,通过:

treemap(tmp,index=c("department","aisle"),vSize="n",title="",
        palette="Set3",border.col="#FFFFFF")
Run Code Online (Sandbox Code Playgroud)

我想知道如何在 Python 中制作这个图?


我搜索了一下,但没有找到任何多级树状图示例。

python visualization matplotlib treemap

5
推荐指数
1
解决办法
1361
查看次数

如何在seaborn中填充线图下的区域

我想填充线图下的区域,如下图所示: 它应该看起来像

代替

在此处输入图片说明

基于以下 .csv 文件构建:

01-01-97    1
01-02-97    2
01-03-97    3
     ...
01-11-17    251
01-12-17    252
01-01-18    253
Run Code Online (Sandbox Code Playgroud)

我应该在此代码中更改什么以生成所需的图形?

import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt

# load csv
df=pd.read_csv("test.csv")
# generate graph
g = sns.lineplot(x="Date", y="Data", data=df)

plt.show()
Run Code Online (Sandbox Code Playgroud)

python visualization line-plot seaborn

5
推荐指数
1
解决办法
1万
查看次数

R ggplot facet_wrap 具有不同的 y 轴标签,一个值,一个百分比

我正在使用facet_wrapggplot绘制时间序列值及其百分比:

对于下图,上图是值,下图是百分比变化。我希望下图中的 y 轴为“%”。通常在 ggplot 我会做类似的事情

+ scale_y_continuous(labels = scales::percent)
Run Code Online (Sandbox Code Playgroud)

但是由于我使用的是 facet_wrap,我如何指定我只希望 2 个图的 y 轴标签之一是百分比?

在此处输入图片说明

PS这是生成此图的代码:

library(data.table)
library(ggplot2)
library(scales)
library(dplyr)

pct <- function(x) {x/lag(x)-1}
Dates = seq(from = as.Date("2000-01-01"), 
            to =as.Date("2018-10-01"), 
            by = "1 month")
set.seed(1024)
this_raw = data.frame(CM = Dates,
                      value = rnorm(n = length(Dates)),
                      variable = rep("FAKE",length(Dates)))
this_diff = na.omit(as.data.table(this_raw %>% 
                                    group_by(variable) %>%
                                    mutate_each(funs(pct), c(value))))
this_diff$type = "PerCng"
this_raw$type = "RAW"
plot_all = rbindlist(list(this_raw,this_diff))
plot_all$type = factor(plot_all$type, levels = c("RAW", "PerCng"))

out_gg = plot_all %>% …
Run Code Online (Sandbox Code Playgroud)

visualization r time-series ggplot2 facet-wrap

5
推荐指数
1
解决办法
2926
查看次数