Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73af635be6 | ||
|
|
c1c97a5fc1 | ||
|
|
6a97dc8825 | ||
|
|
d832f34733 | ||
|
|
859a600b92 | ||
|
|
6b3cf50f38 | ||
|
|
3ccd1bc368 | ||
|
|
624d33b96f | ||
|
|
156f61f526 | ||
|
|
fd3a04fce3 | ||
|
|
62be4e1274 | ||
|
|
db096196c9 | ||
|
|
a0ac70be3c | ||
|
|
1f0f89f83c | ||
|
|
ee706ad8c7 | ||
|
|
ce31ea8bf3 | ||
|
|
dcab8e3ac2 | ||
|
|
1ad9a7e176 | ||
|
|
f1bd7ab1dc | ||
|
|
79399913d7 | ||
|
|
4a2e88a81c | ||
|
|
8d5b748b09 | ||
|
|
b2dba8af73 | ||
|
|
c258bc49c3 | ||
|
|
e3e2a354e7 | ||
|
|
32c1c31139 | ||
|
|
b8b5a33833 | ||
|
|
5407fa73f8 | ||
|
|
1cb0c0071b | ||
|
|
a456ac4c90 | ||
|
|
71b48427c5 | ||
|
|
ec06a01b6c | ||
|
|
e3ccc34a2c | ||
|
|
396721568f | ||
|
|
e53ab85745 | ||
|
|
4d99b37def | ||
|
|
2e24da3dcd | ||
|
|
0cc1bd2dc6 | ||
|
|
aec162c50e | ||
|
|
d5e9340f8f | ||
|
|
6fe87c4c69 | ||
|
|
85f0a87213 | ||
|
|
853f85be2e | ||
|
|
a7448e3a1d | ||
|
|
521e753183 | ||
|
|
9193941fd0 | ||
|
|
f56c6effe4 | ||
|
|
4cfcb239c1 | ||
|
|
a4be274718 | ||
|
|
120f861a27 | ||
|
|
7e56d85b83 | ||
|
|
20af495581 | ||
|
|
bf94c48225 | ||
|
|
27a68333b1 | ||
|
|
63f18dd26a | ||
|
|
4ea787743e | ||
|
|
3a4b881576 | ||
|
|
f087594331 | ||
|
|
5491e40fd1 | ||
|
|
4b690ec9ad | ||
|
|
9fecb03b5f | ||
|
|
de6e3d46ec | ||
|
|
3006a26500 | ||
|
|
6ffed9387c | ||
|
|
558627e7a9 | ||
|
|
4b276f977c | ||
|
|
99fe4f615d | ||
|
|
928c306803 | ||
|
|
a3eddf8ba7 | ||
|
|
78e0ae31af | ||
|
|
1a90ce0950 | ||
|
|
2465b3eb5a | ||
|
|
16a2e34e95 | ||
|
|
5c52d68091 | ||
|
|
1a2e180f4f | ||
|
|
9048053669 | ||
|
|
69b69714cb | ||
|
|
1ecd9f9e19 | ||
|
|
2bca9ca9ec | ||
|
|
d66028ed0d | ||
|
|
1cf33044bc | ||
|
|
2c138c8355 | ||
|
|
73ffcb9bc1 | ||
|
|
730025e144 | ||
|
|
91aa1d718a | ||
|
|
f881bfc4fc | ||
|
|
e76c3fff69 | ||
|
|
9f168071ff | ||
|
|
b6652b7619 | ||
|
|
f6d501f69e | ||
|
|
4c052cb3b3 | ||
|
|
ea8ccf38db | ||
|
|
cf12ff8070 | ||
|
|
b7a95244db | ||
|
|
4c884651a8 | ||
|
|
e9eca577aa | ||
|
|
cff78b477c | ||
|
|
b232410d25 | ||
|
|
5ff338d4ac | ||
|
|
a5ceea153d | ||
|
|
f3544dc826 | ||
|
|
b0bc68ae8a | ||
|
|
c38e947dc6 | ||
|
|
ec826fc8ce | ||
|
|
e5c4f782a5 | ||
|
|
a5ddebf44d | ||
|
|
38804898c5 | ||
|
|
2bd67f3519 | ||
|
|
c8ed611c9c | ||
|
|
3d7d8caa82 | ||
|
|
f64108523c | ||
|
|
a7493504ed | ||
|
|
bc5293b5a4 | ||
|
|
c4bdc5b856 | ||
|
|
b5b4023056 | ||
|
|
0e598cc51d | ||
|
|
9fd09924eb | ||
|
|
10d218089f | ||
|
|
1ba0d198a7 | ||
|
|
c44132d29d | ||
|
|
a018a2c07a | ||
|
|
266d2efde5 | ||
|
|
3b33b054d3 | ||
|
|
1140b51e91 | ||
|
|
9d25c8fcd4 | ||
|
|
e8ade18d47 | ||
|
|
ed243f4e3e | ||
|
|
e0af4b7925 | ||
|
|
80e53adbd8 | ||
|
|
36a29357a3 | ||
|
|
5bb9aceaac | ||
|
|
02d893b316 | ||
|
|
b1850e58f4 | ||
|
|
f1e566dddc | ||
|
|
2f60da33b7 | ||
|
|
b0456d155a | ||
|
|
5f57a48996 | ||
|
|
bc9d137001 | ||
|
|
483946787a | ||
|
|
b165f233a8 | ||
|
|
3b325b2482 | ||
|
|
2dd480a3a6 | ||
|
|
df33ed40d6 | ||
|
|
cf4d78c87c | ||
|
|
8007d0dd6a | ||
|
|
d7098f77c2 | ||
|
|
514284e784 | ||
|
|
2a3029edb4 | ||
|
|
45a1ed69d4 | ||
|
|
7248d8d7ce | ||
|
|
fa84401866 | ||
|
|
910b94c5fd | ||
|
|
40cbddab29 | ||
|
|
853cda4b80 | ||
|
|
91ec0ad077 | ||
|
|
4be2304ec1 | ||
|
|
d0ee402939 | ||
|
|
2d095daddc | ||
|
|
cf4fcf3351 | ||
|
|
42d57fb8c2 | ||
|
|
ba13c1528f | ||
|
|
857fb3342a | ||
|
|
17189e3125 | ||
|
|
d0209d945d | ||
|
|
1b6bfa1259 | ||
|
|
4ea813c983 | ||
|
|
71d2af07da | ||
|
|
b36f8c701e | ||
|
|
d64d3ef101 | ||
|
|
05fa4a92de | ||
|
|
990314cefc | ||
|
|
60d97ad9c9 | ||
|
|
6bfa31a89f | ||
|
|
8d8ac10429 | ||
|
|
56f398fb55 | ||
|
|
cf5aed00e2 | ||
|
|
de616dfdf0 | ||
|
|
3cf428d7ea | ||
|
|
29d93ba33e | ||
|
|
76c84c7615 | ||
|
|
e129c29e2f | ||
|
|
52d325b446 | ||
|
|
74efd98699 | ||
|
|
28effaea36 | ||
|
|
6256549f44 | ||
|
|
2adec2fa7b | ||
|
|
32e816b713 | ||
|
|
6c7b113de5 | ||
|
|
1d5cce61ac | ||
|
|
85f91b9075 | ||
|
|
aa64a0d3ce | ||
|
|
e9d95a85b7 | ||
|
|
625c92a985 | ||
|
|
3cc9425219 | ||
|
|
0a86ccb142 | ||
|
|
ce82e07dc9 | ||
|
|
048c60614c | ||
|
|
148fa6d151 | ||
|
|
088543176f | ||
|
|
536746d47e | ||
|
|
c15cbad396 | ||
|
|
d3baa58c7e | ||
|
|
7c885de6c7 | ||
|
|
010b8a382e | ||
|
|
314053af54 | ||
|
|
34a7f8a99c | ||
|
|
87031984d9 | ||
|
|
83687f96a5 | ||
|
|
f33905ed80 | ||
|
|
f91c4d586c | ||
|
|
77ec4adcad | ||
|
|
b5a8186d99 | ||
|
|
ed25e554e1 | ||
|
|
a388ec71e3 | ||
|
|
bde3c2e19d | ||
|
|
d1d8d196ba | ||
|
|
7be5aebbc9 | ||
|
|
d15fcb6b24 | ||
|
|
b3ac38a6f1 | ||
|
|
dae9dad2f7 | ||
|
|
603dc30bb1 | ||
|
|
71070da13e | ||
|
|
8fa1d4eb9b | ||
|
|
41f91f9cfb | ||
|
|
5699f3c6bc | ||
|
|
300babd6b1 | ||
|
|
c1baca181c | ||
|
|
851fe9f72c | ||
|
|
cf635cbdd9 | ||
|
|
abbd8635dd | ||
|
|
2c2218bcb9 | ||
|
|
bb6c06d3f7 | ||
|
|
90e22f179e | ||
|
|
0a00d1fbf3 | ||
|
|
6f0b8d1d7b | ||
|
|
ef0d99340a | ||
|
|
d4d388a94b | ||
|
|
7022ce7553 | ||
|
|
4a96122067 | ||
|
|
862ac3af8a | ||
|
|
333c2765fe | ||
|
|
89feb68b7c | ||
|
|
1b901673fc | ||
|
|
fb60c244f6 | ||
|
|
3cea2df459 | ||
|
|
1cf514d1e6 | ||
|
|
65e18a8669 | ||
|
|
3e8f325ddc | ||
|
|
0d96c49f4a | ||
|
|
bfc3fc1dec | ||
|
|
327f235af9 | ||
|
|
df7fc0c4df | ||
|
|
33d9664df5 | ||
|
|
0d237028e7 | ||
|
|
80b9115393 | ||
|
|
606229a08f | ||
|
|
2ac17afe30 | ||
|
|
70f23e695b | ||
|
|
3084b0c41c | ||
|
|
b75db9e473 | ||
|
|
c89e9c5f73 | ||
|
|
61107b8577 | ||
|
|
35ff449dc3 | ||
|
|
ae1f5b8b06 | ||
|
|
c5bcae1e34 | ||
|
|
e9ab6e7301 | ||
|
|
a6ce2e691d | ||
|
|
bfe04bdd15 | ||
|
|
2d0f9f01d5 | ||
|
|
87a967ad9c | ||
|
|
290b17a5f9 | ||
|
|
76572b990b | ||
|
|
54efb48d62 | ||
|
|
83bd780f2a | ||
|
|
2ba4ac6d20 | ||
|
|
98dc52f124 | ||
|
|
fbb2f30f3f | ||
|
|
8ec3d18339 | ||
|
|
26779cbf4a | ||
|
|
4f429fb536 | ||
|
|
7e1706f700 | ||
|
|
d491b29037 | ||
|
|
cf9b60660d | ||
|
|
a5e9ad9f19 | ||
|
|
6049a9fa0a | ||
|
|
5196ce5263 | ||
|
|
9231da4610 | ||
|
|
89f8030ba1 | ||
|
|
534f57b227 | ||
|
|
4d3ebf31d4 | ||
|
|
d778c7922d | ||
|
|
5109c6f72b | ||
|
|
5005d32afd | ||
|
|
88be655dca | ||
|
|
fe5789d747 | ||
|
|
00201b5f9c | ||
|
|
85f7acf9d5 | ||
|
|
44d1cdc2b2 | ||
|
|
90c2202f6e | ||
|
|
d30574de24 | ||
|
|
dec3748fe5 | ||
|
|
e8cdff2310 | ||
|
|
a0ca9d675f | ||
|
|
baf410c712 | ||
|
|
a81af2b449 | ||
|
|
678dde710b | ||
|
|
93a35d8fdc | ||
|
|
0878f44b09 | ||
|
|
b89ae245ec | ||
|
|
536da01714 | ||
|
|
a1b991aaeb | ||
|
|
7bee9a5829 | ||
|
|
17a90e3b00 | ||
|
|
43ba9b1172 | ||
|
|
fdb01046e6 | ||
|
|
09421c9189 | ||
|
|
c563204b0a | ||
|
|
33b3ee89f3 | ||
|
|
008b61c9f6 | ||
|
|
7546db4d42 | ||
|
|
925243969c | ||
|
|
7bce4a963e | ||
|
|
42d09a6d80 | ||
|
|
b6334176e4 | ||
|
|
42a175bd53 | ||
|
|
b4fb9af8e4 | ||
|
|
ed6c9fe432 | ||
|
|
7e04aa438f | ||
|
|
f1679f82c1 | ||
|
|
1808b81d59 | ||
|
|
cd25c7acb2 | ||
|
|
cf03779c5b | ||
|
|
d3439f0d7e | ||
|
|
2df7f84939 | ||
|
|
74c76c48d5 | ||
|
|
cdc0d22b01 | ||
|
|
5a520aadc0 | ||
|
|
ec87489dd4 | ||
|
|
e30affdfc2 | ||
|
|
66bd2559b9 | ||
|
|
c8d6b1fab0 | ||
|
|
548c59719b | ||
|
|
59c1e24371 | ||
|
|
3c09921cbd | ||
|
|
00f3d450f9 | ||
|
|
e676387c16 | ||
|
|
2e2e8a2230 | ||
|
|
8c8ede361e | ||
|
|
672bf05856 | ||
|
|
67ec31c75a | ||
|
|
59d13a7810 | ||
|
|
010a25f4cb | ||
|
|
a0ac7b4a1e | ||
|
|
ab7eb89466 | ||
|
|
649d362b85 | ||
|
|
cb80860d6f | ||
|
|
a8ef9e66fc | ||
|
|
d27212e0b7 | ||
|
|
65650a7ae5 | ||
|
|
6ab5b8eb68 | ||
|
|
c618e0577a | ||
|
|
0e84c91451 | ||
|
|
005ce11313 | ||
|
|
db118d4f5a | ||
|
|
c92b30a741 | ||
|
|
d67aec6fec | ||
|
|
ce58f25488 | ||
|
|
e8d77a3c61 | ||
|
|
d6d7fc1edd | ||
|
|
7ce7f8bfce | ||
|
|
f0f46e5272 | ||
|
|
f9473cc8bc | ||
|
|
5c7d31157b | ||
|
|
982a512ebd | ||
|
|
5dfd3d2f5d | ||
|
|
8d6974f67d | ||
|
|
8b569e3cd8 | ||
|
|
b9d20142a2 | ||
|
|
6c9e818abd | ||
|
|
d2a287d43c | ||
|
|
d6ce2e364f | ||
|
|
36ca485a74 | ||
|
|
b3230c5671 | ||
|
|
ebf490838c | ||
|
|
7921cf18b6 | ||
|
|
0e0450ced5 | ||
|
|
096064ac09 | ||
|
|
77c2d7d846 | ||
|
|
40a121198d | ||
|
|
44079a7bf7 | ||
|
|
50fa013801 | ||
|
|
d4ccf0ec62 | ||
|
|
04842974e7 | ||
|
|
6161b08f82 | ||
|
|
b9818a4480 | ||
|
|
e2ae22421b | ||
|
|
b64677e14a | ||
|
|
c910445634 | ||
|
|
c4683a754e | ||
|
|
1da8fdb588 | ||
|
|
4bf8e342dc | ||
|
|
18fc50fcbf | ||
|
|
2fb10b7076 | ||
|
|
967291c2ef | ||
|
|
392ae871d5 | ||
|
|
27b3070480 | ||
|
|
325f59e03d | ||
|
|
217ffb36e6 | ||
|
|
4afad93ff6 | ||
|
|
e8858cb1b7 | ||
|
|
52de31c9a6 | ||
|
|
60660a1f1a | ||
|
|
a2ea9db90e | ||
|
|
236a7dadc6 | ||
|
|
82d2cc943d | ||
|
|
d70f462899 | ||
|
|
0a636b5899 | ||
|
|
e0b2749188 | ||
|
|
2fc973245d | ||
|
|
9bfcb64542 | ||
|
|
61e34b7ef8 | ||
|
|
3c3078875a | ||
|
|
5293e2c13d | ||
|
|
fdf3b3f581 | ||
|
|
f3f29fb54f | ||
|
|
e8ed79a6bb | ||
|
|
cca730d927 | ||
|
|
0693cb7840 | ||
|
|
3f1958cce1 | ||
|
|
fb708bed90 | ||
|
|
1636587a82 | ||
|
|
1f1ccd81bb | ||
|
|
5efb0eb582 | ||
|
|
be5f71c123 | ||
|
|
a0df6bfc12 | ||
|
|
2ab0dc20d7 | ||
|
|
175ce3613a | ||
|
|
eecb5c3754 | ||
|
|
b34360901f | ||
|
|
21bbd21ae9 | ||
|
|
0b403a4c5d | ||
|
|
1d1e1beca5 | ||
|
|
3d4d844e72 | ||
|
|
1f9aa72bdb | ||
|
|
c29f68e35d | ||
|
|
c7c10e769d | ||
|
|
7264c01b85 | ||
|
|
97faa7413f | ||
|
|
7531c48e38 | ||
|
|
16799d8b75 | ||
|
|
901115ed10 | ||
|
|
596ca08446 | ||
|
|
4d864d8cad | ||
|
|
c458a35670 | ||
|
|
c203bfe5ad | ||
|
|
8b2a838388 | ||
|
|
b08212e2f9 | ||
|
|
b5f08838b3 | ||
|
|
5501605a1f | ||
|
|
7a5197df63 | ||
|
|
09d45aa64b | ||
|
|
552810359e | ||
|
|
a68a6885d0 | ||
|
|
b32589f7e7 | ||
|
|
2e6b8a067d | ||
|
|
581fdfdfe0 | ||
|
|
8e4ff39738 | ||
|
|
f568803af2 | ||
|
|
6db06857ba | ||
|
|
fd4dd13270 | ||
|
|
ded9f332f6 | ||
|
|
d09ca46141 | ||
|
|
b28cd7f8bd | ||
|
|
a4054aa500 | ||
|
|
3332bfcee1 | ||
|
|
cc798a0c0a | ||
|
|
fe2030b7e3 | ||
|
|
ed1cce86ef | ||
|
|
9a544b0ff3 | ||
|
|
82f7b29836 | ||
|
|
076acfb242 | ||
|
|
ed336bc0ff | ||
|
|
5699446d69 | ||
|
|
a43d32949e | ||
|
|
02a1e648bc | ||
|
|
9d3e0651e2 | ||
|
|
cdff5a9039 | ||
|
|
ba0b5500ca | ||
|
|
1439a7e289 | ||
|
|
9761ede5c4 | ||
|
|
e342805752 | ||
|
|
d08672aa71 | ||
|
|
a3d4e05b0e | ||
|
|
51eeed3d50 | ||
|
|
51c45456c3 | ||
|
|
074ba63bf5 | ||
|
|
f3d552d8a0 | ||
|
|
c5fb4a9228 | ||
|
|
55d7e910e4 | ||
|
|
ea29af8d3d | ||
|
|
88b9d71bd7 | ||
|
|
165c84c246 | ||
|
|
347820867d | ||
|
|
26d0dfbf3d | ||
|
|
6aa4849266 | ||
|
|
335b3802b8 | ||
|
|
73bd3fa60c | ||
|
|
6b61c5900c | ||
|
|
9da4083096 | ||
|
|
86fe244d95 | ||
|
|
732f2846de | ||
|
|
4f238caf5c | ||
|
|
c9388e9f56 | ||
|
|
2a9fa9539f | ||
|
|
b8d136588c | ||
|
|
92c9e82dee | ||
|
|
0fdb48bda3 | ||
|
|
e8d4fd7aac | ||
|
|
6a4a78a26a | ||
|
|
6c6769ca98 | ||
|
|
3e49af9093 | ||
|
|
5f8ecfa3fa | ||
|
|
aca03d2609 | ||
|
|
5db9493d2b | ||
|
|
ac3c041d6d | ||
|
|
a319c0c94a | ||
|
|
f74d619748 | ||
|
|
eef1981f20 | ||
|
|
ade9d86696 | ||
|
|
935c1cfeab | ||
|
|
5706770a11 | ||
|
|
2643417c0b | ||
|
|
d388036601 | ||
|
|
96df75cc05 | ||
|
|
c62d8d6753 | ||
|
|
1562c96d4c | ||
|
|
94c87d436f | ||
|
|
b9c8ffb5cf | ||
|
|
a37a23bcfc | ||
|
|
863ad22b48 | ||
|
|
bce865ff9f | ||
|
|
1963fe208e | ||
|
|
5c4526725b | ||
|
|
3f42e9c5bd | ||
|
|
b1c9d0a0af | ||
|
|
adcbfb4b9e | ||
|
|
b3ebccab36 | ||
|
|
d5797054fb | ||
|
|
aab0ec22b9 | ||
|
|
f7babcc1d2 | ||
|
|
d077307721 | ||
|
|
72e8e10bd6 | ||
|
|
5ea9e8a0d7 | ||
|
|
87b050fad2 | ||
|
|
0c8cd74e28 | ||
|
|
445d970784 | ||
|
|
125a1eb9fc | ||
|
|
a2a578d04d | ||
|
|
11e5c0aa9d | ||
|
|
14b856b0cf | ||
|
|
2e8dd73822 | ||
|
|
da9fdb356c | ||
|
|
054a99ca38 | ||
|
|
baf33609af | ||
|
|
b4eb0b6b41 | ||
|
|
3e9a47a683 | ||
|
|
d71c3ecd86 | ||
|
|
e5a864a760 | ||
|
|
81b59f9bc9 | ||
|
|
2c2a36ce34 | ||
|
|
cb0020c629 | ||
|
|
003d39c8cd | ||
|
|
ca866183f1 | ||
|
|
b6e627369b | ||
|
|
da96cfc158 | ||
|
|
0abbd53e07 | ||
|
|
6fc0f858c7 | ||
|
|
b3613b68cd | ||
|
|
2b6619b3c4 | ||
|
|
a33161aa9c | ||
|
|
5c3c5b999f | ||
|
|
7acca18313 | ||
|
|
7b71d9a448 | ||
|
|
64ffa3e70f | ||
|
|
fd88972380 | ||
|
|
dd7b09552a | ||
|
|
0b23aa9e7e | ||
|
|
0caa31bd6b | ||
|
|
cafac135a0 | ||
|
|
6ac312bd49 | ||
|
|
489877d6bf | ||
|
|
b0b2e695e1 | ||
|
|
c3808c0c5b | ||
|
|
c09545de64 | ||
|
|
7566b0159c | ||
|
|
ed7cc9b89e | ||
|
|
55501e68fb | ||
|
|
eabe670ae8 | ||
|
|
9fffef6f53 | ||
|
|
368429b757 | ||
|
|
49f774eb0d | ||
|
|
0487d7a058 | ||
|
|
5943e77563 | ||
|
|
b10f0fb945 | ||
|
|
c299891fb0 | ||
|
|
fe0f22dfc0 | ||
|
|
002603c388 | ||
|
|
30ef8456c3 | ||
|
|
bee1ce401a | ||
|
|
e18c4a370a | ||
|
|
2a60a929f1 | ||
|
|
939295ab04 | ||
|
|
f6a0ef6a61 | ||
|
|
b3bce314e9 | ||
|
|
e28b85d8b6 | ||
|
|
a0af2fc997 | ||
|
|
7f7f5c6f12 | ||
|
|
d21fbfc9be | ||
|
|
366dc1cca9 | ||
|
|
e9e3913bb7 | ||
|
|
5491f6eff7 | ||
|
|
32e36ba324 | ||
|
|
9d4c456461 | ||
|
|
cdc7920dff | ||
|
|
cdb4901d91 | ||
|
|
c7f3520ea8 | ||
|
|
f0e728c316 | ||
|
|
4b1f127eaf | ||
|
|
1db2d8d8d8 | ||
|
|
87bb45d01b | ||
|
|
6beadcece8 | ||
|
|
fc6f0f3a86 | ||
|
|
ef7370f56d | ||
|
|
52ba7cdbff | ||
|
|
b0c9dd44e9 | ||
|
|
92ec093ed9 | ||
|
|
6d2a1aafd2 | ||
|
|
f3a7734584 | ||
|
|
9cf92f37f5 | ||
|
|
34831d42a4 | ||
|
|
607d5d7841 | ||
|
|
75adfd2e9d | ||
|
|
e92b5b2d35 | ||
|
|
a8c40a5493 | ||
|
|
be5c3fb55c | ||
|
|
e6e4a63022 | ||
|
|
1cdc8928ba | ||
|
|
ad111a0163 | ||
|
|
7091a4899c | ||
|
|
3bd9e70fa9 | ||
|
|
54bd2c620e | ||
|
|
121640b1b3 | ||
|
|
55e388513c | ||
|
|
b153dcbd63 | ||
|
|
242cbe5ecb | ||
|
|
f1cca13796 | ||
|
|
918ba72107 | ||
|
|
e596f27666 | ||
|
|
a40d0000c5 | ||
|
|
fb82da74a1 | ||
|
|
b0991a0624 | ||
|
|
6236acea02 | ||
|
|
391c7e8570 | ||
|
|
58041cc64e | ||
|
|
8c7d3a6e92 | ||
|
|
ae1982369c | ||
|
|
5f85ac01f7 | ||
|
|
cca263fb2b | ||
|
|
809ed02b85 | ||
|
|
9eab1083ab | ||
|
|
60523bef80 | ||
|
|
46b959ff3c | ||
|
|
42c3827ded | ||
|
|
26e4b4efda | ||
|
|
2169ab3bb8 | ||
|
|
85dad8db88 | ||
|
|
8120c34064 | ||
|
|
1f1d1f70a1 | ||
|
|
373d868a17 | ||
|
|
834ba9bc61 | ||
|
|
3ffec5aed9 | ||
|
|
ef20c1d684 | ||
|
|
697a59568c | ||
|
|
e58fb935b0 | ||
|
|
044d23f8a5 | ||
|
|
1604d867c3 | ||
|
|
011db481c3 | ||
|
|
c404cdc38a | ||
|
|
20689af7dd | ||
|
|
9ea0585d71 | ||
|
|
614c5f694b | ||
|
|
fa36aae068 | ||
|
|
3e85232310 | ||
|
|
894928d7ca | ||
|
|
afb1486f86 | ||
|
|
2799bd18e1 | ||
|
|
43c2a885b9 | ||
|
|
be7feb0eaa | ||
|
|
e3d653a8d9 | ||
|
|
b9f9d8160d | ||
|
|
141b5c604d | ||
|
|
8a0fc00435 | ||
|
|
a3a8cb9368 | ||
|
|
96c66b33a2 | ||
|
|
62fad3724f | ||
|
|
ca2b6c87ef | ||
|
|
20348645a3 | ||
|
|
a9b39fad64 | ||
|
|
1c556ade57 | ||
|
|
e08957f5ec | ||
|
|
e76ded69e6 | ||
|
|
7e740861d8 | ||
|
|
f28e65a26c | ||
|
|
a29f0c820b | ||
|
|
b2bc30cfed | ||
|
|
6ce235bb68 | ||
|
|
479ab989df | ||
|
|
8d490b9e52 | ||
|
|
949f11a8c9 | ||
|
|
d4896e1978 | ||
|
|
c4020080b3 | ||
|
|
5a68003d16 | ||
|
|
9fcc3cdc24 | ||
|
|
ee80ce5ae6 | ||
|
|
456c4019c4 | ||
|
|
f65627a505 | ||
|
|
38d1fc15fe | ||
|
|
5eead5b0fa | ||
|
|
4223bd57f1 | ||
|
|
5bfa653858 | ||
|
|
5342764caf | ||
|
|
04a44a82c9 | ||
|
|
c28820f39c | ||
|
|
546955a78b | ||
|
|
d1e9cc5800 | ||
|
|
4ef2fb9933 | ||
|
|
d7bc8adf21 | ||
|
|
b5f44efc69 | ||
|
|
5e8abea222 | ||
|
|
f291454ccb | ||
|
|
bac6637b46 | ||
|
|
866ac9fb72 | ||
|
|
8208f6947f | ||
|
|
dcd50a7c62 | ||
|
|
781aa86568 | ||
|
|
3facc116c8 | ||
|
|
9178c3b087 | ||
|
|
5c6c85a22f | ||
|
|
b8adb4d229 | ||
|
|
093118da8b | ||
|
|
0aa760119f | ||
|
|
60b3a1583d | ||
|
|
593c47b938 | ||
|
|
0f6bb7ce6f | ||
|
|
048c2541e6 | ||
|
|
f3e7d1a43b | ||
|
|
5df24d6683 | ||
|
|
73779898b7 | ||
|
|
7200b6adc6 | ||
|
|
d48f15ab4d | ||
|
|
2747671935 | ||
|
|
d86f24dd35 | ||
|
|
60edccade5 | ||
|
|
540460cae9 | ||
|
|
df44d86f46 | ||
|
|
c287b446c9 | ||
|
|
1db36c05a8 | ||
|
|
2c884ab5ab | ||
|
|
cd0dfc956d | ||
|
|
03392a5f03 | ||
|
|
a7da999bd7 | ||
|
|
47f21b1652 | ||
|
|
7c91d10c79 | ||
|
|
fac2f5494b | ||
|
|
bfcdb7e840 | ||
|
|
21d55db3b4 | ||
|
|
18e49888fe | ||
|
|
7ba2f61361 | ||
|
|
407df158ef | ||
|
|
eab46ba9c4 | ||
|
|
39318e5e61 | ||
|
|
ac1ce03fe5 | ||
|
|
4fa697ec75 | ||
|
|
027961bffa | ||
|
|
7dfcbabe0c | ||
|
|
dfc7658426 | ||
|
|
04c6726b76 | ||
|
|
8fdbbe4c16 | ||
|
|
09fceab75b | ||
|
|
8df4c27285 | ||
|
|
e38820b74a | ||
|
|
c052e731f8 | ||
|
|
3636860262 | ||
|
|
ce7421bef4 | ||
|
|
23b51c4c3e | ||
|
|
48d802fc40 | ||
|
|
51e8f3ff6e | ||
|
|
7917397bf3 | ||
|
|
e0c0052b63 | ||
|
|
15a4b50ce4 | ||
|
|
a51a8abf27 | ||
|
|
45747e3635 | ||
|
|
64b8e15918 | ||
|
|
f4b716b255 | ||
|
|
1115ff83bb | ||
|
|
c24550c756 | ||
|
|
b5cdfe30ea | ||
|
|
a10e594da1 | ||
|
|
63aee387f0 | ||
|
|
ab9de1e199 | ||
|
|
e60c463328 | ||
|
|
537d74196b | ||
|
|
a8bbbe8582 | ||
|
|
29471a7aac | ||
|
|
894a4a5567 | ||
|
|
f7cd5276f0 | ||
|
|
95b8c71083 | ||
|
|
52c82e6fe2 | ||
|
|
cef1abd6aa | ||
|
|
91da261128 | ||
|
|
1c70346a61 | ||
|
|
2de017086d | ||
|
|
d6253c72d4 | ||
|
|
e5007b6c87 | ||
|
|
bbc18549b3 | ||
|
|
b6855b6fba | ||
|
|
70db97d576 | ||
|
|
f632f2f39e | ||
|
|
b23f968d57 | ||
|
|
ea88877a11 | ||
|
|
1de3decede | ||
|
|
78045fd2ab | ||
|
|
7c8898158b | ||
|
|
3fc5f87388 | ||
|
|
623ca1effc | ||
|
|
da05e7fe5e | ||
|
|
f3734d4c64 | ||
|
|
9ab458e109 | ||
|
|
d4c72e6f78 | ||
|
|
1f58ef5140 | ||
|
|
69d574c587 | ||
|
|
a027fdded7 | ||
|
|
443df0501d | ||
|
|
d68fe5f80d | ||
|
|
ebf868bae3 | ||
|
|
8a9b3286e9 | ||
|
|
a0455561b6 | ||
|
|
518ccf5a74 | ||
|
|
54f09c58cb | ||
|
|
029ad1045a | ||
|
|
2f55fb4d84 | ||
|
|
add724eee9 | ||
|
|
07324ae892 | ||
|
|
ffc05e971f | ||
|
|
30f42fd1d4 | ||
|
|
f284857438 | ||
|
|
06ab514472 | ||
|
|
85b65acbe0 | ||
|
|
4d1d9de22f | ||
|
|
a68ec9b191 | ||
|
|
e386636d66 | ||
|
|
cc3311b8eb | ||
|
|
d3d1181769 | ||
|
|
001abf684c | ||
|
|
92a65296b5 | ||
|
|
3a7887d003 | ||
|
|
3334c4a87a | ||
|
|
228ce768e0 | ||
|
|
eafc1a784c | ||
|
|
fd3a4d0a0e | ||
|
|
77d679b63b | ||
|
|
730d764c6e | ||
|
|
6f1ef82e89 | ||
|
|
d4da910f19 | ||
|
|
a0a0773bd2 | ||
|
|
9ce8d138d5 | ||
|
|
0041b034e0 | ||
|
|
d781c437de | ||
|
|
2fe21b8547 | ||
|
|
dbc90c9417 | ||
|
|
431d60a58a | ||
|
|
fcfcc9a94a | ||
|
|
870fb4e2df | ||
|
|
e3612b973f | ||
|
|
75f4ca928f | ||
|
|
22fd25b30f | ||
|
|
610ddb09ff | ||
|
|
33602aca11 | ||
|
|
a207856e99 | ||
|
|
80e8b5b5e4 | ||
|
|
273996aa91 | ||
|
|
646b88c5be | ||
|
|
88cfd82a25 | ||
|
|
2f8436be87 | ||
|
|
a6237cdda3 | ||
|
|
eb93a767fc | ||
|
|
41852412ca | ||
|
|
224b2b7323 | ||
|
|
ec939f9f9a | ||
|
|
eced15b712 | ||
|
|
f8fb473981 | ||
|
|
f2bcb77cfb | ||
|
|
dc5da28176 | ||
|
|
be43e64743 | ||
|
|
454630dace | ||
|
|
c9df244333 | ||
|
|
2649d97d69 | ||
|
|
bcb9ac5501 | ||
|
|
76d1e26f7d | ||
|
|
ba13ab9926 | ||
|
|
c43b34b67f | ||
|
|
3739c2881b | ||
|
|
bc13b81351 | ||
|
|
86a56e487a | ||
|
|
031058cd0c | ||
|
|
85040d6104 | ||
|
|
efbf74b44c | ||
|
|
774fc42e8e | ||
|
|
692cfe4f52 | ||
|
|
8b34d4417b | ||
|
|
c20a7b3c69 | ||
|
|
ff6e83c55e | ||
|
|
6aa56fd30f | ||
|
|
f5a6f129dd | ||
|
|
5405c1d240 | ||
|
|
455f85e230 | ||
|
|
fa899a67a7 | ||
|
|
56cf25eebf | ||
|
|
1a490551e6 | ||
|
|
4514802e35 |
@@ -1,4 +1,7 @@
|
||||
*.jl.cov
|
||||
*.jl.*.cov
|
||||
*.jl.mem
|
||||
.DS_Store
|
||||
.DS_Store
|
||||
examples/.ipynb_checkpoints/*
|
||||
examples/meetup/.ipynb_checkpoints/*
|
||||
deps/plotly-latest.min.js
|
||||
|
||||
@@ -4,10 +4,57 @@ os:
|
||||
- linux
|
||||
- osx
|
||||
julia:
|
||||
- 0.4
|
||||
- release
|
||||
- nightly
|
||||
matrix:
|
||||
allow_failures:
|
||||
- julia: nightly
|
||||
|
||||
# # before install:
|
||||
# # - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
|
||||
# # - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install wkhtmltopdf; fi
|
||||
|
||||
# ref: http://askubuntu.com/a/556672 for the wkhtmltopdf apt repository info
|
||||
|
||||
sudo: required
|
||||
before_install:
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then pwd ; fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./test/install_wkhtmltoimage.sh ; fi
|
||||
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo add-apt-repository -y ppa:pov/wkhtmltopdf ; fi
|
||||
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -qq update ; fi
|
||||
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -y wkhtmltopdf ; fi
|
||||
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then wkhtmltopdf -V ; fi
|
||||
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then wkhtmltoimage -V ; fi
|
||||
# echo 'exec xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf "$@"' | sudo tee /usr/local/bin/wkhtmltopdf.sh >/dev/null
|
||||
# sudo chmod a+x /usr/local/bin/wkhtmltopdf.sh
|
||||
|
||||
# # borrowed from Blink.jl's travis file
|
||||
# matrix:
|
||||
# include:
|
||||
# - os: linux
|
||||
# julia: 0.4
|
||||
# env: TESTCMD="xvfb-run julia"
|
||||
# - os: osx
|
||||
# julia: 0.4
|
||||
# env: TESTCMD="julia"
|
||||
|
||||
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
email: true
|
||||
# uncomment the following lines to override the default test script
|
||||
script:
|
||||
- if [[ -a .git/shallow ]]; then git fetch --unshallow; fi
|
||||
- julia -e 'Pkg.clone(pwd()); Pkg.build("Plots"); Pkg.add("Gadfly"); Pkg.test("Plots"; coverage=true)'
|
||||
- julia -e 'Pkg.clone(pwd()); Pkg.build("Plots")'
|
||||
- julia test/travis_commands.jl
|
||||
# - julia -e 'Pkg.clone("ImageMagick"); Pkg.build("ImageMagick")'
|
||||
# - julia -e 'Pkg.clone("GR"); Pkg.build("GR")'
|
||||
# # - julia -e 'Pkg.clone("https://github.com/tbreloff/ImageMagick.jl.git"); Pkg.checkout("ImageMagick","tb_write"); Pkg.build("ImageMagick")'
|
||||
# - julia -e 'Pkg.clone("https://github.com/tbreloff/ExamplePlots.jl.git");'
|
||||
# # - julia -e 'Pkg.clone("https://github.com/JunoLab/Blink.jl.git"); Pkg.build("Blink"); import Blink; Blink.AtomShell.install()'
|
||||
# # - julia -e 'Pkg.clone("https://github.com/spencerlyon2/PlotlyJS.jl.git")'
|
||||
# - julia -e 'ENV["PYTHON"] = ""; Pkg.add("PyPlot"); Pkg.build("PyPlot")'
|
||||
#
|
||||
# # - $TESTCMD -e 'Pkg.test("Plots"; coverage=false)'
|
||||
# - julia -e 'Pkg.test("Plots"; coverage=false)'
|
||||
# # - julia -e 'cd(Pkg.dir("Plots")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(process_folder()); Codecov.submit(process_folder())'
|
||||
|
||||
@@ -0,0 +1,279 @@
|
||||
|
||||
# Plots.jl NEWS
|
||||
|
||||
#### notes on release changes, ongoing development, and future planned work
|
||||
|
||||
- All new development should target 0.7!
|
||||
|
||||
---
|
||||
|
||||
## 0.8 (current master/dev)
|
||||
|
||||
#### 0.8.0
|
||||
|
||||
- added dependency on PlotUtils
|
||||
- BREAKING: removed DataFrames support (now in StatPlots.jl)
|
||||
- BREAKING: removed boxplot/violin/density recipes (now in StatPlots.jl)
|
||||
- GR:
|
||||
- inline iterm2 support
|
||||
- trisurface support
|
||||
- heatmap fix
|
||||
- PyPlot:
|
||||
- ijulia display fix
|
||||
- GLVisualize:
|
||||
- first try with shapes
|
||||
- iter_segments improvements
|
||||
- bar_width support
|
||||
- horizontal bars
|
||||
- improve tick display
|
||||
- better shape handling in pyplot, plotly
|
||||
- improved padding calcs
|
||||
- internal reorg of _plots method, add pipeline.jl
|
||||
|
||||
---
|
||||
|
||||
## 0.7
|
||||
|
||||
#### 0.7.5
|
||||
|
||||
- GR: LaTeX support
|
||||
- Changed docs url to juliaplots.github.io
|
||||
- added `contourf` seriestype
|
||||
- allow `plt[1]` to return first Subplot
|
||||
- allow `sp[1]` to return the first Series of the Subplot
|
||||
- `series[k]` now passes through to `series.d[k]`
|
||||
- allow calling `plot!(sp, ...)` to update a target Subplot
|
||||
- PyPlot: zorder fix
|
||||
- new DataFrames logic/recipe: more flexible/robust and allow Symbols for:
|
||||
- `(:fillrange, :line_z, :marker_z, :markersize, :ribbon, :weights, :xerror, :yerror)`
|
||||
- new `display_type` and `extra_kwargs` plot attributes
|
||||
- surface fix
|
||||
|
||||
#### 0.7.4
|
||||
|
||||
- added snooped precompiles, but left commented out
|
||||
- GR fixes: markersize, shapes, legends
|
||||
- fixes to recipes
|
||||
- turned on Appveyor
|
||||
|
||||
#### 0.7.3
|
||||
|
||||
- rebuild violin and boxplot recipes
|
||||
- "plot recipes"
|
||||
- `cgrad` method for easy color gradient creation
|
||||
- improvements to inset subplots
|
||||
- Segments and iter_segments for NaN-separated vectors
|
||||
- `bar` recipe now creates a `shape` series
|
||||
- writemime fix for Interact.jl
|
||||
- `link = :square` option
|
||||
- !!! set `shape` attributes with line/fill, NOT marker/markerstroke !!!
|
||||
- basic DPI support
|
||||
- moved chorddiagram to PlotRecipes
|
||||
- GR:
|
||||
- use temp files for img output
|
||||
- basic support for marker strokes and other marker fixes
|
||||
- PyPlot:
|
||||
- Switch to recipes for bar, histogram, histogram2d
|
||||
- GLVisualize
|
||||
- subplots
|
||||
- path/scatter and path3d/scatter3d
|
||||
- initial drawing of axes
|
||||
- many smaller fixes and improvements
|
||||
|
||||
#### 0.7.2
|
||||
|
||||
- line_z arg for multicolored line segments
|
||||
- pyplot
|
||||
- line_z (2d and 3d)
|
||||
- pushed all fig updates into display pipeline
|
||||
- remove native sticks/hline/vline in favor of recipes
|
||||
- unicodeplots cleanup, ijulia fixes, ascii canvas
|
||||
- `curves` series type
|
||||
- `iter_segments` iterator
|
||||
- moved arcdiagram out and into PlotRecipes (thanks @diegozea)
|
||||
- several other fixes/checks
|
||||
|
||||
#### 0.7.1
|
||||
|
||||
- inset (floating) subplots
|
||||
- change: when setting subplot/axis args from user recipes, they should apply only to their own subplot
|
||||
- trim for violin/boxplot
|
||||
- scatter3d recipe
|
||||
- removed plotly.js in favor of build.jl download
|
||||
- improvements/fixes to pgfplots backend
|
||||
- improvements/fixes to plotly/plotlyjs backends
|
||||
- titles are annotations and properly placed with title_position
|
||||
- hover attribute
|
||||
- shapes (almost)
|
||||
- scattergl
|
||||
- minimum perimeter logic in layout calc... fixed misaligned subplots
|
||||
- new clims attribute
|
||||
- more options for test_examples
|
||||
- GR refactor
|
||||
- added transparency
|
||||
- moved axis/grid logic out of series loop
|
||||
- generalized 3d and polar projections
|
||||
- renamed get_mod to Base.cycle
|
||||
- pyplot log scale fixes
|
||||
- PLOTS_DEFAULTS environment var processing
|
||||
- rename :ellipse to :circle, :ellipse is now an alias
|
||||
- supported args/types cleanup
|
||||
- seriestype dependency methods and `@deps` macro
|
||||
- bbox `h_anchor`/`v_anchor`
|
||||
- new axis arg: `:link` is a list of subplots to link axes with
|
||||
- cleanup/simplification of glvisualize backend
|
||||
|
||||
|
||||
#### 0.7.0
|
||||
|
||||
- Check out [the summary](http://juliaplots.github.io/plots_v0.7/)
|
||||
- Revamped and simplified internals
|
||||
- [Recipes, recipes, recipes](https://github.com/JuliaPlots/RecipesBase.jl/issues/6)
|
||||
- [Layouts and Subplots](https://github.com/tbreloff/Plots.jl/issues/60)
|
||||
- DataFrames is loaded automatically when installed
|
||||
- Overhaul to GroupBy mechanic (now offloads to a recipe)
|
||||
- Replaced much of the argument processing with recipes
|
||||
- Added series recipes, and began to strip down un-needed backend code. Some recipes:
|
||||
- line, step, sticks, bar, histogram, histogram2d, boxplot, violin, quiver, errorbars, density, ohlc
|
||||
- Added `@shorthands` and `@userplot` macros for recipe convenience
|
||||
- Better handling of errorbars and ribbons
|
||||
- New Axis type
|
||||
- Tracks extrema and discrete values
|
||||
- New `link_axes` functionality
|
||||
- `linetype` has been renamed `seriestype` (the alias is reversed)
|
||||
- Many fixes and huge cleanup in GR
|
||||
- Brand new subplot layout mechanics:
|
||||
- `@layout` macro
|
||||
- AbstractLayout, Subplot, GridLayout, and everything related
|
||||
- Added dependency on Measures.jl
|
||||
- Computations of axis/guide sizes and precise positioning
|
||||
- Refactored and compartmentalized default dictionaries for attributes
|
||||
- Deprecated Gadfly and Immerse backends
|
||||
- Added `series_annotations` attribute (previously that functionality was merged with `annotations`, which are not series-specific)
|
||||
- Removed `axis` attribute... currently not supporting twin (right) y axes
|
||||
- Check for `ENV["PLOTS_USE_ATOM_PLOTPANE"]` and default to false
|
||||
- Improved backend interface to reduce redundant code. Template updated.
|
||||
- Added `html_output_format`, primarily for choosing between png and svg output in IJulia.
|
||||
- Partial support of Julia v0.5
|
||||
- Switched testing to dump reference images to JuliaPlots/PlotReferenceImages.jl
|
||||
- Moved docs-specific code to new JuliaPlots/PlotDocs.jl
|
||||
- Moved example list from ExamplePlots into Plots.
|
||||
- Added several examples and improved others.
|
||||
- Many other smaller changes and bug fixes.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Version 0.6
|
||||
|
||||
#### 0.6.2
|
||||
|
||||
- `linewidth` fixes
|
||||
- `markershape` fix
|
||||
- converted center calc to centroid for shapes
|
||||
- new dependency on [RecipesBase](https://github.com/JuliaPlots/RecipesBase.jl)
|
||||
- REQUIRE upper limit for RecipesBase: 0.0.1
|
||||
- GR fixes/improvements (@jheinen)
|
||||
- support `zlims`, `bins`
|
||||
- allow Plots colormaps
|
||||
- other bug fixes
|
||||
- native image support
|
||||
- PGFPlots fixes/improvements (@pkofod)
|
||||
- DataFrames are handled by recipes
|
||||
- Plotly: zaxis, tick rotation, 3d axis fix
|
||||
- Improvements in handling discrete data
|
||||
- Support for image display
|
||||
- `arrow` keyword and support for adding arrows to paths
|
||||
- changed quiver recipe to use arrows
|
||||
- Bug fixes for boxplots, heatmaps, and more
|
||||
|
||||
#### 0.6.1
|
||||
|
||||
- `rotation` keyword
|
||||
- improved supported graphs
|
||||
- subplot bug fix
|
||||
|
||||
#### 0.6.0
|
||||
|
||||
- `apply_series_recipe` framework for built-in recipes
|
||||
- [boxplot/violin recipes](https://github.com/tbreloff/ExamplePlots.jl/blob/master/notebooks/boxplot.ipynb)
|
||||
- [errorbar/ribbon recipes](https://github.com/tbreloff/ExamplePlots.jl/blob/master/notebooks/errorbars.ipynb)
|
||||
- [quiver recipe](https://github.com/tbreloff/ExamplePlots.jl/blob/master/notebooks/quiver.ipynb)
|
||||
- `polar` coordinates
|
||||
- better support for shapes and custom polygons (see [batman](https://github.com/tbreloff/ExamplePlots.jl/blob/master/notebooks/batman.ipynb))
|
||||
- z-axis keywords
|
||||
- 3D indexing overhaul: `push!`, `append!` support
|
||||
- matplotlib colormap constants (`:inferno` is the new default colormap for Plots)
|
||||
- `typealias KW Dict{Symbol,Any}` used in place of splatting in many places
|
||||
- png generation for plotly backend using wkhtmltoimage
|
||||
- `normalize` and `weights` keywords
|
||||
- background/foreground subcategories for fine-tuning of looks
|
||||
- `add_theme`/`set_theme` and ggplot2 theme (see [this issue](https://github.com/tbreloff/Plots.jl/issues/201))
|
||||
- `PLOTS_DEFAULT_BACKEND` environment variable
|
||||
- `barh` linetype
|
||||
- support for non-gridded surfaces with pyplot's trisurface
|
||||
- pyplot surface zcolor
|
||||
- internal refactor of supported.jl
|
||||
- `wrap` method to bypass input processing
|
||||
- `translate`, `scale` and `rotate` methods for coordinates and shapes
|
||||
- and many more minor fixes and improvements
|
||||
|
||||
---
|
||||
|
||||
## Version 0.5
|
||||
|
||||
#### 0.5.4
|
||||
|
||||
- old heatmaps have been renamed to hist2d, and true heatmaps implemented (see https://github.com/tbreloff/Plots.jl/issues/147)
|
||||
- lots of reorganization and redesign of the internals
|
||||
- lots of renaming to keep to conventions: AbstractPlot, AbstractBackend, etc
|
||||
- initial redesign of layouts
|
||||
- integration with Atom PlotPane
|
||||
- arc diagram and chord diagram (thanks to @diegozea: see https://github.com/tbreloff/Plots.jl/issues/163)
|
||||
- work on GR, GLVisualize, and PGFPlots backends (thanks @jheinen @dlfivefifty @pkofod)
|
||||
- improvements to Plotly setup (thanks @spencerlyon2)
|
||||
- overhaul to series creation logic and groupby mechanic
|
||||
- replace Dict with `typealias KW Dict{Symbol,Any}` in many places, also replacing keyword arg splatting
|
||||
- new `shape` linetype for plotting polygons in plot-coordinates (see https://github.com/tbreloff/ExamplePlots.jl/blob/master/notebooks/batman.ipynb)
|
||||
- many other fixes
|
||||
|
||||
#### 0.5.3
|
||||
|
||||
- `@gif` macro with `every`/`when` syntax
|
||||
- bezier curves and other graph drawing helpers
|
||||
- added FixedSizeArrays dependency with relevant functionality
|
||||
- merged lots of improvements to GR (thanks @jheinen)
|
||||
- `overwrite_figure`/`reuse` arg for reusing the same figure window
|
||||
- deprecated Qwt, Winston, and Bokeh backends
|
||||
- improved handling of 3D inputs (call `z=rand(10,10); surface(z)` for example)
|
||||
- fix IJulia display issue
|
||||
- lots of progress on PlotlyJS backend
|
||||
- and many other changes and fixes...
|
||||
|
||||
#### 0.5.2
|
||||
|
||||
- Added [GR.jl](https://github.com/jheinen/GR.jl) as a backend (unfinished but functional) All credit to @jheinen
|
||||
- Set defaults within backend calls (i.e. `gadfly(legend=false)`)
|
||||
- `abline!`; also extrema allows plotting functions without giving x (i.e. `plot(cos, 0, 10); plot!(sin)`) @pkofod @joshday
|
||||
- Integration with [PlotlyJS.jl](https://github.com/spencerlyon2/PlotlyJS.jl) for using Plotly inside a Blink window @spencerlyon2
|
||||
- The Plotly backend has been split into my built-in version (`plotly()`) and @spencerlyon2's backend (`plotlyjs()`)
|
||||
- Revamped backend setup code for easily adding new backends
|
||||
- New docs (WIP) at http://juliaplots.github.io/
|
||||
- Overhaul to `:legend` keyword (see https://github.com/tbreloff/Plots.jl/issues/135)
|
||||
- New dependency on Requires, allows auto-loading of DataFrames support
|
||||
- Support for plotting lists of Tuples and FixedSizeArrays
|
||||
- new `@animate` macro for super simple animations (see https://github.com/tbreloff/Plots.jl/issues/111#issuecomment-181515616)
|
||||
- allow Function for `:fillrange` and `zcolor` arguments (for example: `scatter(sin, 0:10, marker=15, fill=(cos,0.4), zcolor=sin)`)
|
||||
- allow vectors of PlotText without x/y coords (for example: `scatter(rand(10), m=20, ann=map(text, 1:10))`)
|
||||
- Lots and lots of fixes
|
||||
|
||||
#### 0.5.1
|
||||
|
||||
#### 0.5.0
|
||||
|
||||
- `with` function for temporary defaults
|
||||
- contours
|
||||
- basic 3D plotting
|
||||
- preliminary support for Bokeh
|
||||
- `stroke` and `brush` for more fine-tuned control over visuals
|
||||
- smarter "magic" arguments: `line`, `marker`
|
||||
@@ -1,281 +1,22 @@
|
||||
# Plots
|
||||
|
||||
[](https://travis-ci.org/tbreloff/Plots.jl)
|
||||
[](https://gitter.im/tbreloff/Plots.jl?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
<!-- [](http://pkg.julialang.org/?pkg=Plots&ver=0.3) -->
|
||||
<!-- [](http://pkg.julialang.org/?pkg=Plots&ver=0.4) -->
|
||||
<!-- [](https://coveralls.io/r/tbreloff/Plots.jl?branch=master) -->
|
||||
<!-- [](http://codecov.io/github/tbreloff/Plots.jl?branch=master) -->
|
||||
|
||||
#### Author: Thomas Breloff (@tbreloff)
|
||||
|
||||
Plotting interface and wrapper for several plotting packages.
|
||||
|
||||
Please add wishlist items, bugs, or any other comments/questions to the issues list.
|
||||
|
||||
## Examples for each implemented backend:
|
||||
|
||||
- [Qwt.jl](docs/qwt_examples.md)
|
||||
- [Gadfly.jl](docs/gadfly_examples.md)
|
||||
- [UnicodePlots.jl](docs/unicodeplots_examples.md)
|
||||
- [PyPlot.jl](docs/pyplot_examples.md)
|
||||
- [Immerse.jl](docs/immerse_examples.md)
|
||||
- [Winston.jl](docs/winston_examples.md)
|
||||
|
||||
## Installation
|
||||
|
||||
First, add the package
|
||||
|
||||
```julia
|
||||
Pkg.add("Plots")
|
||||
```
|
||||
|
||||
then get any plotting packages you need (obviously, you should get at least one backend):
|
||||
|
||||
```julia
|
||||
Pkg.add("Gadfly")
|
||||
Pkg.add("Immerse")
|
||||
Pkg.add("UnicodePlots")
|
||||
Pkg.add("PyPlot") # requires python and matplotlib
|
||||
Pkg.clone("https://github.com/tbreloff/Qwt.jl.git") # requires pyqt and pyqwt
|
||||
Pkg.add("Winston")
|
||||
```
|
||||
|
||||
## Use
|
||||
|
||||
Load it in. The underlying plotting backends are not imported until `plotter()` is called (which happens
|
||||
on your first call to `plot` or `subplot`). This means that you don't need any backends to be installed when you call `using Plots`.
|
||||
Plots will try to figure out a good default backend for you automatically based on what backends are installed.
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
```
|
||||
|
||||
Do a plot in Gadfly, then save a png:
|
||||
|
||||
```julia
|
||||
# switch to Gadfly as a backend
|
||||
gadfly!()
|
||||
|
||||
# This will bring up a browser window with the plot. Add a semicolon to skip display.
|
||||
plot(rand(10,2); marker = :rect, markersizes=[10,30])
|
||||
|
||||
# save it as a PNG
|
||||
savepng(Plots.IMG_DIR * "gadfly1.png")
|
||||
```
|
||||
|
||||
which saves:
|
||||
|
||||

|
||||
|
||||
See the examples pages for lots of examples of plots, and what those commands produce for each supported backend.
|
||||
|
||||
## API
|
||||
|
||||
Call `plotter!(backend::Symbol)` or the shorthands (`gadfly!()`, `qwt!()`, `unicodeplots!()`, etc) to set the current plotting backend.
|
||||
Subsequent commands are converted into the relevant plotting commands for that package:
|
||||
|
||||
```julia
|
||||
gadfly!()
|
||||
plot(1:10) # this effectively calls `y = 1:10; Gadfly.plot(x=1:length(y), y=y)`
|
||||
qwt!()
|
||||
plot(1:10) # this effectively calls `Qwt.plot(1:10)`
|
||||
```
|
||||
|
||||
Use `plot` to create a new plot object, and `plot!` to add to an existing one:
|
||||
|
||||
```julia
|
||||
plot(args...; kw...) # creates a new plot window, and sets it to be the `currentPlot`
|
||||
plot!(args...; kw...) # adds to the `currentPlot`
|
||||
plot!(plotobj, args...; kw...) # adds to the plot `plotobj`
|
||||
```
|
||||
|
||||
Now that you know which plot object you're updating (new, current, or other), I'll leave it off for simplicity.
|
||||
Here are some various args to supply, and the implicit mapping (AVec == AbstractVector and AMat == AbstractMatrix):
|
||||
|
||||
```julia
|
||||
# one line... x = 1:length(y)
|
||||
plot(y::AVec; kw...)
|
||||
|
||||
# one line (will assert length(x) == length(y))
|
||||
plot(x::AVec, y::AVec; kw...)
|
||||
|
||||
# multiple lines (one per column of x), all sharing x = 1:size(y,1)
|
||||
plot(y::AMat; kw...)
|
||||
|
||||
# multiple lines (one per column of x), all sharing x (will assert length(x) == size(y,1))
|
||||
plot(x::AVec, y::AMat; kw...)
|
||||
|
||||
# multiple lines (one per column of x/y... will assert size(x) == size(y))
|
||||
plot(x::AMat, y::AMat; kw...)
|
||||
|
||||
# one line, map function for range [xmin,xmax]
|
||||
plot(f::Function, xmin::Real, xmax::Real; kw...)
|
||||
|
||||
# multiple lines, map functions for range [xmin,xmax]
|
||||
plot(f::AVec{Function}, xmin::Real, xmax::Real; kw...)
|
||||
|
||||
# parametric plot... x = fx(u), y = fy(u)
|
||||
plot(fx::Function, fy::Function, umin::Real, umax::Real; kw...)
|
||||
|
||||
# one line, y = f(x)... can swap x and f
|
||||
plot(x::AVec, f::Function; kw...)
|
||||
|
||||
# multiple lines, yᵢⱼ = f(xᵢⱼ)... can swap f and x
|
||||
plot(x::AMat, f::Function; kw...)
|
||||
|
||||
# multiple lines, yᵢⱼ = fⱼ(xᵢ)
|
||||
plot(x::AVec, fs::AVec{Function}; kw...)
|
||||
|
||||
# multiple lines, each with x = 1:length(y[i])
|
||||
plot(y::AVec{AVec}; kw...)
|
||||
|
||||
# multiple lines, will assert length(x) == length(y[i])
|
||||
plot(x::AVec, y::AVec{AVec}; kw...)
|
||||
|
||||
# multiple lines, will assert length(x[i]) == length(y[i])
|
||||
plot(x::AVec{AVec}, y::AVec{AVec}; kw...)
|
||||
|
||||
# n lines, all empty (for updating plots)
|
||||
plot(n::Integer; kw...)
|
||||
|
||||
# TODO: DataFrames, categorical values
|
||||
```
|
||||
|
||||
With `subplot`, create multiple plots at once, with flexible layout options:
|
||||
|
||||
```julia
|
||||
y = rand(100,3)
|
||||
subplot(y; n = 3) # create an automatic grid, and let it figure out the shape
|
||||
subplot(y; n = 3, nr = 1) # create an automatic grid, but fix the number of rows
|
||||
subplot(y; n = 3, nc = 1) # create an automatic grid, but fix the number of columns
|
||||
subplot(y; layout = [1, 2]) # explicit layout. Lists the number of plots in each row
|
||||
```
|
||||
|
||||
__Tip__: You can call `subplot!(args...; kw...)` to add to an existing subplot.
|
||||
|
||||
__Tip__: Calling `subplot!` on a `Plot` object, or `plot!` on a `Subplot` object will throw an error.
|
||||
|
||||
Shorthands:
|
||||
|
||||
```julia
|
||||
scatter(args...; kw...) = plot(args...; kw..., linetype = :scatter)
|
||||
scatter!(args...; kw...) = plot!(args...; kw..., linetype = :scatter)
|
||||
bar(args...; kw...) = plot(args...; kw..., linetype = :bar)
|
||||
bar!(args...; kw...) = plot!(args...; kw..., linetype = :bar)
|
||||
histogram(args...; kw...) = plot(args...; kw..., linetype = :hist)
|
||||
histogram!(args...; kw...) = plot!(args...; kw..., linetype = :hist)
|
||||
heatmap(args...; kw...) = plot(args...; kw..., linetype = :heatmap)
|
||||
heatmap!(args...; kw...) = plot!(args...; kw..., linetype = :heatmap)
|
||||
sticks(args...; kw...) = plot(args...; kw..., linetype = :sticks, marker = :ellipse)
|
||||
sticks!(args...; kw...) = plot!(args...; kw..., linetype = :sticks, marker = :ellipse)
|
||||
```
|
||||
|
||||
Some keyword arguments you can set:
|
||||
|
||||
```
|
||||
axis # :left or :right
|
||||
color # can be a string ("red") or a symbol (:red) or a ColorsTypes.jl
|
||||
# Colorant (RGB(1,0,0)) or :auto (which lets the package pick)
|
||||
label # string or symbol, applies to that line, may go in a legend
|
||||
width # width of a line
|
||||
linetype # :line, :step, :stepinverted, :sticks, :scatter, :none, :heatmap, :hexbin, :hist, :bar
|
||||
linestyle # :solid, :dash, :dot, :dashdot, :dashdotdot
|
||||
marker # :none, :ellipse, :rect, :diamond, :utriangle, :dtriangle,
|
||||
# :cross, :xcross, :star1, :star2, :hexagon
|
||||
markercolor # same choices as `color`, or :match will set the color to be the same as `color`
|
||||
markersize # size of the marker
|
||||
nbins # number of bins for heatmap/hexbin and histograms
|
||||
heatmap_c # color cutoffs for Qwt heatmaps
|
||||
fillto # fillto value for area plots
|
||||
title # string or symbol, title of the plot
|
||||
xlabel # string or symbol, label on the bottom (x) axis
|
||||
ylabel # string or symbol, label on the left (y) axis
|
||||
yrightlabel # string or symbol, label on the right (y) axis
|
||||
reg # true or false, add a regression line for each line
|
||||
size # (Int,Int), resize the enclosing window
|
||||
pos # (Int,Int), move the enclosing window to this position
|
||||
windowtitle # string or symbol, set the title of the enclosing windowtitle
|
||||
screen # Integer, move enclosing window to this screen number (for multiscreen desktops)
|
||||
```
|
||||
|
||||
Note that not every backend supports all options.
|
||||
|
||||
If you don't include a keyword argument, these are the defaults:
|
||||
|
||||
```
|
||||
axis = :left
|
||||
color = :auto
|
||||
label = automatically generated (y1, y2, ...., or y1 (R), y2 (R) for the right axis)
|
||||
width = 1
|
||||
linetype = :line
|
||||
linestype = :solid
|
||||
marker = :none
|
||||
markercolor = :match
|
||||
markersize = 3
|
||||
nbins = 100
|
||||
heatmap_c = (0.15, 0.5)
|
||||
fillto = nothing
|
||||
title = ""
|
||||
xlabel = ""
|
||||
ylabel = ""
|
||||
yrightlabel = ""
|
||||
reg = false
|
||||
size = (600,400)
|
||||
pos = (0,0)
|
||||
windowtitle = "Plots.jl"
|
||||
screen = 1
|
||||
```
|
||||
|
||||
__Tip__: You can see the default value for a given argument with `plotDefault(arg::Symbol)`, and set the default value with `plotDefault!(arg::Symbol, value)`
|
||||
|
||||
__Tip__: When plotting multiple lines, you can give every line the same trait by using the singular, or add an "s" to pluralize.
|
||||
(yes I know it's not gramatically correct, but it's easy to use and implement)
|
||||
|
||||
```julia
|
||||
# Note: The same width is applied to both lines, whereas
|
||||
# each line gets different color and axis.
|
||||
plot(rand(100,2); colors = [:red, RGB(.5,.5,0)],
|
||||
axiss = [:left, :right],
|
||||
width = 5)
|
||||
```
|
||||
|
||||
## TODO features:
|
||||
|
||||
- [x] Plot vectors/matrices/functions
|
||||
- [ ] Plot DataFrames
|
||||
- [ ] Scales
|
||||
- [ ] Categorical Inputs (strings, etc... for hist, bar? or can split one series into multiple?)
|
||||
- [ ] Custom markers
|
||||
- [ ] Special plots (boxplot, ohlc?)
|
||||
- [x] Subplots
|
||||
- [x] Histograms
|
||||
- [ ] 3D plotting
|
||||
- [ ] Scenes/Drawing
|
||||
- [ ] Graphs
|
||||
- [ ] Interactivity (GUIs)
|
||||
|
||||
## TODO backends:
|
||||
|
||||
- [x] Gadfly.jl
|
||||
- [x] Immerse.jl
|
||||
- [x] PyPlot.jl
|
||||
- [x] UnicodePlots.jl
|
||||
- [x] Qwt.jl
|
||||
- [x] Winston.jl
|
||||
- [ ] GLPlot.jl
|
||||
- [ ] Bokeh.jl
|
||||
- [ ] Vega.jl
|
||||
- [ ] Gaston.jl
|
||||
- [ ] Plotly.jl
|
||||
- [ ] GoogleCharts.jl
|
||||
- [ ] PLplot.jl
|
||||
- [ ] TextPlots.jl
|
||||
- [ ] ASCIIPlots.jl
|
||||
- [ ] Sparklines.jl
|
||||
- [ ] Hinton.jl
|
||||
- [ ] ImageTerm.jl
|
||||
- [ ] GraphViz.jl
|
||||
- [ ] TikzGraphs.jl
|
||||
- [ ] GraphLayout.jl
|
||||
|
||||
## More information on backends (both supported and unsupported)
|
||||
|
||||
See the wiki at: https://github.com/JuliaPlot/juliaplot_docs/wiki
|
||||
Plots is a plotting API and toolset. My goals with the package are:
|
||||
|
||||
- **Powerful**. Do more with less. Complex visualizations become easy.
|
||||
- **Intuitive**. Stop reading so much documentation. Commands should "just work".
|
||||
- **Concise**. Less code means fewer mistakes and more efficient development/analysis.
|
||||
- **Flexible**. Produce your favorite plots from your favorite package, but quicker and simpler.
|
||||
- **Consistent**. Don't commit to one graphics package, use the same code everywhere.
|
||||
- **Lightweight**. Very few dependencies.
|
||||
- **Smart**. Attempts to figure out what you **want** it to do... not just what you **tell** it.
|
||||
|
||||
View the [full documentation](http://juliaplots.github.io).
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
julia 0.4-
|
||||
julia 0.4
|
||||
|
||||
Colors
|
||||
RecipesBase
|
||||
PlotUtils
|
||||
Reexport
|
||||
Compat
|
||||
FixedSizeArrays
|
||||
Measures
|
||||
Showoff
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
environment:
|
||||
matrix:
|
||||
- JULIAVERSION: "julialang/bin/winnt/x86/0.3/julia-0.3-latest-win32.exe"
|
||||
- JULIAVERSION: "julialang/bin/winnt/x64/0.3/julia-0.3-latest-win64.exe"
|
||||
- JULIAVERSION: "julianightlies/bin/winnt/x86/julia-latest-win32.exe"
|
||||
- JULIAVERSION: "julianightlies/bin/winnt/x64/julia-latest-win64.exe"
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- /release-.*/
|
||||
# Releases
|
||||
- JULIAVERSION: "stable/win32"
|
||||
- JULIAVERSION: "stable/win64"
|
||||
# Nightlies
|
||||
- JULIAVERSION: "download/win32"
|
||||
- JULIAVERSION: "download/win64"
|
||||
|
||||
notifications:
|
||||
- provider: Email
|
||||
@@ -18,17 +15,15 @@ notifications:
|
||||
|
||||
install:
|
||||
# Download most recent Julia Windows binary
|
||||
- ps: (new-object net.webclient).DownloadFile(
|
||||
$("http://s3.amazonaws.com/"+$env:JULIAVERSION),
|
||||
"C:\projects\julia-binary.exe")
|
||||
- ps: (new-object net.webclient).DownloadFile($("http://status.julialang.org/"+$env:JULIAVERSION), "C:\projects\julia-binary.exe")
|
||||
# Run installer silently, output to C:\projects\julia
|
||||
- C:\projects\julia-binary.exe /S /D=C:\projects\julia
|
||||
|
||||
build_script:
|
||||
# Need to convert from shallow to complete for Pkg.clone to work
|
||||
- IF EXIST .git\shallow (git fetch --unshallow)
|
||||
- C:\projects\julia\bin\julia -e "versioninfo();
|
||||
Pkg.clone(pwd(), \"Plots\"); Pkg.build(\"Plots\")"
|
||||
- C:\projects\julia\bin\julia -e "versioninfo(); Pkg.clone(pwd(), \"Plots\"); Pkg.build(\"Plots\")"
|
||||
|
||||
test_script:
|
||||
- C:\projects\julia\bin\julia --check-bounds=yes -e "Pkg.test(\"Plots\")"
|
||||
# - C:\projects\julia\bin\julia -e "Pkg.test(\"Plots\")"
|
||||
- C:\projects\julia\bin\julia -e "include(Pkg.dir(\"Plots\", \"test\", \"travis_commands.jl\"))"
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
#TODO: download https://cdn.plot.ly/plotly-latest.min.js to deps/ if it doesn't exist
|
||||
|
||||
local_fn = joinpath(dirname(@__FILE__), "plotly-latest.min.js")
|
||||
if !isfile(local_fn)
|
||||
info("Cannot find deps/plotly-latest.min.js... downloading latest version.")
|
||||
download("https://cdn.plot.ly/plotly-latest.min.js", local_fn)
|
||||
end
|
||||
@@ -1,198 +0,0 @@
|
||||
|
||||
module PlotExamples
|
||||
|
||||
using Plots
|
||||
using Colors
|
||||
|
||||
const DOCDIR = Pkg.dir("Plots") * "/docs"
|
||||
const IMGDIR = Pkg.dir("Plots") * "/img"
|
||||
|
||||
doc"""
|
||||
Holds all data needed for a documentation example... header, description, and plotting expression (Expr)
|
||||
"""
|
||||
type PlotExample
|
||||
header::String
|
||||
desc::String
|
||||
exprs::Vector{Expr}
|
||||
end
|
||||
|
||||
|
||||
# the examples we'll run for each
|
||||
const examples = PlotExample[
|
||||
PlotExample("Lines",
|
||||
"A simple line plot of the 3 columns.",
|
||||
[:(plot(rand(100,3)))]),
|
||||
PlotExample("Functions",
|
||||
"Plot multiple functions. You can also put the function first.",
|
||||
[:(plot(0:0.01:4π, [sin,cos]))]),
|
||||
PlotExample("",
|
||||
"You can also call it with plot(f, xmin, xmax).",
|
||||
[:(plot([sin,cos], 0, 4π))]),
|
||||
PlotExample("",
|
||||
"Or make a parametric plot (i.e. plot: (fx(u), fy(u))) with plot(fx, fy, umin, umax).",
|
||||
[:(plot(sin, x->sin(2x), 0, 2π, legend=false))]),
|
||||
PlotExample("Global",
|
||||
"Change the guides/background without a separate call.",
|
||||
[:(plot(rand(10); title="TITLE", xlabel="XLABEL", ylabel="YLABEL", background_color = RGB(0.5,0.5,0.5)))]),
|
||||
PlotExample("Two-axis",
|
||||
"Use the `axis` or `axiss` arguments.\n\nNote: Currently only supported with Qwt and PyPlot",
|
||||
[:(plot(Vector[randn(100), randn(100)*100]; axiss = [:left,:right], ylabel="LEFT", yrightlabel="RIGHT"))]),
|
||||
PlotExample("Vectors w/ pluralized args",
|
||||
"Plot multiple series with different numbers of points. Mix arguments that apply to all series (singular... see `marker`) with arguments unique to each series (pluralized... see `colors`).",
|
||||
[:(plot(Vector[rand(10), rand(20)]; marker=:ellipse, markersize=8, colors=[:red,:blue]))]),
|
||||
PlotExample("Build plot in pieces",
|
||||
"Start with a base plot...",
|
||||
[:(plot(rand(100)/3; reg=true, fillto=0))]),
|
||||
PlotExample("",
|
||||
"and add to it later.",
|
||||
[:(scatter!(rand(100); markersize=6, color=:blue))]),
|
||||
PlotExample("Heatmaps",
|
||||
"",
|
||||
[:(heatmap(randn(10000),randn(10000); nbins=100))]),
|
||||
PlotExample("Line types",
|
||||
"",
|
||||
[:(types = intersect(supportedTypes(), [:line, :step, :stepinverted, :sticks, :scatter])),
|
||||
:(n = length(types)),
|
||||
:(x = Vector[sort(rand(20)) for i in 1:n]),
|
||||
:(y = rand(20,n)),
|
||||
:(plot(x, y; linetypes=types, labels=map(string,types)))]),
|
||||
PlotExample("Line styles",
|
||||
"",
|
||||
[:(styles = setdiff(supportedStyles(), [:auto])), :(plot(rand(20,length(styles)); linestyle=:auto, labels=map(string,styles)))]),
|
||||
PlotExample("Marker types",
|
||||
"",
|
||||
[:(markers = setdiff(supportedMarkers(), [:none,:auto])), :(scatter(0.5:9.5, [fill(i-0.5,10) for i=length(markers):-1:1]; marker=:auto, labels=map(string,markers), markersize=10))]),
|
||||
PlotExample("Bar",
|
||||
"x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)",
|
||||
[:(bar(randn(1000)))]),
|
||||
PlotExample("Histogram",
|
||||
"note: fillto isn't supported on all backends",
|
||||
[:(histogram(randn(1000); nbins=50, fillto=20))]),
|
||||
PlotExample("Subplots",
|
||||
"""
|
||||
subplot and subplot! are distinct commands which create many plots and add series to them in a circular fashion.
|
||||
You can define the layout with keyword params... either set the number of plots `n` (and optionally number of rows `nr` or
|
||||
number of columns `nc`), or you can set the layout directly with `layout`.
|
||||
|
||||
Note: Gadfly is not very friendly here, and although you can create a plot and save a PNG, I haven't been able to actually display it.
|
||||
""",
|
||||
[:(subplot(randn(100,5); layout=[1,1,3], linetypes=[:line,:hist,:scatter,:step,:bar], nbins=10, legend=false))]),
|
||||
PlotExample("Adding to subplots",
|
||||
"Note here the automatic grid layout, as well as the order in which new series are added to the plots.",
|
||||
[:(subplot(randn(100,5); n=4))]),
|
||||
PlotExample("",
|
||||
"",
|
||||
[:(subplot!(randn(100,3)))]),
|
||||
PlotExample("Open/High/Low/Close",
|
||||
"Create an OHLC chart. Pass in a vector of 4-tuples as your `y` argument. Adjust the tick width with arg `markersize`.",
|
||||
[:(n=20), :(hgt=rand(n)+1), :(bot=randn(n)), :(openpct=rand(n)), :(closepct=rand(n)), :(y = [(openpct[i]*hgt[i]+bot[i], bot[i]+hgt[i], bot[i], closepct[i]*hgt[i]+bot[i]) for i in 1:n]), :(ohlc(y; markersize=8))]),
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
||||
function createStringOfMarkDownCodeValues(arr, prefix = "")
|
||||
string("`", prefix, join(arr, "`, `$prefix"), "`")
|
||||
end
|
||||
createStringOfMarkDownSymbols(arr) = createStringOfMarkDownCodeValues(arr, ":")
|
||||
|
||||
|
||||
function generate_markdown(pkgname::Symbol)
|
||||
|
||||
# set up the plotter, and don't show the plots by default
|
||||
pkg = plotter!(pkgname)
|
||||
# plotDefault!(:show, false)
|
||||
|
||||
# mkdir if necessary
|
||||
try
|
||||
mkdir("$IMGDIR/$pkgname")
|
||||
end
|
||||
|
||||
# open the markdown file
|
||||
md = open("$DOCDIR/$(pkgname)_examples.md", "w")
|
||||
|
||||
write(md, "# Examples for backend: $pkgname\n\n")
|
||||
write(md, "- Supported arguments: $(createStringOfMarkDownCodeValues(supportedArgs(pkg)))\n")
|
||||
write(md, "- Supported values for axis: $(createStringOfMarkDownSymbols(supportedAxes(pkg)))\n")
|
||||
write(md, "- Supported values for linetype: $(createStringOfMarkDownSymbols(supportedTypes(pkg)))\n")
|
||||
write(md, "- Supported values for linestyle: $(createStringOfMarkDownSymbols(supportedStyles(pkg)))\n")
|
||||
write(md, "- Supported values for marker: $(createStringOfMarkDownSymbols(supportedMarkers(pkg)))\n")
|
||||
write(md, "- Is `subplot`/`subplot!` supported? $(subplotSupported(pkg) ? "Yes" : "No")\n\n")
|
||||
|
||||
write(md, "### Initialize\n\n```julia\nusing Plots\n$(pkgname)!()\n```\n\n")
|
||||
|
||||
|
||||
for (i,example) in enumerate(examples)
|
||||
|
||||
try
|
||||
|
||||
# run the code
|
||||
map(eval, example.exprs)
|
||||
|
||||
# save the png
|
||||
imgname = "$(pkgname)_example_$i.png"
|
||||
|
||||
# NOTE: uncomment this to overwrite the images as well
|
||||
# savepng("$IMGDIR/$pkgname/$imgname")
|
||||
|
||||
# write out the header, description, code block, and image link
|
||||
write(md, "### $(example.header)\n\n")
|
||||
write(md, "$(example.desc)\n\n")
|
||||
write(md, "```julia\n$(join(map(string, example.exprs), "\n"))\n```\n\n")
|
||||
write(md, "\n\n")
|
||||
|
||||
catch ex
|
||||
# TODO: put error info into markdown?
|
||||
warn("Example $pkgname:$i failed with: $ex")
|
||||
end
|
||||
|
||||
#
|
||||
end
|
||||
|
||||
close(md)
|
||||
|
||||
end
|
||||
|
||||
|
||||
# make and display one plot
|
||||
function test_example(pkgname::Symbol, idx::Int)
|
||||
println("Testing plot: $pkgname:$idx:$(examples[idx].header)")
|
||||
plotter!(pkgname)
|
||||
plotter()
|
||||
map(eval, examples[idx].exprs)
|
||||
plt = currentPlot()
|
||||
display(plt)
|
||||
plt
|
||||
end
|
||||
|
||||
# generate all plots and create a dict mapping idx --> plt
|
||||
function test_all_examples(pkgname::Symbol)
|
||||
plts = Dict()
|
||||
for i in 1:length(examples)
|
||||
if examples[i].header == "Subplots" && !subplotSupported()
|
||||
break
|
||||
end
|
||||
|
||||
try
|
||||
plt = test_example(pkgname, i)
|
||||
plts[i] = plt
|
||||
catch ex
|
||||
# TODO: put error info into markdown?
|
||||
warn("Example $pkgname:$i:$(examples[i].header) failed with: $ex")
|
||||
end
|
||||
end
|
||||
plts
|
||||
end
|
||||
|
||||
# run it!
|
||||
# note: generate separately so it's easy to comment out
|
||||
# @osx_only generate_markdown(:unicodeplots)
|
||||
# generate_markdown(:qwt)
|
||||
# generate_markdown(:gadfly)
|
||||
# generate_markdown(:pyplot)
|
||||
# generate_markdown(:immerse)
|
||||
# generate_markdown(:winston)
|
||||
|
||||
|
||||
end # module
|
||||
|
||||
@@ -1,227 +0,0 @@
|
||||
# Examples for backend: gadfly
|
||||
|
||||
- Supported arguments: `args`, `axis`, `color`, `kwargs`, `label`, `legend`, `linestyle`, `linetype`, `marker`, `markercolor`, `markersize`, `nbins`, `reg`, `size`, `title`, `width`, `windowtitle`, `xlabel`, `ylabel`, `yrightlabel`
|
||||
- Supported values for axis: `:auto`, `:left`
|
||||
- Supported values for linetype: `:none`, `:line`, `:step`, `:sticks`, `:scatter`, `:heatmap`, `:hexbin`, `:hist`, `:bar`, `:hline`, `:vline`, `:ohlc`
|
||||
- Supported values for linestyle: `:auto`, `:solid`
|
||||
- Supported values for marker: `:none`, `:auto`, `:rect`, `:ellipse`, `:diamond`, `:utriangle`, `:dtriangle`, `:cross`, `:xcross`, `:star1`, `:star2`, `:hexagon`
|
||||
- Is `subplot`/`subplot!` supported? Yes
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
gadfly!()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the 3 columns.
|
||||
|
||||
```julia
|
||||
plot(rand(100,3))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Functions
|
||||
|
||||
Plot multiple functions. You can also put the function first.
|
||||
|
||||
```julia
|
||||
plot(0:0.01:4π,[sin,cos])
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
You can also call it with plot(f, xmin, xmax).
|
||||
|
||||
```julia
|
||||
plot([sin,cos],0,4π)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
Or make a parametric plot (i.e. plot: (fx(u), fy(u))) with plot(fx, fy, umin, umax).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 33:
|
||||
sin(2x)
|
||||
end),0,2π,legend=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background without a separate call.
|
||||
|
||||
```julia
|
||||
plot(rand(10); title="TITLE",xlabel="XLABEL",ylabel="YLABEL",background_color=RGB(0.5,0.5,0.5))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` or `axiss` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100]; axiss=[:left,:right],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Vectors w/ pluralized args
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (singular... see `marker`) with arguments unique to each series (pluralized... see `colors`).
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)]; marker=:ellipse,markersize=8,colors=[:red,:blue])
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3; reg=true,fillto=0)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100); markersize=6,color=:blue)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Heatmaps
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
heatmap(randn(10000),randn(10000); nbins=100)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:step,:stepinverted,:sticks,:scatter])
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y; linetypes=types,labels=map(string,types))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line styles
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])
|
||||
plot(rand(20,length(styles)); linestyle=:auto,labels=map(string,styles))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Marker types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto])
|
||||
scatter(0.5:9.5,[fill(i - 0.5,10) for i = length(markers):-1:1]; marker=:auto,labels=map(string,markers),markersize=10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(1000))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
note: fillto isn't supported on all backends
|
||||
|
||||
```julia
|
||||
histogram(randn(1000); nbins=50,fillto=20)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Subplots
|
||||
|
||||
subplot and subplot! are distinct commands which create many plots and add series to them in a circular fashion.
|
||||
You can define the layout with keyword params... either set the number of plots `n` (and optionally number of rows `nr` or
|
||||
number of columns `nc`), or you can set the layout directly with `layout`.
|
||||
|
||||
Note: Gadfly is not very friendly here, and although you can create a plot and save a PNG, I haven't been able to actually display it.
|
||||
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5); layout=[1,1,3],linetypes=[:line,:hist,:scatter,:step,:bar],nbins=10,legend=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Adding to subplots
|
||||
|
||||
Note here the automatic grid layout, as well as the order in which new series are added to the plots.
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5); n=4)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
subplot!(randn(100,3))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Open/High/Low/Close
|
||||
|
||||
Create an OHLC chart. Pass in a vector of 4-tuples as your `y` argument. Adjust the tick width with arg `markersize`.
|
||||
|
||||
```julia
|
||||
n = 20
|
||||
hgt = rand(n) + 1
|
||||
bot = randn(n)
|
||||
openpct = rand(n)
|
||||
closepct = rand(n)
|
||||
y = [(openpct[i] * hgt[i] + bot[i],bot[i] + hgt[i],bot[i],closepct[i] * hgt[i] + bot[i]) for i = 1:n]
|
||||
ohlc(y; markersize=8)
|
||||
```
|
||||
|
||||

