小编Mar*_*ell的帖子

如何在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
查看次数

在Yii2中将数据从一个控制器动作转发到另一个

是否可以在渲染之前将数据从一个控制器动作转发到另一个控制器动作?基本上,如果我们有Zend _forward的功能,我现在想要吗?

这是我的情景.我有一个支付网关,将数据返回给我的控制器操作,我想要的是处理单独的控制器/操作上的数据,但渲染主页(没有重定向).是否可以将控制从一个控制器/动作转发到另一个?

任何人都可以建议我可以去吗?

php yii2

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

geom_density_ridges 需要以下缺失的美学:y

无论我尝试什么,我都无法使用ggridges. 使用graphing_dataframe如下所示的数据框:

str(graphing_dataframe)
summary(graphing_dataframe)

> str(graphing_dataframe)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   14 obs. of  3 variables:
 $ id    : chr  "00343" "00343" "00343" "00343" ...
 $ week  : num  14 1 2 3 4 5 6 7 8 9 ...
 $ rating: num  14 4 12 8 14 19 16 16 7 8 ...
 - attr(*, "spec")=
  .. cols(
  ..   id = col_character(),
  ..   week = col_double(),
  ..   rating = col_double()
  .. )
> summary(graphing_dataframe)
      id …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggridges ridgeline-plot

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

如果没有y变量,则在x轴上的间隔上遮蔽geom_density

geom_density对于只有x变量的概率分布,我在曲线下着色很困难.我想在x> 0.05的区域下阴影.R上的其他线程仅在包含ay变量时才起作用.

使用这些随机生成的分布值:

a <- c(-0.1125, -0.1405, -0.1038, -0.1246, -0.1381, -0.1281, -0.144, 
    -0.1377, -0.1287, -0.1119, -0.1553, -0.1578, -0.154, -0.1379, 
    -0.1506, -0.1166, -0.09943, -0.1689, -0.1794, -0.1632, -0.175, 
    -0.1561, -0.1143, -0.1952, -0.1865, -0.1478, -0.1556, -0.1175, 
    -0.1098, -0.1224, -0.09501, -0.1164, -0.2199, -0.1501, -0.1461, 
    -0.08725, -0.1158, -0.1917, -0.1405, -0.1081, -0.1013, -0.07569, 
    -0.121, -0.1811, -0.1248, -0.1255, -0.09941, -0.1829, -0.212, 
    -0.1053, -0.1311, -0.1057, -0.1344, -0.09613, -0.1535, -0.1362, 
    -0.1477, -0.1196, -0.13, -0.1721, -0.1419, -0.1344, -0.08684, 
    -0.1137, -0.1054, -0.179, -0.1314, -0.122, -0.14, -0.1453, -0.1063, 
    -0.1382, -0.143, -0.1278, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

9
推荐指数
2
解决办法
457
查看次数

阻止 geom_density_ridges 显示不存在的尾部值

当我使用 时geom_density_ridges(),该图通常最终会显示数据中不存在的值的长尾。

下面是一个例子:

library(tidyverse)
library(ggridges)

data("lincoln_weather")

# Remove all negative values for "Minimum Temperature"
d <- lincoln_weather[lincoln_weather$`Min Temperature [F]`>=0,]

ggplot(d, aes(`Min Temperature [F]`, Month)) +
  geom_density_ridges(rel_min_height=.01)
Run Code Online (Sandbox Code Playgroud)

geom_ridgline 如您所见,一月、二月和十二月都显示负温度,但数据中根本没有负值。

当然,我可以对 x 轴添加限制,但这并不能解决问题,因为它只是截断了现有的错误密度。

ggplot(d, aes(`Min Temperature [F]`, Month)) +
  geom_density_ridges(rel_min_height=.01) +
  xlim(0,80)
Run Code Online (Sandbox Code Playgroud)

带轴限制的 geom_ridgeline 现在,该图使 1 月和 2 月的值看起来为零(没有)。这也使得 0 度看起来在 12 月经常发生,而实际上只有 1 个这样的日子。

我怎样才能解决这个问题?

r ggplot2 ggridges ridgeline-plot

9
推荐指数
2
解决办法
3811
查看次数

如何调整 R 中脊线图的带宽

使用包geom_density_ridges中的函数时ggridges,它始终为图中的所有密度选择带宽。但是有没有办法调整它选择的带宽呢?

我目前有一些代码可以制作山脊图,但对于底部密度来说带宽太低。我想对其进行调整,使其更平滑、不那么粗糙。

在此输入图像描述

这是我的代码:

hier_plot <- ggplot(hier_df, aes(x=x, y=as.factor(beta), fill = factor(beta))) +
  theme(axis.title = element_text(size = 15),
        axis.text = element_text(size = 15),
        legend.text = element_text(size = 10),
        panel.background = element_rect(fill = "#fffffC")) +
  labs(y = expression(beta), x = 'x', expression(beta), fill = expression(beta)) +
  geom_density_ridges(scale = 2.5) +
  scale_x_continuous(expand = c(0.01, 0)) +
  scale_y_discrete(expand = c(0.05, 0)) +
  scale_fill_brewer(palette = 'Reds')

hier_plot 
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggridges ridgeline-plot

8
推荐指数
1
解决办法
5228
查看次数

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

我正在寻找一种方法来做一个(实际上很常见的)可视化,通过一组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
查看次数

添加自定义垂直线joyplots ggridges

我想使用ggridges.

# toy example
ggplot(iris, aes(x=Sepal.Length, y=Species, fill=..x..)) +
geom_density_ridges_gradient(jittered_points = FALSE, quantile_lines = 
FALSE, quantiles = 2, scale=0.9, color='white') +
scale_y_discrete(expand = c(0.01, 0)) +
theme_ridges(grid = FALSE, center = TRUE)
Run Code Online (Sandbox Code Playgroud)

我想在 7 处为 virginica 添加一条垂直线,为 versicolor 添加 4 条,为 setosa 添加 5 条垂直线。关于如何做到这一点的任何想法?

r ggplot2 ggridges ridgeline-plot

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

r中的马尔可夫链和小数点?

我已经从 r 中的矩阵绘制了一个马尔可夫链。但是,我有许多低于 0.01 的概率,因此我的概率图如下所示:

在此处输入图片说明

我已经搜索了几个小时,但似乎找不到可以显示所有四个小数位的东西。有什么办法可以格式化这个还是我应该保持原样?

我的代码如下:

library(markovchain)

newtransition.matrix <- matrix( data = c(
  .9366, .0066, .0007, .0003 ,.0003, 0, .0015, 0, 
  .0583, .9172, .0225, .0026, .0006, .001, 0, 0,
  .004, .0694, .9176, .0483, .0044, .0032, .0029, 0,
  .0009, .0049, .0518, .8924, .0666, .0046, .0088, 0,
  .0002, .0006, .0049, .0444, .8323, .0572, .0191, 0,
  0, .0009, .002, .0081, .0746, .8362, .1028, 0,
  0, .0002, .0001, .0016, .0105, .0384, .6123, 0,
  0, .0002, .0004, .0023, .0107, .0594, .2526, 1),
  nrow = …
Run Code Online (Sandbox Code Playgroud)

r markov-chains markov

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