层 (Layer)
data: 感兴趣的变量 (data frame)
Aesthetics: x-axis/ y-axis/ color/ fill/ size/ label/ alpha/ shape
Geometrics: point/ line/ histogram/ bar/ boxplot
Facets: columns/ rows
Statistics: binning/ smoothing/ descriptive/ inferential
Coordinates: cartesian/ fixed/ polar/ limits
Themes: non-data ink
ggplot2 功能包的两大函数:
使用airquality
的数据,运用qplot()
绘图:
qplot():最基本的散点图,它默认 geom = "point"
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5xcGxvdChXaW5kLCBUZW1wLCBkYXRhPWFpcnF1YWxpdHkpIn0=
qplot(): 添加颜色,每个月一种颜色
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5haXJxdWFsaXR5JE1vbnRoPC1hcy5mYWN0b3IoYWlycXVhbGl0eSRNb250aClcbnFwbG90KFdpbmQsIFRlbXAsIGRhdGE9YWlycXVhbGl0eSwgY29sb3I9TW9udGgpIn0=
qplot():所有数据点统一为一种颜色
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5xcGxvdChXaW5kLCBUZW1wLCBkYXRhPWFpcnF1YWxpdHksIGNvbG9yPUkoXCJyZWRcIikpIn0=
qplot():改变数据点的形状,每个月份一种形状
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5xcGxvdChXaW5kLCBUZW1wLCBkYXRhPWFpcnF1YWxpdHksIHNoYXBlPWZhY3RvcihNb250aCkpIn0=
qplot():改变数据点的大小,每个月份一种大小
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5xcGxvdChXaW5kLCBUZW1wLCBkYXRhPWFpcnF1YWxpdHksIHNpemU9TW9udGgpIn0=
qplot():统一大小
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5xcGxvdChXaW5kLCBUZW1wLCBkYXRhPWFpcnF1YWxpdHksIHNpemU9SSgzKSkifQ==
在当前的图上按颜色区分月份,并加入平滑曲线
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5haXJxdWFsaXR5JE1vbnRoPC1hcy5mYWN0b3IoYWlycXVhbGl0eSRNb250aClcblxucXBsb3QoV2luZCwgVGVtcCwgZGF0YT1haXJxdWFsaXR5LCBzaXplPUkoMSksIGNvbG9yPU1vbnRoLFxuICAgICAgZ2VvbT1jKFwicG9pbnRcIiwgXCJzbW9vdGhcIikpIn0=
修改坐标轴,添加标题:
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5cbmFpcnF1YWxpdHkkTW9udGg8LWFzLmZhY3RvcihhaXJxdWFsaXR5JE1vbnRoKVxuXG5xcGxvdChXaW5kLCBUZW1wLCBkYXRhPWFpcnF1YWxpdHksIHNpemU9SSgxKSwgY29sb3I9TW9udGgsXG4gICAgICBnZW9tPWMoXCJwb2ludFwiLCBcInNtb290aFwiKSxcbiAgICAgIHhsYWI9XCJ3aW5kIChtcGgpXCIsIHlsYWI9XCJUZW1wXCIsXG4gICAgICBtYWluPVwid2luZCB2cy4gdGVtcFwiKSJ9
加入“面”这个参数
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5haXJxdWFsaXR5JE1vbnRoPC1hcy5mYWN0b3IoYWlycXVhbGl0eSRNb250aClcblxucXBsb3QoV2luZCwgVGVtcCwgZGF0YT1haXJxdWFsaXR5LCBzaXplPUkoMSksXG4gICAgICBnZW9tPWMoXCJwb2ludFwiLCBcInNtb290aFwiKSxcbiAgICAgIHhsYWI9XCJ3aW5kIChtcGgpXCIsIHlsYWI9XCJUZW1wXCIsXG4gICAgICBtYWluPVwid2luZCB2cy4gdGVtcFwiLFxuICAgICAgZmFjZXRzID0gTW9udGh+LikifQ==
为风速这一变量绘制密度曲线
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5xcGxvdChXaW5kLCBkYXRhPWFpcnF1YWxpdHksIGdlb209XCJkZW5zaXR5XCIpXG5cbiMgYnkgbW9udGg6XG5xcGxvdChkYXRhPWFpcnF1YWxpdHksIFdpbmQsIGdlb209XCJkZW5zaXR5XCIsXG4gICAgICBjb2xvcj1mYWN0b3IoTW9udGgpKSJ9
ggplot()
为什么要使用ggplot()
用户能在更抽象层面上控制图形,使创造性绘图更容易
采用图层的设计方式,有利于结构化思维
图形美观
ggplot() 的基本概念
- 数据(Data)和映射(Mapping)
- 标度(Scale)
- 几何对象(Geometric)
- 统计变换(Statistics)
- 坐标系统(Coordinate)
- 图层(Layer)
分面(Facet)
aes() 美学映射:
aes是aesthetic mapping的缩写,也即“美学映射”。文档里对aes是这么描述的: Generate aesthetic mappings that describe how variables in the data are mapped to visual properties (aesthetics) of geoms.
也就是aes是把数据映射到可见属性的函数,这些属性包括图像的横坐标,纵坐标,颜色,大小等。
将数据中的变量映射到图形美学属性。美学映射控制了二者之间的关系。
标度负责控制映射后图形属性的显示方式。具体形式 上来看是图例和坐标刻度。Scale和Mapping是紧密相 关的概念。
几何对象代表我们在图中实际看到的图形元素,如点、 线、多边形等。
对原始数据进行某种计算,例如对二元散点图加上一 条回归线。
坐标系统控制坐标轴幵影响所有图形元素,坐标轴可 以进行变换以满足不同的需要。
数据、映射、几何对象、统计变换等构成一个图层。 图层可以允许用户一步步的构建图形,方便单独对图 层进行修改。
分面(Facet)
- 条件绘图,将数据按某种方式分组,然后分别绘图。
分面就是控制分组绘图的方法和排列形式。
常用图形
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5zdHIobXBnKSJ9
底层画布:
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5cbmdncGxvdChkYXRhPW1wZywgbWFwcGluZz1hZXMoeD1jdHksIHk9aHd5KSlcblxuIyBFcXVhbCBleHByZXNzaW9uOlxuZ2dwbG90KG1wZywgYWVzKHg9Y3R5LCB5PWh3eSkpIn0=
散点图
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXBnLCBhZXMoeD1jdHksIHk9aHd5KSkgKyBcbiAgZ2VvbV9wb2ludCgpIn0=
- 将年份映射到颜色属性
- 将底层画布存储成p,方便后面引用
- 添加平滑曲线
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5wIDwtIGdncGxvdChtcGcsYWVzKHg9Y3R5LCB5PWh3eSwgY29sb3VyPWZhY3Rvcih5ZWFyKSkpXG5cbnAgKyBnZW9tX3BvaW50KCkrIFxuICBzdGF0X3Ntb290aCgpIn0=
通过改变图形透明度和错位来展示数据密度,重合的点
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5wIDwtIGdncGxvdChtcGcsYWVzKHg9Y3R5LCB5PWh3eSwgY29sb3VyPWZhY3Rvcih5ZWFyKSkpXG5cbnAgKyBnZW9tX3BvaW50KGFscGhhPTAuNCwgcG9zaXRpb24gPSBcImppdHRlclwiKSsgXG4gIHN0YXRfc21vb3RoKCkifQ==
用坐标控制图形显示的范围,相当于局部放大
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5wIDwtIGdncGxvdChtcGcsYWVzKHg9Y3R5LCB5PWh3eSwgY29sb3VyPWZhY3Rvcih5ZWFyKSkpXG5cbnAgKyBnZW9tX3BvaW50KGFscGhhPTAuNCxwb3NpdGlvbiA9IFwiaml0dGVyXCIpKyBcbiAgc3RhdF9zbW9vdGgoKStcbiAgY29vcmRfY2FydGVzaWFuKHhsaW0gPSBjKDE1LCAyNSkseWxpbT1jKDE1LDQwKSkifQ==
用坐标控制图形显示的范围, 按年份分面板显示,逃离扁平
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5wIDwtIGdncGxvdChtcGcsYWVzKHg9Y3R5LCB5PWh3eSwgY29sb3VyPWZhY3Rvcih5ZWFyKSkpXG5cbnAgKyBnZW9tX3BvaW50KGFscGhhPTAuNCxwb3NpdGlvbiA9IFwiaml0dGVyXCIpKyBcbiAgc3RhdF9zbW9vdGgoKStcbiAgY29vcmRfY2FydGVzaWFuKHhsaW0gPSBjKDE1LCAyNSkseWxpbT1jKDE1LDQwKSkrXG4gIGZhY2V0X3dyYXAofiB5ZWFyLG5jb2w9MSkifQ==
添加标题,横轴与纵轴,使作图更清晰易懂:
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5wIDwtIGdncGxvdChtcGcsYWVzKHg9Y3R5LCB5PWh3eSwgY29sb3VyPWZhY3Rvcih5ZWFyKSkpXG5cbnAgKyBnZW9tX3BvaW50KGFscGhhPTAuNCxwb3NpdGlvbiA9IFwiaml0dGVyXCIpKyBcbiAgc3RhdF9zbW9vdGgoKStcbiAgY29vcmRfY2FydGVzaWFuKHhsaW0gPSBjKDE1LCAyNSkseWxpbT1jKDE1LDQwKSkrXG4gIGZhY2V0X3dyYXAofiB5ZWFyLG5jb2w9MSkrXG4gIGdndGl0bGUoXCJNaWxlcyBQZXIgR2FsbG9uIG9mIERpZmZlcmVudCBEaXNwbGFjZW1lbnRzXCIpK1xuICB4bGFiKFwibXBnIGluIGNpdHlcIikrXG4gIHlsYWIoXCJtcGcgYXQgaGlnaHdheVwiKSJ9
直方图(连续性变量)
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5wIDwtIGdncGxvdChtcGcsYWVzKGh3eSkpIFxuXG5wICsgZ2VvbV9oaXN0b2dyYW0oKSJ9
改进:
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5wIDwtIGdncGxvdChtcGcsYWVzKGh3eSkpIFxuXG5wICsgZ2VvbV9oaXN0b2dyYW0oY29sb3I9XCJibGFja1wiLCBmaWxsPVwicmVkXCIpIn0=
调整直方的宽度为2
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5wIDwtIGdncGxvdChtcGcsYWVzKGh3eSkpIFxuXG5wICsgZ2VvbV9oaXN0b2dyYW0oY29sb3I9XCJibGFja1wiLCBmaWxsPVwicmVkXCIsIGJpbndpZHRoPTIpIn0=
添加平均值的竖线
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5wIDwtIGdncGxvdChtcGcsYWVzKGh3eSkpIFxuXG5wICsgZ2VvbV9oaXN0b2dyYW0oY29sb3I9XCJibGFja1wiLCBmaWxsPVwicmVkXCIsIGJpbndpZHRoPTIpK1xuICBnZW9tX3ZsaW5lKGFlcyh4aW50ZXJjZXB0PW1lYW4oaHd5KSksXG4gICAgICAgICAgICBjb2xvcj1cImJsdWVcIiwgbGluZXR5cGU9XCJkYXNoZWRcIiwgc2l6ZT0xKSJ9
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5cbnAgPC0gZ2dwbG90KG1wZyxhZXMoaHd5LCBjb2xvcj1mYWN0b3IoeWVhcikpKSBcblxucCArIGdlb21faGlzdG9ncmFtKGJpbndpZHRoPTIpK1xuICBnZW9tX3ZsaW5lKGFlcyh4aW50ZXJjZXB0PW1lYW4oaHd5KSksXG4gICAgICAgICAgICBjb2xvcj1cImJsdWVcIiwgbGluZXR5cGU9XCJkYXNoZWRcIiwgc2l6ZT0xKStcbiAgICB0aGVtZShsZWdlbmQucG9zaXRpb249XCJ0b3BcIikifQ==
条形图 (分类变量)
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5cbmdncGxvdChtcGcsIGFlcyh4PWNsYXNzKSkrXG4gIGdlb21fYmFyKCkifQ==
- 根据年份分别绘制条形图
- position控制位置调整方式
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5cbmdncGxvdChtcGcsIGFlcyhjbGFzcyxmaWxsPWZhY3Rvcih5ZWFyKSkpKyBcbiAgZ2VvbV9iYXIocG9zaXRpb249J2lkZW50aXR5JyxhbHBoYT0wLjUpIn0=
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5cbmdncGxvdChtcGcsIGFlcyhjbGFzcyxmaWxsPWZhY3Rvcih5ZWFyKSkpKyBcbiAgZ2VvbV9iYXIocG9zaXRpb249J2RvZGdlJykifQ==
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5cbmdncGxvdChtcGcsIGFlcyhjbGFzcyxmaWxsPWZhY3Rvcih5ZWFyKSkpKyBcbiAgZ2VvbV9iYXIocG9zaXRpb249J3N0YWNrJykifQ==
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5cbmdncGxvdChtcGcsIGFlcyhjbGFzcyxmaWxsPWZhY3Rvcih5ZWFyKSkpKyBcbiAgZ2VvbV9iYXIocG9zaXRpb249J2ZpbGwnKSJ9
- 绘制柱状图,在
aes()
里使用fill
的选项,显示不同车型class
的数量
- 一次性绘制两个(上下)面板,按年份
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXBnLCBhZXMoY2xhc3MsZmlsbD1jbGFzcykpKyBcbiAgZ2VvbV9iYXIoKStcbiAgZmFjZXRfd3JhcCh+eWVhcixuY29sPTEpIn0=
给每一个车型做数量的箱线图
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXBnLCBhZXMoY2xhc3MsaHd5LGZpbGw9Y2xhc3MpKSArXG4gIGdlb21fYm94cGxvdCgpIn0=
饼图
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXBnLCBhZXMoeCA9IGZhY3RvcigxKSwgZmlsbCA9IGZhY3RvcihjbGFzcykpKSArIFxuICBnZW9tX2Jhcih3aWR0aCA9IDEpICsgXG4gIGNvb3JkX3BvbGFyKHRoZXRhID0gXCJ5XCIpIn0=
总结:
有明确的起始(以ggplot函数开始)与终止(一句语句一幅图)
图层之间的叠加是靠“+”号实现的,越后面其图层越高。
ggplot2的核心理念是将绘图与数据分离,数据相关的绘图与数据无关的绘图分离
ggplot2是按图层作图
ggplot2保有命令式作图的调整函数,使其更具灵活性
ggplot2将常见的统计变换融入到了绘图中。
ggplot()作图练习
使用R自带数据集 mtcars
绘制以下图形:
散点图:x = wt, y = disp
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QoKSIsInNvbHV0aW9uIjoibGlicmFyeShnZ3Bsb3QyKVxuZ2dwbG90KG10Y2FycywgYWVzKHggPSB3dCwgeSA9IGRpc3ApKSArXG4gIGdlb21fcG9pbnQoKSJ9
散点图:x = wt, y = mpg, 用颜色区分不同气缸数量的车
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXRjYXJzKSIsInNvbHV0aW9uIjoibGlicmFyeShnZ3Bsb3QyKVxuZ2dwbG90KG10Y2FycywgYWVzKHggPSB3dCwgeSA9IG1wZywgY29sID0gZmFjdG9yKGN5bCkpKSArXG4gIGdlb21fcG9pbnQoKSJ9
添加平滑曲线
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXRjYXJzKSIsInNvbHV0aW9uIjoibGlicmFyeShnZ3Bsb3QyKVxuZ2dwbG90KG10Y2FycywgYWVzKHggPSB3dCwgeSA9IG1wZykpICtcbiAgZ2VvbV9wb2ludCgpK1xuICBnZW9tX3Ntb290aCgpIn0=
在上图基础上,修改
xlab
,
ylab
的名称并添加标题
relationship between weights and mpg
petal`:
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QoKSIsInNvbHV0aW9uIjoibGlicmFyeShnZ3Bsb3QyKVxuZ2dwbG90KG10Y2FycywgYWVzKHggPSB3dCwgeSA9IG1wZykpICtcbiAgZ2VvbV9wb2ludCgpK1xuICBnZW9tX3Ntb290aCgpK1xuICB4bGFiKFwiY2FyIHdlaWdodHNcIikrXG4gIHlsYWIoXCJtaWxlcyBwZXIgZ2FsbG9uXCIpK1xuICBnZ3RpdGxlKFwicmVsYXRpb25zaGlwIGJldHdlZW4gd2VpZ2h0cyBhbmQgbXBnXCIpIn0=
直方图(频率)
mpg
:
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG4jIiwic29sdXRpb24iOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXRjYXJzLCBhZXMoeCA9IG1wZykpICtcbiAgZ2VvbV9oaXN0b2dyYW0oKSJ9
直方图(频率)
mpg
,改变直方宽度为3:
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpIiwic29sdXRpb24iOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXRjYXJzLCBhZXMoeCA9IG1wZykpICtcbiAgZ2VvbV9oaXN0b2dyYW0oYmlud2lkdGggPSAzKSJ9
直方图(频率)
mpg
,添加黑色边框,填充绿色, 注意是在geom_histogram里面进行
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiIjXG5saWJyYXJ5KGdncGxvdDIpIiwic29sdXRpb24iOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXRjYXJzLCBhZXMoeCA9IG1wZykpICtcbiAgZ2VvbV9oaXN0b2dyYW0oYmlud2lkdGggPSAzLCBjb2xvcj1cImJsYWNrXCIsIGZpbGw9XCJncmVlblwiKSJ9
使用geom_bar()绘制柱状图,调用position的三种不同参数。 绘制每一种气缸数量里手动挡与自动挡(变量
am
)的数量的直方图:
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG4jIiwic29sdXRpb24iOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXRjYXJzLCBhZXMoeCA9IGZhY3RvcihjeWwpLCBmaWxsID0gZmFjdG9yKGFtKSkpK1xuICBnZW9tX2JhcigpIn0=
修改上面的图,从叠加改为并列直方图
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG4jIiwic29sdXRpb24iOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXRjYXJzLCBhZXMoeCA9IGZhY3RvcihjeWwpLCBmaWxsID0gZmFjdG9yKGFtKSkpK1xuICBnZW9tX2Jhcihwb3NpdGlvbiA9IFwiZG9kZ2VcIikgIn0=
修改上面的图,从手动挡自动挡的数量,改为二者的比例
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KGdncGxvdDIpXG4jIiwic29sdXRpb24iOiJsaWJyYXJ5KGdncGxvdDIpXG5nZ3Bsb3QobXRjYXJzLCBhZXMoeCA9IGZhY3RvcihjeWwpLCBmaWxsID0gZmFjdG9yKGFtKSkpK1xuICBnZW9tX2Jhcihwb3NpdGlvbj1cImZpbGxcIikifQ==
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KHJlYWR4bClcbnN1cGVyc3RvcmU8LXJlYWQuY3N2KFwiaHR0cHM6Ly93d3cuZHJvcGJveC5jb20vcy81aHpubG96dXl1dmZxMmsvU3VwZXJzdG9yZV9vcmRlcnMuY3N2P2RsPTFcIikifQ==
eyJsYW5ndWFnZSI6InIiLCJzYW1wbGUiOiJsaWJyYXJ5KHJlYWR4bClcbnN1cGVyc3RvcmU8LXJlYWRfZXhjZWwoXCJTdXBlcnN0b3JlLnhsc1wiLHNoZWV0PTEpIn0=