|
||||
|
||||
@@ -1,227 +0,0 @@
|
||||
# Examples for backend: immerse
|
||||
|
||||
- Supported arguments: `args`, `axis`, `color`, `kwargs`, `label`, `legend`, `linestyle`, `linetype`, `marker`, `markercolor`, `markersize`, `nbins`, `reg`, `size`, `title`, `width`, `windowtitle`, `xlabel`, `ylabel`, `yrightlabel`
|
||||
- Supported values for axis: `:auto`, `:left`
|
||||
- Supported values for linetype: `:none`, `:line`, `:step`, `:sticks`, `:scatter`, `:heatmap`, `:hexbin`, `:hist`, `:bar`, `:hline`, `:vline`, `:ohlc`
|
||||
- Supported values for linestyle: `:auto`, `:solid`
|
||||
- Supported values for marker: `:none`, `:auto`, `:rect`, `:ellipse`, `:diamond`, `:utriangle`, `:dtriangle`, `:cross`, `:xcross`, `:star1`, `:star2`, `:hexagon`
|
||||
- Is `subplot`/`subplot!` supported? Yes
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
immerse!()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the 3 columns.
|
||||
|
||||
```julia
|
||||
plot(rand(100,3))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Functions
|
||||
|
||||
Plot multiple functions. You can also put the function first.
|
||||
|
||||
```julia
|
||||
plot(0:0.01:4π,[sin,cos])
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
You can also call it with plot(f, xmin, xmax).
|
||||
|
||||
```julia
|
||||
plot([sin,cos],0,4π)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
Or make a parametric plot (i.e. plot: (fx(u), fy(u))) with plot(fx, fy, umin, umax).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 33:
|
||||
sin(2x)
|
||||
end),0,2π,legend=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background without a separate call.
|
||||
|
||||
```julia
|
||||
plot(rand(10); title="TITLE",xlabel="XLABEL",ylabel="YLABEL",background_color=RGB(0.5,0.5,0.5))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` or `axiss` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100]; axiss=[:left,:right],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Vectors w/ pluralized args
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (singular... see `marker`) with arguments unique to each series (pluralized... see `colors`).
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)]; marker=:ellipse,markersize=8,colors=[:red,:blue])
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3; reg=true,fillto=0)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100); markersize=6,color=:blue)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Heatmaps
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
heatmap(randn(10000),randn(10000); nbins=100)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:step,:stepinverted,:sticks,:scatter])
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y; linetypes=types,labels=map(string,types))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line styles
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])
|
||||
plot(rand(20,length(styles)); linestyle=:auto,labels=map(string,styles))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Marker types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto])
|
||||
scatter(0.5:9.5,[fill(i - 0.5,10) for i = length(markers):-1:1]; marker=:auto,labels=map(string,markers),markersize=10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(1000))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
note: fillto isn't supported on all backends
|
||||
|
||||
```julia
|
||||
histogram(randn(1000); nbins=50,fillto=20)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Subplots
|
||||
|
||||
subplot and subplot! are distinct commands which create many plots and add series to them in a circular fashion.
|
||||
You can define the layout with keyword params... either set the number of plots `n` (and optionally number of rows `nr` or
|
||||
number of columns `nc`), or you can set the layout directly with `layout`.
|
||||
|
||||
Note: Gadfly is not very friendly here, and although you can create a plot and save a PNG, I haven't been able to actually display it.
|
||||
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5); layout=[1,1,3],linetypes=[:line,:hist,:scatter,:step,:bar],nbins=10,legend=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Adding to subplots
|
||||
|
||||
Note here the automatic grid layout, as well as the order in which new series are added to the plots.
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5); n=4)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
subplot!(randn(100,3))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Open/High/Low/Close
|
||||
|
||||
Create an OHLC chart. Pass in a vector of 4-tuples as your `y` argument. Adjust the tick width with arg `markersize`.
|
||||
|
||||
```julia
|
||||
n = 20
|
||||
hgt = rand(n) + 1
|
||||
bot = randn(n)
|
||||
openpct = rand(n)
|
||||
closepct = rand(n)
|
||||
y = [(openpct[i] * hgt[i] + bot[i],bot[i] + hgt[i],bot[i],closepct[i] * hgt[i] + bot[i]) for i = 1:n]
|
||||
ohlc(y; markersize=8)
|
||||
```
|
||||
|
||||

