关于算法:拓端tecdatR语言在地图上绘制月亮图饼状图数据可视化果蝇基因种群

50次阅读

共计 2771 个字符,预计需要花费 7 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=23322 

月亮图和饼图

饼图把一个圆分成多个局部,这些局部的弧长(以及面积)代表一个整体的比例。月亮图也是如此,它把一个圆分成多个局部,这些局部的面积代表整个圆的比例,但在月亮图中,这些局部被画成圆的月牙形,就像月相。

应用月亮图而不是饼图背地的动机次要是审美的抉择。还要留神的是,因为月亮图的各局部是从圆的一侧或另一侧扫过的,所以个别只适宜于形容一个或两个群体。

月亮图与 Kosara(2019)1 的 “ 圆形切片 “ 图相似。在钻研受试者对不同图表类型中百分比的感知时,” 圆形切片 “ 的体现与饼图相似。月亮图与 “ 圆形切片 “ 的不同之处在于,后者是在一个根底圆上滑动第二个同样大小的圆盘,更像是月食而不是月相。然而,两者都依赖面积作为视觉线索。

用法

ggplot2 数据可视化包,为 R 语言中的月亮图提供反对。它们的绘制形式与 ggplot2 中的点最为类似:它们的地位由一个 x 和一个 y 坐标定义,它们的大小与坐标系无关,所以它们总是放弃圆形。

ggplot(data.frame(x = 1:5, y = 1)) +
  geom_point(y = 2) +
  scale_size(range = c(5, 10))+

两个新的美学在 geom_moon 中也很重要:比例和 填充

比例美学

比率管制要绘制的月亮的比例。它必须在 0("新月",实际上什么都没画)和 1("满月",即一个圆)之间。

ggplot(data.frame(x = 1:5, y = 0, ratio = 0:4 * 0.25), aes(x = x, y = y),ratio = ratio), size = 20, fill = "black") +
  geom_text(aes(y = y + 1, label = ratio)) +

填充 美学

左边须要一个布尔值,管制月亮是 "升" 还是 "降",也就是说,它是由左边还是右边 "填充" 的。

用两种色彩制作一个 “ 残缺 “ 的月亮的一种办法是用 right = TRUE 示意一种色彩,用 right = FALSE 示意另一种色彩,比例互补。

ggplot(moons) +
  geom(aes(x, y, ratio = ratio, right = right, fill = right)) +

图例关键字

三个关键字,用于不同类型的图例:默认值,绘制一个左边的悬臂月(见上文)。

left 从右边画出一个新月,与长臂月互补,这对组合图例很有用。

ggplot(aes(x, y, ratio = ratio, right = right, size = 2^x)) +
  geom(data = subset(moons, right)) +
  geom(key = left)

key 画的是一个圆。它相似于 "点" 的形态,但计算形式略有不同,所以如果你想让图例月亮的尺寸和月亮的尺寸相匹配,就更适合。

ggplot(tidymoons) +
  geom(key = full) +

工作实例

地图上的月亮图

多饼图的一个常见用处是示意地图上不同坐标处的比例。x 和 y 维度曾经致力于地图坐标,所以像柱状图这样的比例可视化就比拟艰难。这是一个尝试月形图的绝佳机会!

饼图地图在人口遗传学中很风行,所以让咱们看一下该畛域的一个例子。数据蕴含果蝇种群中 Adh 基因的两个变体的频率。这些种群中有许多都很靠近,所以咱们必须解决适度绘制的问题,咱们在上面手动解决。

moonmap <- ggplot(da, aes(long, lat)) +
  geom_polygon(
    data = map_data("world"),
    aes(group = group),
  ) +

如果咱们想在图例中明确标注等位基因,那么咱们须要将它们映射到一个组中,这就要求咱们将数据重新排列成一个 “ 较长 ”(” 参差 ”)的格局。

 reshape(
  v.names = "percent",
  times = c("dhF", "dhS"),
  direction = "long"
)

月球数据

有时你只是想绘制月球的文字表述。改编自 NASA 的月球数据,蕴含了 2019 年每天从地球到月球的间隔,以及月球四个次要阶段每次呈现的日期(UTC)。咱们能够用月球图(在这种状况下与饼图雷同)绘制这些次要阶段。

ggplot(lunardist, aes(date, distance)) +
  geom_line() +
  # 将上层绘制成一个残缺的圆
  geom(data = phase, ratio = 1, size = 5, fill = "black") +

Harvey balls 哈维球分析法

“ 哈维球 “ 实质上是用于定性比拟的饼图,通常以表格模式呈现。咱们能够应用月形图来达到同样的目标。

首先,让咱们获取一些数据。

哈维月亮的图表。

# 首先,咱们将数据变动为 "长" 格局,以不便绘图。rest <- reshape(
  restaurants,
  timevar = "Category",
  direction = "long"
)

ggplot(rest, aes(0, 0)) +
  geom(aes(ratio = (Score - 1) / 4), fill = "black") +
  theme(panel.grid = element_blank()

参考文献


  1. Kosara, R. 2019. Circular Part-to-Whole Charts Using the Area Visual Cue. EuroVis 2019 – Short Papers. https://doi.org/10.2312/evs.20191163↩︎
  2. Oakeshott, J.G., et al. 1982. Alcohol dehydrogenase and glycerol-3-phosphate dehydrogenase clines in _Drosophila melanogaster_ on different continents. Evolution, 36(1): 86-96.↩︎


最受欢迎的见解

1.R 语言动态图可视化:如何、创立具备精美动画的图

2.R 语言生存剖析可视化剖析

3.Python 数据可视化 -seaborn Iris 鸢尾花数据

4.r 语言对布丰投针(蒲丰投针)试验进行模仿和动静

5.R 语言生存剖析数据分析可视化案例

6.r 语言数据可视化剖析案例:摸索 brfss 数据数据分析

7.R 语言动静可视化:制作历史寰球平均温度的累积动静折线图动画 gif 视频图

8.R 语言高维数据的主成分 pca、t-SNE 算法降维与可视化剖析案例报告

9.python 主题 LDA 建模和 t -SNE 可视化

正文完
 0