使用Altair生成带有分类变量的绘图的实用程序。

altair-catplot的Python项目详细描述



Altair Catplot

使用Altair生成方框图、抖动图和ECDF的实用程序,即,需要Altair中未包含的数据转换的带有分类变量的绘图。


\r动机

[Altair](https://altair-viz.github.io)是[vega lite]的Python接口(http://vega.github.io/vega lite)。生成的图很容易在jupyterlab中显示和/或导出。织女星的语法主要存在于牛郎星是明确的,有充分的记录,并清楚。这是Altair和Vega Lite的许多强大功能之一。

使用高级绘图库时,总是有一个折衷方案。您可以快速绘制绘图,但它们不太可配置。Altair的开发人员(在我看来,是明智的)坚持了Vega Lite的语法。如果vega lite没有功能,Altair不会尝试添加它。

vega lite的开发人员有一个[有计划添加更多功能](https://github.com/vega/vega lite/pull/4096/files)。事实上,在即将发布的(截至2018年8月23日)Vega Lite 3.0中,包含了方块图。还计划添加抖动变换。这将是有用的,能够方便地作出抖动和盒状图与目前的特点织女星lite和牛郎星。我编写了Altair Catplot来填补这一空白,直到该功能在Vega Lite和Altair中实现。

所以,我们用一个分类变量和一个定量变量来绘制图。因此命名为Altair Catplot.

安装

您可以使用PIP安装Altair Catplot。您需要安装最新版本的Altair及其所有依赖项。


np
将熊猫导入为pd

将牛郎星导入为alt
将牛郎星catplot导入为altcat
````

>每个绘图都是使用"altcat.catplot()"函数生成的。它具有以下调用签名。

`` python
catplot(data=none,
height=undefined,
width=undefined,
mark=undefined,
encoding=undefined,
transform=none,
sort=undefined,
jitter=0.2,
框标记=未定义,
须标记=未定义,
框覆盖=false,
**kwargs)
````

必须提供"data"、"mark"、"encoding"和"transform"参数。"data"、"mark"和"encoding"字段与"alt.chart()"相同。注意,这些是作为构造函数属性指定的,而不是像您使用Altair更惯用的方法(如"mark_point()"、"encode()")等那样。在这个包中,我认为box plot、jitter plot或ecdf是数据的转换,因为它们是通过对数据执行某种聚合转换来构造的。盒子图除外,因为在Vega Lite 3.0+的盒子图规范中,"盒子图"是一个标记。

绘图。


`` python
np.random.seed(4288233)


data={data'+str(i):np.random.normal(*musig,size=50)
对于i,musig in enumerate(zip([0,1,2,3],[1,1,2,3])}

df['dummy metadata']=np.random.choice(['poodle','beagle','collie','dalmation','terrier'],
size=len(df))

````


<;div>;
<;table border="1"class="dataframe">;
<;thead>;
<;tr style="text-对齐:右;">;
<;th>;
<;th>;变量<;/th>;
<;th>;值<;/th>;
<;th>;虚拟元数据<;/th>;
<;/tr>;
<;/thead>;
<;tbody>;
<;tr>;
<;th>;0<;th>;
<;lt;td>;数据0<;lt;lt;lt;td>;1.9809946<;lt;td>;
<;lt;td>;lt;lt;td>;lt;gt;lt;lt;gt;lt;lt;lt;lt;lt;lt;lt;lt;gt;lt;lt;lt;lt;gt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;gt;lt;lt;lt;lt;gt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt/><;td>;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;gt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt th>;
<;数据0<;数据0<;
><;td>;-0.233622<;
<;lt;td>;
<;lt;td>;
<;lt;lt;lt;lt;lt;lt;td>;
<;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;gt;
>;数据0<;
>;数据0<;lt;td>;
><;lt;td>;-0.799315<;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt>;延迟<;td>;
<;/tr&&&&&&&&&&d;&<;/table<;//>>>>>>>>>>>>>>>>>>>>>>>>分类变量为``````````变量为plot`变量为les`变量为le``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````请注意,标记是一个字符串,指定了一个方框图(Altair将在以后使用),编码被指定为一个键-值对字典。y=alt.y('variable:n','title=none',
color=alt.color('variable:n','legend=none)





[png](images /output were found in the 10.u u.png ====================================>>>>>If this box is reprodureproduced in the future editions of Altair after Vega -Lite 3.0 is formally released as follows.
br _>_>_>>br _>>>>__>___br________________>t t t t >MarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkeMarkey =alt.Y (variable:N',title=none,
color=alt.color('variable:n,legend=none)



具体来说,胡须是黑色的,没有帽子,盒子更薄。你可以去看看[这里](https://vega.github.io/editor/www/www/url/vega-lite/n4kabbgbedb2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b23fzzwai1qxcgzgazwaas5aewbv5bvvbwbwbwqfbx0qqjl4cgzfyjl4c0qqqqqqqlqql5vwwwwwwwwwbqqqqqmao7gqmao7gqqqqqqqqmaos+kokjjjjmyyyzqmaoqmaos+kokjjjjjjjmyyy1nao1naoll44exsw+fohboqoGAEZDXJBMFU6RTVD1A型7VVVVVVVVVVVVVVVVVVVVVVZ7JVFLN1J3KZZZ3JWWWWWZUSP-NSGBUQZZIMTTU1HSJZMRMZMZMN7JJWWWWWWWWZ7VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRKXOQYLR8OSR1VI7YCTWZLC6WBSBEE0XDU46FK+IIA1JVJBUQ型QWB03WWJMJC+VSFCJXHMRVmVmH7H87HCC4Li4Li4YQ9TQingKA-WG9NM7YHZHO+SOGMEAK+QWRSMNHR9AM+QWWW3MIWCI+SQQQABOH0MG7JYN43VBAWXA29VP7RZ+02C9RXDHH9RXDHH9RK9JDENJ3JMK7AI+ZINHO-TPCIZZX495B5BHQQQ4ZVVU7CU7Q5BHQQQQ4ZVVVVV777CU0RBW7CU0WB9I-JKKW9I-JKKKKXXXXXXXXXY9W9Wxxj+9iiobwzqmhu4yfreeujhrdyjktjws4koyjvhjtroheuboznay7e号B64JGKKKKKKKKKKKKKKKKKGKJGKJGKJJGKJJJJGKJJJJGKJJJJJJJJGKVVVVVVVVVVVVVVVVVVVVVVVVVVV9PGRXXHXHXHXHXXXXXXXXXXXXXXXXXXXXXYWWKGJGGGU5FL4VKKMXXXXXXXXXXXVVVVVJVVVVVJVVVJVVVJJVVVVJVVVVVVVVVJVVVVVVVVVVVVVVVVVVVVVV3SFPW0U9PIVVJFR9PZ3FDVL92型0+-LHE5ZW2D+4OSSIS6RMMCP-ZrJU0FDH57S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S6B7B7B7B5B5B5B5B5B5B5B5B5B5B5B5B5B7B5B6B7B7L5B5B5S5ZW5B5S5S5S5ZW5B5S6Z5B5ZW5W5ZW5ZW5ZW5ZW5ZW5ZW5ZW5B5D5B5D5D5S5B5S5D5B5B5Z5Z5Z5Z5Z5Z5Z5Z5XGLP-Z5KC9DIJSDCQLSODKTBYLKDA5BJ型FKJ5COHA8CAZQY3DJ73+P9W型D4J6DVUWXQ+D4KJ6YJ6FDCE2T7QDGCZCBD4JYEZXXXXXB8+N9HVNXB+4XGXK149XK149O9OL2GVVVVWWWWZVVVVVWWWWWW9YYLYLYLLYLYLYLYLYLYLYLYLLYLLYLYLZZ5D5DG6G6G6G6RYL8ZWW5WW2YLYL70YLYLYLYLYLYLYLYLYLYTRBQBQBQBQBQBQBQBQBQBQBQBQBQBQBQBQBQBQBx1fx00dgdouljizwcmub84xphwocmy+h18KfMNQVSZ4415KfVmOQD33O4FGS85GGJGJGJGJGJGJGJGJGJGJWWWWWWWWWWJJM64WYJJJJRGWWWWWJJJJJJWWWWWWWWWJJJJJJJWWWWWWWWJWJJJJJJWWWWWWWJWJWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW香港电视台+I3Epsubihyivfpudu1bkp5ZZZZWWWUJUUUUUUQ5BZZZWWWWUJUKKKKKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKWKW2VUO8OP6T4JKUMHGCQ35PR0PJS4JI型-Lmbllllllllllllllxvvvvvvvvvvkk4e4bkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvy5555S1FY5ZZZ8Q8QQ8QQ8QQ8QQ7ZPBG3D7777ZTBBBB77JWfywfywwwwfypzgoD777JW7JW7JWfywqCCSQX6TJJRBEEHSEA8MFO型我++gokw15+xdCrVJ2mU6TZ4LJYQOi0XZ4LG5GGWW8ZW7ZW8ZW8ZW8ZW8ZW8ZW7ZW8ZW7ZW7B+GWW6GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGKGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGQtyvfzkrrxigp9a2wzhzvrpmtdpf+o7d3tudcen0c4s3vysg+3个NZPM1YJT9MMATUW+UBEB2ZapndhmteexNNNYSZC+1VS6-Y0MIKN6G7LY7UW5O+XKQPMU3PH+RWonPSH2OX2LZZTZTZ5YG6G6G7G7UW5O+XKQPM12U3PH+XKQPM12U5PH+WWZZZG7W5YZZZW7ZZW5YU5U5U5U5U5U5U5U5U5U5U5U5U5U5U5U5U5U5U5U5L7U5U5U5PH+WZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZAPJKBYA9JSS0M6xfxyt3dr0btuefpfip1dcjwqrhwtfdq3buy80au2mp公司项目7BYNBFA9F-H4LZKNKNKN04W0Q+-PWO+-PWO+CZPPCXECVWWJQABBF-52V0F9FEZ6GDI0IZ2DEHPT2-B-SBCWBXUWLT61+HQV4-L3W7TZW+L3B7TDSKL1JBINWP++NFPMYW6BWWW6W7W7W7TZW+L3B7TZL7TZL7TZLL7TZLLLL7TZWB7W7WW7WW7W7W7WW7W7W7WW7W7W7W7WW7W7TZW7W7W7W7WWWWWW7W7OMB7knkfsbace9s4owb1g8oroo8bgeedwc0sqgbvoioti1iz2psvctbqed+fw76CNAYO6CNAYO6CN08QB+XO4UN+2+WB5WBGOKKM36QQQQQQ6NE8BCVWWWWWWXUJWCO+HVM7+LughZB7QQQ0iublyrS1W-B9EMHNQZG6G7A8OCZG7G7A8Oci提+PhjarO70FYHCBPBLIHMPMGYYHSQB7BYYYXXX6CNA8QG8EUHJG8EUHJG8EUHHH0YQ8VO1Mou4MouaRH+erhuZUZHTWRSCWWWWWWWWWWWWWWWWWWKRKRBHBHBBBBXecoqwyrvsc43eacpqpo8otwbgexhspynieglb1w5R0SZJR5R0SZWALWWUUXQEDOWUUUXQRVRcyXM1G8EMCM+MOLX-RWIDKOS9WZ66AAAI90Z0R7GZGGZGQQBHMHQHCNM5X-EVX1UVYVYGWWW9WZ66AAAAAAAAAAA9GW9GW9GW9GWWWW9WWW9WZWUWUWUXWUUUUUUUXWUUXWUXWUXWUUUUUUUUUUUUXVRcyXVRcyX1G88XMCM+MoLX-RWX-RWX-RWUW9WW9WWWWW9WWgzgdk2jkpsi-oyocyawn04kxcopypbyzhxspi2ccke型HSBGMZZJO+KFOAISQ5MSSQ5SQ5SQ5SQ5SQ5SQ5SQ5SQ5JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJZZZZZZZZZZZZJJJJJJJJJJZZZZZZZZZZZZZZZZZZZZJV9RF2+HX4X40VVFKMAEBWWWZQQQQ6MYGZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZH7KW2CCEU66+HSKCZRZKYYGRB5AVCGRRWD5J型+8O3YHZ+IAPLUCP8QFT+XMVUHSEKOHWZOWZOWZOWZHWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWQWW0mc+e1iskc5bze5e+le pfszctwyvhsr电话JJ7JJJ7YYYKKAAYLZQQW4KW4KW4KW4KW6VVQ+81J2E6VVQ+81J2E6KW4KW4KW4KW4KW4KW4KW4KW4KW4KW4KW4KW6VVQ+81J2E6KW5E6GGGGQQQQQQQQQQQQQQQQQQQKQQQQQE0KKQQQQQQE0KKW0KGGGW0GQWAA4AAA4AAAA8ASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVV6AFVFWAANC-UZV4BA型cfaadweg-gsa-1l1w1taiakqaa)。

box plots是唯一的,因为它们是用标记而不是转换指定的,所以我们可以使用上面的"mark"参数指定box plot。我们可以用"transform"参数来做。(请注意,在Altair中实现box plot时,这是不可能的。)



``python
box=altcat.catplot(df,
encoding=dict(y=alt.y('variable:n',title=none),
x='value:q',
color=alt.color('variable:n',legend=none)),
transform='box')
box
`````





![png](images/output_12_0.png)





``python
``type(box)
````






Altair.Vegalite.v2.api.layerchart




我们可以使用"box撸mark"和"须撸mark"单独指定框和须标记的属性。例如,假设我们希望我们的颜色是[betancourt red](https://betanalpha.github.io/assets/case-studies/principled戋bayesian戋workflow.html戋step戋u four:戋build戋a戋generative戋model19)。


``python
altcat.catplot(df,
mark=dict(type='point',color=''7c0000'),
框标记=dict(color=''7c0000'),
须标记=dict(strokewidth=2,color=''7c0000'),
编码=dict(x='value:q',
y=alt.y('variable:n',title=none)),
转换='box')
`````





![png](images/output_15_0.png)





为此,条形图是显示所有测量值的有用方法。这是在牵牛星上绘制条带图的一种方法。


``python
alt.chart(df
)。标记勾号(
)。编码(
x='value:q',
y=alt.y('variable:n',title=n one),
color=alt.color('variable:n',legend=none)
````








![png](images/output_17_0.png)






条形图的问题在于它们可能会遇到数据点重叠的问题。处理这个问题的一个常用方法是"抖动",或者沿分类轴放置具有小的随机位移的字形。这涉及到使用抖动变换。虽然目前的Vega Lite 3.0候选版本具有方框图功能,但它没有抖动转换,尽管将来可能会有抖动转换(请参见[此处](https://github.com/vega/vega-lite/issues/396)和[此处](https://github.com/vega/vega lite/pull/4096/files))。在数据点偏移的地方进行适当的转换,但是分类轴确实需要名义值或序数值,但目前不可能。这里的抖动图是一个黑客,其中的轴是定量的和勾号标签和实际仔细放置的文本。这意味着,如果尝试与抖动图交互,"轴标签"将被破坏。尽管如此,工具提示仍然有效。


`` python
jitter=altcat.catplot(df,
height=250,
width=450,
mark='point',
encoding=dict(y=alt.y('variable:n',title=none),
x='value:q',
color=alt.color('variable:n',legend=none),
tooltip=alt.tooltip(['dummy metadata:n',title='breed'),
变换='jitter')
抖动
````







![png](images/output_19_0.png)







encoding=dict(y=alt.y('variable:n',title=none),
x='value:q',
color=alt.color('dummy metadata:n',title='breed'),
transform='jitter')
`````





![png](images/output_21_0.png)





\我们可以(在Vega Lite 3.0中)制作一个strip-box图,其中我们有一个覆盖在box图上的条带图。在将来,您可以使用altais如下生成它。

`` python
strip=alt.chart(df
).标记点(
opacity=0.3
).编码(
x='value:q',
y=alt.y('variable:n',title=none),
color=alt.color('variable:n',,图例=无)



box=alt.chart(df
)。标记方框图(
color=-lightgray'
)。编码(
x=-value:q',
y=alt.y('variable:n',标题=无)



box+strip
````

[这里](https://vega.github.io/editor////url/vega-lite/n4kabbgabeakdodgalapggagagagagagagagagagagagagagaqqfwwwb6ugn2q0a6agz0qqqqqa1lquaqaqaqaqaqaqaqaqaqa6bqaqa2g1bqaqaqc2bqcqc2bqcqc2bqc2bqc5cWuj-Gdmbudw7aamlgyaln56eac+elg+elg+uihoooooiwwwwwwwwwwwwwwwwwwwwwwwwwwwFGMSQKGANMCOA公司在中国,买东西是买东西是买东西的,买东西是买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是买东西的,买东西是9B6HMGNLG02GOPJBKWM2HGJMTI1Got6S7E4X型FOFOFOFOFOKPE+XSIK1UXB0MGPMRLL+NL+C1WS082GJQDSZDOAGQQTN-HMFMR50 UKJSKUN6XLGHVOJVOJVOXQ0DPYYWX2ZVDMYRF-ZS5UXXBWAQN5OUEQPIWCH+M1-7OSOSSS0x9SQQQQ5D5DZZZBWWWWQQN5O555ZQQQQQQ5D5DQQQQQQQQQQQQQ5DZZYWGWGVWWWWWW4BMA7RVA7XTA4-IIT2-IIT2VB9P+IGHHQV9P+IGHHHHQQQQQQQQQhhke7ppbcbtkmozkkhetq6k+jfovg7kfuxugdoiKZJGJGMSEUTMRXXFRRSKC0JN0B9EKK6WG6WG6WG6LKG8LKG8LKG8G6VWWWWZKF1KWWZKF1KF1KWWZKF1KWWWWZKF1KKWW3CWW3CWWW3CWW3CW3CWW3CW3CW3CW3CW3CW3CW3CW3CWW3CW3CW3CW3CW3CW3CW3CW3CWW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3CW3C5ar1ak01mlnigvqwkhujuralh44撬DZZZZQ+Z3KWZZ4FTZZZZZZZZ12D2D2D2DDELWFXT33BRD39VJSGGGG6ILQWUDS5DRCGK6VB12ZT4JFZZZZZC4JQM6P-FPF0BQCVCVRNNIKTD1AV9RT7LFZH2C9TWVHKM01GW5O1YJ4VVZZZZZZZZZZZ9TW9TWWWWK9TWWWWZ5W4VVVZZZZZZZZZZZZZ99L755VVVZZZZZZZZZZZZZZZZ111Y4+IHQQQQQ6Y6Y6Y6Y6Y6EZZZZZksczjthb4eyfumdndm5z++ddj2k0y86htulcfrfubll5QQQQB35RSVN5AE2XXm8CE7MPJW8P8P6C4O9YB89VM87B9Vm9Vm9Vm9Vm8Wm8Vm8Vm8Wm9Wm8Vm8Vm8Wm8Wm8Vm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Vm8Vm8Vm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Wm8Rm8Wm8Wm8Wm8Wm8Wm8Wm8WmWm8WmWmWmWmWmW-QWD0GCNBFGKRN24CVKDKGEZ7H3FOCZJ6YSXRB型3.34 BVRYQT3777LZ8NL2JZ8NL2JZ8NL2J0XPZQQ4M5QQQQQQQLZ5LZZ7LZ7KNNNXOJNXOJNX7KNXNXOJEKY4Q-VVKWWWWWWKJKPMVVPHPI94LGWWWWWWWWWKVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV7LZZZ7LZZZZ7LWWWWWWWWWWWZJJJJJJJJJYLRRRFFFFFFFFFFFFFFFFFFFFFFFm8pasxizmmqksrgjrwjokmmoxmpqrwzwthqFBDMT4FBFMZ1GF81PNEGQOMC-IC8MREDUNIS+QNSZ5DQDZ5DQDC96NCTBAUWE8PHYRJGGSGHBS+TQEWICZBT7L7L7IRF0ML2NXF8A8LWWW8LWWWWWW8LWWW6LW6L8L8LW8LW8LW8LW8LW8L8LW8L8L8L8L8L8L8L8L8L8L6L6L6L6L6L6L6L6L6L6L6L6L6L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L78mmymm8orry1flkuapdsjoojwxxdu1jk型4ZKKKKKKKKKKKKKKKKKKKKKKKKKKLLKLLJT5C6J+Dx55QCC1CcCdWWZCd9qcCd9qcCd9qcCd9qcCdXWWWWcCdXWWcCdXWc9qCdXWc9WcCdWc9Wc9Wc5c5c5c5c5c5c5c5c5c5c5c5c5c9cWc9c9qCdXWc9c9qCdXWc9cCdXWcCdXWcWc9cWcCdWcWcWcWc9c9cWcWcWcWcWc953PAEMYGKXIVLGPVEYOHX92IRTM0x7UCT9+BfBfBfBfBfBfBfD8TDRJNU7ZXSAR7TIDAQGTXKBVSMFPUWP39QB-3ARRDBNAOU5VRVMBGD+如何看待7YLKJXDWJWWJRJRJRJRJRJRJRJRJRZ576KCX+KHRJRJRJRJRJNJM09HCNMXMXMXDM5JJJRJRJD5JJRJRJRJRZJRZJRZJRZJRZZJRZZZH2D2D2D2D2D2OWWWNZNZNZNZNZNZNZNZRXNZNZRZRZRZNZRZRZNZRZRs3d0zr86boou4yt1hvkhukywhwbtfffm1gn5AJQGXLHCS7Rp2YZCGXTIK9e0DVLG26o+d08ozexivrmskorl0woxv9be+dlbmmyiwwqtk6pyvrcfmw7i2wdxy+wlorshzbzdcm8cpti8tdz+dxa5vq4o+wwwocdgg4p+1va21lewwwwwwjtk3Wfk3wwwwwwwwfk88k8k8k8k8k8k8k8k8k8k8k8k8k8k8k8k8k8k8k8k8k8qqqqqqqvqvqvqvqvqvqvqvqvqqqqvqqv7o1xyoubhwvbizdogrhpb2eyn47k8ney6pdjaxtfhgIxu3ofbt3dsebj8tz7zuy61hkd-eky4qs+9r-73dcgrtb-nva4dbyjigaji9avopgvk9o0c59l2y6v4xlp4xf8894dw+ZZN1WKH-CCSFC9ZZZZZZZZZZZZZZZZZZQQ4JWQ4JWQQ4JW3JWW3JWW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3JW3W3JW9ZZZZZZZZJJW9ZZZZZZZZZJJJJJKW9ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZTJFDPBisvlgedjlqaflsnnhkkBudigyahxo0js公司世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界范围内的世界TBgffsn公司WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWFguax1sqccyxgcuhiintkteucjp-gflb型QQQQQQQQQUWJ-VKHXLDFS8OEMFISMSBZBZZQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQC8CSFSE7D-lhovpbkeaslujuxwy型GQZHF+TVWWWWWGQQQQQQQQQQQQQQQQQXXXXQXXXXX6VJJ6VJ6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6W6HMCSEVX7IVZPGQY3PADCJ3IQC0OZEWLM型当人们在工作时,也可以在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时,或者在工作时JYWIJBENACUFVKKSNJC公司当一个国家对一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家对另一个国家来说是一个国家来说是一个国家对另一-vndws8i8isjdlscvxxzpsxbt9V19V19V19V19VVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW0O1G6QRQ0+FIOBF4ESIHASOWRO4-WW9G6WBW0SA9WIQA666IZOEVR-QK6I2E41XY43BMDLZZZQGZN1B-QXCO2AFZ2BZZZ2BZZZZZZZZQQQQQQZZZZZZZQ2BZZ2BZZZ2BZZZZ2BZW6VZDENC+Z6ZZZZZZZZZZZZZZZZZZZZZGZZZZZZZZZZZ8WWMCQQQQQZZZZZWW6LZZZZZZGZUZUZUZUZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZH3Q3V03CFNQNCI20XHBNYC-NEDP-OEAVH3VCK8ZPVVHI型与之相关的4BBBC4BBC4BBC8CBC6BBC4BBC4BBC4BBC8CBC6BBC6BBC7CBC7CBC7CBC28YVZM29LHJK4+CJOKQ3+0WWW5VC+YYYC2KD5B5K5K5LK5LK5S5LK3S5L3S5S5L3S5L3S5S5L3S5L3S5KKK40K6K9G5W5V5VK6E4Q1SRU7S4N6N6L6H6R6R6MQC7BY7TBB7TID-NKB7B7B7B7B7B7BB7B7B4BBC4BBC7B7B7B7B3SE66ZK7QZYGM7S8+FKCY+BB3LVRGWBBBE型准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔准噶尔NBNATBTADBDA9B9CEGQDIAAGCBCMAACMA4COQAAEGH94UAX公司GYGYGYGYGYGYGYGYGYGWWWQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQWO2VYFWFX1HLX-X4J4JWGWWWKGWWWGWWWWGWWWWWWGWWWWWWWGWWWGWWWWWWWWWWWGWWWWWWGWWWWWWGWWWWWWWGWWWWWWWGWWWWWWWGWWWWGWWWWWWGWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW咖啡馆skcxjddqdjfceqc1dacvszd6d-addiczc9cih9dwederd2cofebdcceddwdmabfnq-20hzf7lcdmerfajrd6awderba)。


条形图与条形图有相同的问题,可能有一点抖动。抖动-方框图由覆盖有方框图的抖动图组成。为什么不制作一个方框图和一个抖动图,然后使用牵牛星的巧妙组合功能来组合它们呢?刚刚描述过?我们不能这样做,因为方块图有一个真正的分类轴,但抖动图有一个黑客"分类"轴,这是真正的数量,所以我们不能叠加。我们可以试试。结果不太好。


`` python
box+jitter
````






![png](images/output_23_0.png)






盒子和胡须的默认颜色为浅灰色。


`` python
altcat.catplot(df,
高度=250,
宽度=450,
mark='point',
编码=dict(y=alt.y('variable:n',title=none),
x='value:q',
color=alt.color('variable:n',legend=none)),
transform='jitterbox')
`````







![png](images/output_25_0.png)






请注意,"标记"Kwarg适用于抖动图。如果我们想对盒子和胡须做规格说明,我们需要使用"盒子标记"和"胡须标记"分别指定它们,就像我们对盒子图所做的那样。请注意,如果指定了"框标记"和"须标记",并且其颜色未明确包含在规范中,则其颜色与抖动图的规范匹配。


`` python
altcat.catplot(df,
height=250,
width=450,
mark='point',
框标记=dict(strokeWidth=2,不透明度=0.5),
须标记=dict(strokeWidth=2,不透明度=0.5),
编码=dict(y=alt.y('variable:n',title=none),
x='value:q',
color=alt.color('variable:n',legend=none)),
transform='jitterbox')
````








![png](images/output_u0.png)





考虑一组测量值中的一个测量值*x*。在x*处计算的ecdf定义为

ecdf(*x*)=x*中≤*x*


要生成按类别着色的ecdf,我们使用"ecdf"转换。


``python
altcat.catplot(df,
mark='line',
encoding=dict(x='value:q',
color='variable:n'),
transform='ecdf')
`````







![png](images/output_29_0.png)






注意,这里我们选择将ecdf表示为一条线,这是绘制ecdf的更正式的方式。在不丢失信息的情况下,我们可以绘制出"步骤的角点",它代表了所做的实际测量。为此,我们将标记指定为"point"。


``python
altcat.catplot(df,
mark="point',
encoding=dict(x="value:q',
color="variable:n'),
transform="ecdf')
```





![png](images/output_31_0.png)






通过在包含ecdf的y值的数据帧中添加一列,可以很容易地直接使用pandas和altair绘制此类绘图。


`` python
df['ecdf']=df.groupby('variable')['value'].transform(lambda x:x.rank(method='first')/len(x))

alt.chart(df
)、mark_point(
)、encode(
x='value:q',
y='ecdf:q',
color='variable:n'
```





![png](images/output_33_0.png)






但是,在对ecdf进行正式的线条绘制时,这是不可能的。

相反,我们可以在所有测量值上显示ecdf,并用分类变量给点上色。我们使用"colored_ecdf"转换来实现这一点。


``python
altcat.catplot(df,
mark='point',
encoding=dict(x='value:q',
color='variable:n'),
转换='colored_cdf')
````






![png](images/output_u 35_0.png)





这被定义为

eccdf(*x*)=1-ecdf(*x*)。


在您希望eccdf轴具有对数刻度的情况下,在寻找类似幂律的行为时,这些通常很有用。


`` python
altcat.catplot(df,
mark='point',
encoding=dict(x='value:q',
y=alt.y('eccdf:q',scale=alt.scale(type='log'),
color='variable:n'),
transform='eccdf')
`````





![PNG](图像/输出_37_0.png)






欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java具有数量可变的参数,可以同时加载数量可变的图像   java应用程序在后台运行数小时后,当对象变量被系统破坏时,如何在应用程序类中保存对象变量   Java使用不带名称空间的XSD验证XML   关于在Play 2.2.1上安装死锁的java问题   字符串中的java字符串分隔符。分裂法   菜单中的java项不显示操作栏,而是在三个点中显示,没有任何图标   以int值作为键的java HashMap   java OpenAPIgeneratorEventPlugin身份验证查询参数未发送   java如何使用用户输入停止程序   java XIMA Formcycle图像预览问题   java Android登录MainActivity中的google   java Spring JPA@Query JPQL因“意外标记:日期”而失败   java如何将JTextField中的数据保存到mysql数据库中?   java jMonkeyEngine是否在网格内应用材质?   java传感器。键入旋转向量没有值?   java是一个从随机数序列中求值的简单算法吗?   java安卓8。x通知:当我的应用打开时,如何避免通过我的应用淡入/淡出通知?   java tomcat无法启动:严重:启动静态资源时出错   带有自定义列表的java Json操作警告