标签: waffle-chart

如何在python中做华夫饼图?(方形饼图)

像这样的东西: 在此输入图像描述

在R中有一个非常好的包.在python中,我能想到的最好的就是这个,使用squarify包(灵感来自关于如何做树图的帖子):

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns # just to have better line color and width
import squarify
# for those using jupyter notebooks
%matplotlib inline 


df = pd.DataFrame({
                  'v1': np.ones(100), 
                  'v2': np.random.randint(1, 4, 100)})
df.sort_values(by='v2', inplace=True)

# color scale
cmap = mpl.cm.Accent
mini, maxi = df['v2'].min(), df['v2'].max()
norm = mpl.colors.Normalize(vmin=mini, vmax=maxi)
colors = [cmap(norm(value)) for value in df['v2']]

# …
Run Code Online (Sandbox Code Playgroud)

python matplotlib bokeh seaborn waffle-chart

15
推荐指数
2
解决办法
4567
查看次数

通缉:人口分裂的重复象形图可视化

我正在寻找一种方法来做一个(实际上很常见的)可视化,通过一组N个象形图显示将N个单元的分组分成几个类别 - 我更喜欢填充的正方形; 在报纸等中,人们可能会看到很少的人形形状 - 每个象形图根据第n个单元的类别着色.N固定为1或100,显示分数或百分比而非计数的图表可以.彩色的"条纹"必须包裹多行.是否有人知道R包中有此图表?

举一个具体的例子,

x =样本(c("A","B"),100,替换= T)

我想看一个10x10(或5x20,或其他)网格的彩色正方形,一些 - 对应于"A" - 彩色绿色,其他红色.绿色(同样是红色)方块可以"聚集",或保留原始顺序.

谢谢.

charts r waffle-chart

7
推荐指数
2
解决办法
1698
查看次数

在ggplot2中与facet一起创建一个华夫饼图

是否有任何简单的方法可以在ggplot2中与facet结合创建华夫饼块,或者与华夫饼包一起梳理?

例如,用100个方格替换下面的每个条形代表1%.

ggplot(mtcars, aes(x = factor(vs), y = hp, fill = as.factor(carb))) +
  geom_bar(stat = 'identity', position = 'fill') +
  facet_wrap('gear')
Run Code Online (Sandbox Code Playgroud)

r ggplot2 waffle-chart

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

如何在 R 中使用 ggarrange 减少绘图之间的间隙?

我正在尝试创建一个华夫饼图,其中共有 9 个图。然而,无论我如何尝试,我都无法减少图中 3 列之间的间距。这就是我现在的情节。 华夫饼情节足球

到目前为止我使用的代码是这样的:-

fig1 <- waffle(Intvec, rows=10, size=2.0, 
           colors=c("#cb181d", "#238b45", "#0570b0", 
                    "#fec44f", "#ec7014", "#6a51a3"),
           title = "Inter")
fig1$layers[[1]]$aes_params$colour <- '#252525'
fin1 <- fig1 + theme(plot.background = element_rect(fill = "#252525", colour = "#252525")) +
theme(legend.position = "none") +
labs(y = "Serie A", main = "Inter") +
 theme(axis.title.y = element_text(color="#bdbdbd", size=18, face="bold"),
 plot.title = element_text(colour = "#ffffff", size = 20, face = "bold"))
fin1
Run Code Online (Sandbox Code Playgroud)

在使用 ggarrange 之前对其他 8 个地块执行相同的操作