|
||||
|
||||
@@ -1,176 +0,0 @@
|
||||
# Examples for backend: pyplot
|
||||
|
||||
- Supported arguments: `args`, `axis`, `color`, `kwargs`, `label`, `legend`, `linestyle`, `linetype`, `marker`, `markercolor`, `markersize`, `nbins`, `size`, `title`, `width`, `windowtitle`, `xlabel`, `ylabel`, `yrightlabel`
|
||||
- Supported values for axis: `:auto`, `:left`, `:right`
|
||||
- Supported values for linetype: `:none`, `:line`, `:step`, `:stepinverted`, `:sticks`, `:scatter`, `:heatmap`, `:hexbin`, `:hist`, `:bar`
|
||||
- Supported values for linestyle: `:auto`, `:solid`, `:dash`, `:dot`, `:dashdot`
|
||||
- Supported values for marker: `:none`, `:auto`, `:rect`, `:ellipse`, `:diamond`, `:utriangle`, `:dtriangle`, `:cross`, `:xcross`, `:star1`, `:hexagon`
|
||||
- Is `subplot`/`subplot!` supported? No
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
pyplot!()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the 3 columns.
|
||||
|
||||
```julia
|
||||
plot(rand(100,3))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Functions
|
||||
|
||||
Plot multiple functions. You can also put the function first.
|
||||
|
||||
```julia
|
||||
plot(0:0.01:4π,[sin,cos])
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
You can also call it with plot(f, xmin, xmax).
|
||||
|
||||
```julia
|
||||
plot([sin,cos],0,4π)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
Or make a parametric plot (i.e. plot: (fx(u), fy(u))) with plot(fx, fy, umin, umax).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 33:
|
||||
sin(2x)
|
||||
end),0,2π,legend=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background without a separate call.
|
||||
|
||||
```julia
|
||||
plot(rand(10); title="TITLE",xlabel="XLABEL",ylabel="YLABEL",background_color=RGB(0.5,0.5,0.5))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` or `axiss` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100]; axiss=[:left,:right],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Vectors w/ pluralized args
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (singular... see `marker`) with arguments unique to each series (pluralized... see `colors`).
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)]; marker=:ellipse,markersize=8,colors=[:red,:blue])
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3; reg=true,fillto=0)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100); markersize=6,color=:blue)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Heatmaps
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
heatmap(randn(10000),randn(10000); nbins=100)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:step,:stepinverted,:sticks,:scatter])
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y; linetypes=types,labels=map(string,types))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line styles
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])
|
||||
plot(rand(20,length(styles)); linestyle=:auto,labels=map(string,styles))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Marker types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto])
|
||||
scatter(0.5:9.5,[fill(i - 0.5,10) for i = length(markers):-1:1]; marker=:auto,labels=map(string,markers),markersize=10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(1000))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
note: fillto isn't supported on all backends
|
||||
|
||||
```julia
|
||||
histogram(randn(1000); nbins=50,fillto=20)
|
||||
```
|
||||
|
||||

|
||||
|
||||
@@ -1,211 +0,0 @@
|
||||
# Examples for backend: qwt
|
||||
|
||||
- Supported arguments: `args`, `axis`, `color`, `fillto`, `heatmap_c`, `kwargs`, `label`, `legend`, `linestyle`, `linetype`, `marker`, `markercolor`, `markersize`, `nbins`, `reg`, `size`, `title`, `width`, `windowtitle`, `xlabel`, `ylabel`, `yrightlabel`
|
||||
- Supported values for axis: `:auto`, `:left`, `:right`
|
||||
- Supported values for linetype: `:none`, `:line`, `:step`, `:stepinverted`, `:sticks`, `:scatter`, `:heatmap`, `:hexbin`, `:hist`, `:bar`
|
||||
- Supported values for linestyle: `:auto`, `:solid`, `:dash`, `:dot`, `:dashdot`, `:dashdotdot`
|
||||
- Supported values for marker: `:none`, `:auto`, `:ellipse`, `:rect`, `:diamond`, `:utriangle`, `:dtriangle`, `:cross`, `:xcross`, `:star1`, `:star2`, `:hexagon`
|
||||
- Is `subplot`/`subplot!` supported? Yes
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
qwt!()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the 3 columns.
|
||||
|
||||
```julia
|
||||
plot(rand(100,3))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Functions
|
||||
|
||||
Plot multiple functions. You can also put the function first.
|
||||
|
||||
```julia
|
||||
plot(0:0.01:4π,[sin,cos])
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
You can also call it with plot(f, xmin, xmax).
|
||||
|
||||
```julia
|
||||
plot([sin,cos],0,4π)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
Or make a parametric plot (i.e. plot: (fx(u), fy(u))) with plot(fx, fy, umin, umax).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 33:
|
||||
sin(2x)
|
||||
end),0,2π,legend=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background without a separate call.
|
||||
|
||||
```julia
|
||||
plot(rand(10); title="TITLE",xlabel="XLABEL",ylabel="YLABEL",background_color=RGB(0.5,0.5,0.5))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` or `axiss` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100]; axiss=[:left,:right],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Vectors w/ pluralized args
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (singular... see `marker`) with arguments unique to each series (pluralized... see `colors`).
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)]; marker=:ellipse,markersize=8,colors=[:red,:blue])
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3; reg=true,fillto=0)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100); markersize=6,color=:blue)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Heatmaps
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
heatmap(randn(10000),randn(10000); nbins=100)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:step,:stepinverted,:sticks,:scatter])
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y; linetypes=types,labels=map(string,types))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line styles
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])
|
||||
plot(rand(20,length(styles)); linestyle=:auto,labels=map(string,styles))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Marker types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto])
|
||||
scatter(0.5:9.5,[fill(i - 0.5,10) for i = length(markers):-1:1]; marker=:auto,labels=map(string,markers),markersize=10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(1000))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
note: fillto isn't supported on all backends
|
||||
|
||||
```julia
|
||||
histogram(randn(1000); nbins=50,fillto=20)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Subplots
|
||||
|
||||
subplot and subplot! are distinct commands which create many plots and add series to them in a circular fashion.
|
||||
You can define the layout with keyword params... either set the number of plots `n` (and optionally number of rows `nr` or
|
||||
number of columns `nc`), or you can set the layout directly with `layout`.
|
||||
|
||||
Note: Gadfly is not very friendly here, and although you can create a plot and save a PNG, I haven't been able to actually display it.
|
||||
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5); layout=[1,1,3],linetypes=[:line,:hist,:scatter,:step,:bar],nbins=10,legend=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Adding to subplots
|
||||
|
||||
Note here the automatic grid layout, as well as the order in which new series are added to the plots.
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5); n=4)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
subplot!(randn(100,3))
|
||||
```
|
||||
|
||||