fig <- ggarrange(fin1, fin2, fin3, fin4, fin5,
                 fin6, fin7, …
Run Code Online (Sandbox Code Playgroud)

r ggpubr waffle-chart

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

R 中的 Font Awesome,已加载但未被华夫饼找到

我从这个网站下载了 otf 文件。我的 IT 部门安装了“Font Awesome 5 Free Regular”,我使用了

library(extrafont)
font_import()
loadfonts(device = "win")
Run Code Online (Sandbox Code Playgroud)

我可以看到 Font Awesome 注册了“Font Awesome 5 Free Regular”。当我尝试将它与此测试代码一起使用时:

waffle(c(50, 30, 15, 5), rows = 5, use_glyph = "music", glyph_size = 6)
Run Code Online (Sandbox Code Playgroud)

我得到

Error: FontAwesome not found. Install via: https://github.com/FortAwesome/Font-Awesome/tree/master/fonts
Run Code Online (Sandbox Code Playgroud)

但该链接不会去任何地方。

我想使用 Font Awesome(或一个很好的替代方案)来制作有趣的华夫饼图。我是否错误地加载了字体?我缺少更好的选择吗?我一直在使用这篇文章作为指导。我还在stackoverflow 上阅读了一个相关的问题,但它没有帮助。我已经多次重新启动 Rstudio(和计算机),但没有成功。

更新

还是行不通。我已经删除并重新安装了 waffle 和 emojifont 包。我仍然收到错误代码:“错误:未找到 FontAwesome。通过以下方式安装:https : //github.com/FortAwesome/Font-Awesome/tree/master/fonts

r font-awesome waffle-chart

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

将 gganimate 与华夫饼图结合使用

我一直在玩这个waffle包,并试图让它与gganimate.

作为mpg示例,我创建了华夫饼图来显示每个模型的数量class。然后,我想使用 gganimate 依次显示每个制造商按类别划分的模型图表。我可以用来facet_wrap()同时显示所有制造商的图表,但希望能够循环浏览它们。

当我尝试将 gganimate 应用于华夫饼图时,出现错误:

mapply(FUN = f, ..., SIMPLIFY = FALSE) 中的错误:零长度输入不能与非零长度输入混合

我不确定是否waffle与 不兼容gganimate,或者我是否做错了什么。

这是代码:

library(tidyverse)
library(waffle)
library(gganimate)

data("mpg")
d <- mpg

d$class <- as.factor(d$class)
d$manufacturer <- as.factor(d$manufacturer)

plot <- d %>% count(manufacturer, class) %>%
  ggplot(aes(fill = class, values = n)) +
  geom_waffle(color = "white",
              size = .75,
              n_rows = 4) +
  ggthemes::scale_fill_tableau(name = NULL) +
  coord_equal() +
  theme_minimal() +
  theme(panel.grid = element_blank(), …
Run Code Online (Sandbox Code Playgroud)

animation r ggplot2 gganimate waffle-chart

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

如何更改 R 华夫饼图中“瓷砖灌浆”的颜色以匹配背景

我正在尝试制作一个华夫饼图来使用黑暗模式。这涉及更改背景颜色和瓷砖灌浆的颜色。我不知道如何做瓷砖灌浆。

我无法执行任何正常操作来更改颜色:

counts <- c(a = 701, b = 1094, c = 1756)
waffle(counts, 
   rows=50,
   size=0.75,
   legend_pos="bottom") + theme(legend.key.size=unit(3, "mm"),
                                rect=element_rect(fill='black',
                                                  color='black'),
                                plot.background=element_rect(fill='black'),
                                strip.background = element_rect(colour=NA, fill=NA),
                                panel.background=element_rect(fill='black', color='black'))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有一个拉取请求可以执行此操作,但发出请求的人删除了它。似乎颜色被设置为每个图块上的边距颜色,因为如果将 waffle 函数参数增加到sizesize=0则不会得到图块灌浆:

在此输入图像描述

如何使瓷砖填缝剂的颜色与背景一样黑色?

r ggplot2 waffle-chart

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

geom_waffle 不显示一个单元格

我一直在使用该包waffle,但无法解决如何修复此华夫饼图,使其显示 100 个方块/单元格

华夫饼图

这是数据和我的代码:

# devtools::install_github("hrbrmstr/waffle")
library(ggplot) 
library(waffle)

data <- structure(list(greenfield = c(0, 1), n = c(162L, 399L), total_investments = c(561, 
561), percentage = c(28.8770053475936, 71.1229946524064), name_greenfield = c("M&A", 
"Greenfield")), row.names = c(NA, -2L), groups = structure(list(
    greenfield = c(0, 1), .rows = structure(list(1L, 2L), ptype = integer(0), class = c("vctrs_list_of", 
    "vctrs_vctr", "list"))), row.names = c(NA, -2L), class = c("tbl_df", 
"tbl", "data.frame"), .drop = TRUE), class = c("grouped_df", 
"tbl_df", "tbl", "data.frame"))

# Waffle plot

ggplot(data,
       aes(fill = name_greenfield, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 waffle-chart

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

在 ggplot2 中创建华夫饼图

我正在尝试创建这样的图表:

填充的堆叠方块图

ggplot2

这个想法是将真/假值的分布可视化,即在 80 个中的第 3 个上条和 280 个中的第 2 个下条中。如何做到这一点ggplot2

r ggplot2 waffle-chart

2
推荐指数
1
解决办法
3105
查看次数