|
||||
|
||||
@@ -1,211 +0,0 @@
|
||||
# Examples for backend: unicodeplots
|
||||
|
||||
- Supported arguments: `args`, `axis`, `color`, `kwargs`, `label`, `legend`, `linestyle`, `linetype`, `marker`, `markercolor`, `markersize`, `nbins`, `size`, `title`, `width`, `windowtitle`, `xlabel`, `ylabel`, `yrightlabel`
|
||||
- Supported values for axis: `:auto`, `:left`
|
||||
- Supported values for linetype: `:none`, `:line`, `:step`, `:sticks`, `:scatter`, `:heatmap`, `:hexbin`, `:hist`, `:bar`
|
||||
- Supported values for linestyle: `:auto`, `:solid`
|
||||
- Supported values for marker: `:none`, `:auto`, `:ellipse`
|
||||
- Is `subplot`/`subplot!` supported? Yes
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
unicodeplots!()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the 3 columns.
|
||||
|
||||
```julia
|
||||
plot(rand(100,3))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Functions
|
||||
|
||||
Plot multiple functions. You can also put the function first.
|
||||
|
||||
```julia
|
||||
plot(0:0.01:4π,[sin,cos])
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
You can also call it with plot(f, xmin, xmax).
|
||||
|
||||
```julia
|
||||
plot([sin,cos],0,4π)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
Or make a parametric plot (i.e. plot: (fx(u), fy(u))) with plot(fx, fy, umin, umax).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 33:
|
||||
sin(2x)
|
||||
end),0,2π)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background without a separate call.
|
||||
|
||||
```julia
|
||||
plot(rand(10); title="TITLE",xlabel="XLABEL",ylabel="YLABEL",background_color=RGB(0.5,0.5,0.5))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` or `axiss` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100]; axiss=[:left,:right],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Vectors w/ pluralized args
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (singular... see `marker`) with arguments unique to each series (pluralized... see `colors`).
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)]; marker=:ellipse,markersize=8,colors=[:red,:blue])
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3; reg=true,fillto=0)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100); markersize=6,color=:blue)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Heatmaps
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
heatmap(randn(10000),randn(10000); nbins=100)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Suported line types
|
||||
|
||||
All options: (:line, :orderedline, :step, :stepinverted, :sticks, :scatter, :none, :heatmap, :hexbin, :hist, :bar)
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:step,:stepinverted,:sticks,:scatter])
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y; linetypes=types,labels=map(string,types))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Supported line styles
|
||||
|
||||
All options: (:solid, :dash, :dot, :dashdot, :dashdotdot)
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])
|
||||
plot(rand(20,length(styles)); linestyle=:auto,labels=map(string,styles))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Supported marker types
|
||||
|
||||
All options: (:none, :auto, :ellipse, :rect, :diamond, :utriangle, :dtriangle, :cross, :xcross, :star1, :star2, :hexagon)
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto])
|
||||
plot([fill(i,10) for i = 1:length(markers)]; marker=:auto,labels=map(string,markers),markersize=10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(1000))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
note: fillto isn't supported on all backends
|
||||
|
||||
```julia
|
||||
histogram(randn(1000); nbins=50,fillto=20)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Subplots
|
||||
|
||||
subplot and subplot! are distinct commands which create many plots and add series to them in a circular fashion.
|
||||
You can define the layout with keyword params... either set the number of plots `n` (and optionally number of rows `nr` or
|
||||
number of columns `nc`), or you can set the layout directly with `layout`.
|
||||
|
||||
Note: Gadfly is not very friendly here, and although you can create a plot and save a PNG, I haven't been able to actually display it.
|
||||
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5); layout=[1,1,3],linetypes=[:line,:hist,:scatter,:step,:bar],nbins=10,legend=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Adding to subplots
|
||||
|
||||
Note here the automatic grid layout, as well as the order in which new series are added to the plots.
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5); n=4)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
subplot!(randn(100,3))
|
||||
```
|
||||
|
||||

|
||||
|
||||
@@ -1,166 +0,0 @@
|
||||
# Examples for backend: winston
|
||||
|
||||
- Supported arguments: `args`, `axis`, `color`, `kwargs`, `label`, `legend`, `linestyle`, `linetype`, `marker`, `markersize`, `nbins`, `reg`, `size`, `title`, `width`, `windowtitle`, `xlabel`, `ylabel`, `yrightlabel`
|
||||
- Supported values for axis: `:auto`, `:left`
|
||||
- Supported values for linetype: `:none`, `:line`, `:sticks`, `:scatter`, `:hist`, `:bar`
|
||||
- Supported values for linestyle: `:solid`, `:dash`, `:dot`, `:dashdot`
|
||||
- Supported values for marker: `:none`, `:ellipse`, `:rect`, `:diamond`, `:utriangle`, `:dtriangle`, `:cross`, `:xcross`, `:star1`
|
||||
- Is `subplot`/`subplot!` supported? No
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
winston!()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the 3 columns.
|
||||
|
||||
```julia
|
||||
plot(rand(100,3))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Functions
|
||||
|
||||
Plot multiple functions. You can also put the function first.
|
||||
|
||||
```julia
|
||||
plot(0:0.01:4π,[sin,cos])
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
You can also call it with plot(f, xmin, xmax).
|
||||
|
||||
```julia
|
||||
plot([sin,cos],0,4π)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
Or make a parametric plot (i.e. plot: (fx(u), fy(u))) with plot(fx, fy, umin, umax).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 33:
|
||||
sin(2x)
|
||||
end),0,2π,legend=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background without a separate call.
|
||||
|
||||
```julia
|
||||
plot(rand(10); title="TITLE",xlabel="XLABEL",ylabel="YLABEL",background_color=RGB(0.5,0.5,0.5))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` or `axiss` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100]; axiss=[:left,:right],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Vectors w/ pluralized args
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (singular... see `marker`) with arguments unique to each series (pluralized... see `colors`).
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)]; marker=:ellipse,markersize=8,colors=[:red,:blue])
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3; reg=true,fillto=0)
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100); markersize=6,color=:blue)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:step,:stepinverted,:sticks,:scatter])
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y; linetypes=types,labels=map(string,types))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line styles
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])
|
||||
plot(rand(20,length(styles)); linestyle=:auto,labels=map(string,styles))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Marker types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto])
|
||||
scatter(0.5:9.5,[fill(i - 0.5,10) for i = length(markers):-1:1]; marker=:auto,labels=map(string,markers),markersize=10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(1000))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
note: fillto isn't supported on all backends
|
||||
|
||||
```julia
|
||||
histogram(randn(1000); nbins=50,fillto=20)
|
||||
```
|
||||
|
||||

|
||||
|
||||
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 199 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 97 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 41 KiB |