diff --git "a/persisted/docstore.json" "b/persisted/docstore.json" new file mode 100644--- /dev/null +++ "b/persisted/docstore.json" @@ -0,0 +1 @@ +{"docstore/metadata": {"6eea93d1-39a8-4ec5-9b8c-389a7d6124d7": {"doc_hash": "5106e8f825f6cd70eece07b4e7c068d96f2edee5bbecc54b3bcf77aa4cb742a5"}, "c4b26310-14a9-4f28-9bd0-14ed5df9018c": {"doc_hash": "27035eda13ad99d84c7d668eafe6922b78d0a9f94ddbd933d809d68e71f9c0ec"}, "18df4da0-7e19-45ea-9333-9ca142034120": {"doc_hash": "e36768227b6393bd46fdd4f87137e52e93f5b45f695c6a33f5ae5f0b94e66566"}, "7ca09af5-c0b0-4544-a74f-8652e3a0afb4": {"doc_hash": "1abfa510bfb0e51825a0c9d47e421a1194ebb7505e6ac07f09fddf307dbfbd14"}, "d162d0f4-b40a-4ba0-a422-87e0d4249c2b": {"doc_hash": "8c8d2503011b285797e05bdb9a6393f0380ba94d7c39575c884c9ac9478aca63"}, "7e6a8696-a4e6-459b-8c22-3c88de3a4f3d": {"doc_hash": "a58a078a69262f19fca065dd887618eb3a089e0afffb38f487bff7120398858f"}, "31c09404-4e75-48ec-a432-04c10811345b": {"doc_hash": "1faac8db3e17a831a03977632b5c8c0546f646c1f80aa225697307fd0cf52135"}, "6a36d099-ba6a-45f3-8c65-c1ca56cbe7a5": {"doc_hash": "7833fe2047cd3319ad74b701cd4ee1f7d86a48fe52f96fc3a689b6ebf873d402"}, "a9da5089-13fa-4881-a005-00e37c3398c7": {"doc_hash": "22fc5e3c7f88292a3474d13e8527712d7912b0f944d8035b08289b3b573337a9"}, "6de6fd75-c2dd-4ddd-a13e-a06d59ef3924": {"doc_hash": "aba08453a1ca4a328c34aff575a38403085c858f03f7eb454ae8ca0e68e0d143"}, "18858e5b-02c8-46a0-b1ce-80add02da61e": {"doc_hash": "00a56e3d18a000bce60299fbb90d78a9280ef6bc11fc12aad690e6b9f44dc9bc"}, "96eb20de-84b1-4467-908a-59e041bc4cdf": {"doc_hash": "89f3ffbac12dda19427989a9b57cbeb4e1d65c53fd6cef2c806c4f8494e850d8"}, "ce2f59a7-3841-4efe-9aee-8007ca48ef7c": {"doc_hash": "6ba03249d1c3935ef4cce22052ce43533a1bb2f02d77aea4233c079d69d339dd"}, "89a535b3-8fd3-4640-aa09-a3478dd48b80": {"doc_hash": "08d635c4c9b994f5476e97ecdd807af1f6087c0b91a9999e5732f43a81a7c144"}, "33403c52-9b09-449b-815d-c130f4dac152": {"doc_hash": "80bba941caba3ab64a2aa4e552ab3757236b2e37967225353de64f52d28f4051"}, "7330d96d-c6fa-43ab-8fa3-6e4e14915b8c": {"doc_hash": "fe406bc7e7d87a50c3d3d98c031f95ffcad10a76deaa5748809668ac38ac24a9"}, "e0104155-829c-419d-9c39-5d1d6d6a084f": {"doc_hash": "218f8fcc00b1b8d94a154901c90a4b380fe7e1a8fc5ace3ff1c1dbeeea6e7b69"}, "c038d2e0-f2a8-49f2-8609-7316e87ac383": {"doc_hash": "c27fd9a95e4f72ba234bf95b723d3ced16d1ea09569eddb9794f0960679ef44b"}, "e07a805f-a626-4871-8d38-2ff34156fb8e": {"doc_hash": "8d6b6b7dc6faaba41d94e68d5affbc691236861b4d5b0aebeacb8d56f2b8be5b"}, "75107a9d-2ab6-4a58-bfd3-3f007a8c6c35": {"doc_hash": "3289f55a7a047fce4f665423aed57a652ad8d5e05b2d350db432f822a21c7e3d"}, "3cead9ea-c177-43b3-949f-17474df6b846": {"doc_hash": "0b008af47364bb4f0b1087b783470743681814767bdbdc7478539277c9459dad"}, "a8c4d253-a257-411c-a861-a7ebbaa9deff": {"doc_hash": "b7084a54c9608feebec1a9f0d03cb2b90af62e47ce7a266082c79af717946026"}, "8767175a-ed97-4f86-8298-586916ebf3bc": {"doc_hash": "d0e666a8ea75f032fcea32aa9e8a971a5b6502f7fc3da2b719c781462db11137"}, "ad484503-aafe-4c7d-8f5b-fc1db95ba96b": {"doc_hash": "3f2990f039075a84fc54e971cd582fb41e1e9ab4a4e451704cde8cac4fa83884"}, "87e3ac7c-50fd-419f-9b05-9998bf4dc06d": {"doc_hash": "20ed7efcfb4c0cba79dd8d1687a3a34b48ea8e5b142caec0bad3eadedf5e6e4e"}, "bfa4f175-b3e0-465e-8a66-280cfecb3c77": {"doc_hash": "0043a03aaf2875bf36afe0d79a314239f2a2019ba16bd8cae1a4d5c0ace772ed"}, "94be5b1a-40f1-4c65-a6cc-703cce79d8af": {"doc_hash": "edd8865d752f5f7b67ccb81f61de03add56404013346518bb3959bad83161e1f"}, "b6368f5c-6ef3-445e-8438-1d79dd935241": {"doc_hash": "77d61ece6d7bb5d4514899ec2b1b1a101bb724208b4156d15918f2493c7ac088"}, "08fd0d36-5043-4e09-b2ed-f5412bc963b0": {"doc_hash": "73209c450985c1c08e55dc91c5fc3fbc637de8f24e32656d78a41c906be0c3db"}, "3fa5eda3-1cf2-4058-90a3-4afae2a72f2a": {"doc_hash": "b4ecf579682378ab0cdd5fdf619425cf1e82572e42241bbbb58208370743183a"}, "2b0921c5-a4fd-48e9-b5d6-b2c51ee1e38c": {"doc_hash": "20b8941b791bcda4d6e3c04ff8332fcf267f9796fc10e23af6d9ed4adb937383"}, "0b265505-a030-47dd-bb53-7708f99cdd79": {"doc_hash": "e07a298854b7a86fbde5f0ef30e9d8bb15748255c4b39270d37a35f639ea7392"}, "f13e8942-1cdb-42a4-a667-5bee5ee17dda": {"doc_hash": "6bca7681432fc9f0428c405b49a8f432c4ca0d82376c31a4560307309f49b33d"}, "093d230a-2ae9-4416-aa95-088a256a0432": {"doc_hash": "3860285a991d7f06214dd91cf364bdb609491acd27e65c8eabe0e4e76b92bf25"}, "ad2f0614-b88a-4e84-aa20-e1b234063207": {"doc_hash": "5dc1ab39c35f90fd5679b9e03e256f406e41783ad7ad3f90be3f23ac1e927a87"}, "919e3576-6ad7-4fca-8de8-f08706787d07": {"doc_hash": "faba2fbbb395756e451b7ff3e8d6ba37c4d1b5f8aca9eb6bd394606246887b97"}, "6eb13c66-467e-458b-a45c-9ff5d1cb2bdd": {"doc_hash": "42386086097fe1aa3c436e6ab07e09b9e1da4330a46c953f89d71afc615bd68a"}, "34118d72-6677-4cb0-bca9-5e23eba07a99": {"doc_hash": "bcbcb9e5d49fb856025a8c2503c429959ec4e6b90edf6d06ad34468179abca6d"}, "98c9128e-e18f-4acb-a9f1-df7b78632218": {"doc_hash": "31a7cfa9448176ef4a4cb83837cbdfe68b0f8825e8e4cfd03493601da677ea99"}, "ffd0022d-eb0c-4384-8c0c-9643d9427ae6": {"doc_hash": "63140a07984e9d4acf3ed1de58371794909dc5c0a7257de7e76d56b0ac7fcf99"}, "b4e4994a-3d8d-4e8b-88c0-7baf26a4f02d": {"doc_hash": "71fe717fa318197283482607317511aed9aa8371f51a91354facb95d78a2f8e0"}, "be4a3c3e-aeb9-4a74-a462-ffa29fafebd9": {"doc_hash": "8094bc568f57d3274fd519c7ca10571a95a427efac4f310aed6b5d7792109041"}, "83a32b7d-16d3-4c97-b06c-f0f2145a53dd": {"doc_hash": "e5dcf4add5f8ec9c2f1c05da1c929aeee52f9089425665176321ab562156fe35"}, "7d8b202f-8ac0-4be2-85d8-cab9fe32d876": {"doc_hash": "d5d89e5b4b1876c84dd279021eb3c56555816099718442b4a8df270cf0b47073"}, "8c4004aa-668f-4498-92eb-d04c71890e50": {"doc_hash": "8926d512cb313d15b500ffcad6ccc7130f99275a323b51ea4619ee5c130c7869"}, "774d786d-66d4-4457-a7e3-827c0e224672": {"doc_hash": "d84248de5b262dbd48c63a3d31363fa92973a950dc79725fbcacf95fc83a92ba"}, "e3f3f66b-979b-43f3-9c2b-c2c08dfeee0f": {"doc_hash": "801d2e5f0ab008f66eb7dbce43273bebbabe7d4cb489cca5461cc4931e893662"}, "f2c584b6-3b4f-4e5b-89af-9cdfe1ba7cc0": {"doc_hash": "d8cc1bbeed247da1b1f5c00a03e63a1cce7b9e341c01d91814de726df74e680a"}, "1021a791-38e3-43c3-8d56-4530955eccab": {"doc_hash": "301feca4e22e2d637684e4d9e97cc8582dfb2c15ceab62d686237fd497c98e5c"}, "fef4bb17-4279-4b00-9142-7fb6e0aa3e33": {"doc_hash": "cd976bed21d671ca72b19c5757d8fb861dc6753bd8a854d3284a16386f6324ea"}, "b4b07d3e-5bc2-4946-8bf4-9c55bf5e9b08": {"doc_hash": "c602c13a302d0f9c1e0d72343b9c6005f752fd89b31152b60e7954a27319a7f9"}, "2a2aa44b-fba3-4f45-85bb-fa5cbb7e62f2": {"doc_hash": "eda08d17998044e3f101baf541735db11b4cf2cd152d6ce011240a8575661fc8"}, "6d1ce441-8817-4c67-ac78-4a5145b10208": {"doc_hash": "dcd8f9027eccd41983fa3f8b76168b146a4fdd7746bd254d4bd5c31ccc95dc2a"}, "0d747b20-4035-4734-b036-60eaaec3cadc": {"doc_hash": "51ee20b52055cd92270984cf391ab77644bab6d08a5c33a8c000471dde8eca97"}, "b7a5e0d6-630b-40f9-ab32-0e90a5492b79": {"doc_hash": "084e8e691644b3a5178ca0ef5a829e4f4417004c0170c10655987fd06934c07a"}, "bb6d08ac-ca40-479f-bc9c-06c097d7c542": {"doc_hash": "5c42e32a4f184bdded90c8c08c3a16c878a5bff58734b0b6df349469d121bf92"}, "86a79bfd-2925-451d-ba58-38c78df04ee2": {"doc_hash": "4009dee51e05d685574cd008547b9b0ca05f701252c44c361338adedc85005cd"}, "e5db059f-174b-4a39-8157-4f37e06caeeb": {"doc_hash": "7d71988e5733757dbd1ec5abffa235acd347004ad404515f9b929b66d002654c"}, "6f30f486-7f33-4394-b0c3-52082fcc21ab": {"doc_hash": "7610721458ccae61912fc80e087af690d86e821f85e7850f73d9c0f76d7d1d40"}, "601c4637-9723-41e5-a1f7-8a66aa5d2be4": {"doc_hash": "c3fc2a97c1b6d720d6640368a20e0deeb05fdf23f902fafb545e50d5c2ede50c"}, "59617531-e5b3-461c-9d94-17b808b39ddc": {"doc_hash": "ff0ca050084dee6a66964adde212322e13efcfb89e56fb112f9d638c5befa3ac"}, "fb699c31-cab7-4cc3-a56e-e111215e93e0": {"doc_hash": "d691e5946534033f3e437161fbb7987958e87ea7b2566e2755ad6f1e32257066"}, "a0d0bbe7-2a0a-4354-83cf-4f77f962c83a": {"doc_hash": "87c133e3913209eab6207a69d7a1bc39334c02b51bbd7794a0f042328d6e8204", "ref_doc_id": "6eea93d1-39a8-4ec5-9b8c-389a7d6124d7"}, "1c9cf590-947f-422b-ae18-d871d1052e1a": {"doc_hash": "221a3fdd3761371f295c0b3538d5974cda4194ca3edde3a3a822126805c4ca46", "ref_doc_id": "c4b26310-14a9-4f28-9bd0-14ed5df9018c"}, "81042881-e066-436b-9d7d-68fb67675dda": {"doc_hash": "231e189af0cceb75b01ad6ba62f5ba33444c1975f502fb31b4d2309e005313a4", "ref_doc_id": "18df4da0-7e19-45ea-9333-9ca142034120"}, "bacf1df5-b363-47d3-a08a-aba41b5e7654": {"doc_hash": "c717fd56fb9735997ae4a8bbce3ee9f7a3ee7727a63bfa454ee2ee6a0d3ca762", "ref_doc_id": "7ca09af5-c0b0-4544-a74f-8652e3a0afb4"}, "08a15300-109c-47cc-96f4-a6526893408d": {"doc_hash": "ede416dd00de3e9f16680663be4c69b6394f96dccd92c7f083321ba2acf984bd", "ref_doc_id": "d162d0f4-b40a-4ba0-a422-87e0d4249c2b"}, "f4d4cd8f-e0a1-43d1-a411-2a0903d35909": {"doc_hash": "d74f571f007b4b311460ec3cc490ae545575dac3321c13389f2ba4deb4f8105a", "ref_doc_id": "7e6a8696-a4e6-459b-8c22-3c88de3a4f3d"}, "8feb6918-5691-4fda-b973-3c582b06301a": {"doc_hash": "f4d7f37777b1a2384b7ede43110fe27530db24422939d6b3cc4c673f1f996441", "ref_doc_id": "31c09404-4e75-48ec-a432-04c10811345b"}, "946b5ce4-1a23-4c63-a417-dd3284b9cb97": {"doc_hash": "1687f52977e926b12136f1d069a5c50cf5746f1d36c5fe13f3264a548a91d036", "ref_doc_id": "6a36d099-ba6a-45f3-8c65-c1ca56cbe7a5"}, "6867f344-f104-45ad-91df-1f4bf2922ab4": {"doc_hash": "09e3f05fe1cd119c5669150a586b9dfde678a715f13cb509a0686f2e21387807", "ref_doc_id": "a9da5089-13fa-4881-a005-00e37c3398c7"}, "39ab16a8-7c77-4fdb-ad1b-3ffef505e555": {"doc_hash": "ede37c804981bde8991e608f95406c06e1431a54b3a4ddcbd4ed8f1ce968185d", "ref_doc_id": "6de6fd75-c2dd-4ddd-a13e-a06d59ef3924"}, "a01cb84a-8780-498e-825a-3712c2a41c11": {"doc_hash": "7318509e5850f8d8127e4afbf826fe5eef7304b0e51c3c12fe201cff9d4eeb4d", "ref_doc_id": "18858e5b-02c8-46a0-b1ce-80add02da61e"}, "7ddcca1f-4bfd-4723-b22f-705ef7ca8f46": {"doc_hash": "34151b71840dc1e8ef99821bfdb0c2156c7e26ace08d9b9c1b45914f56792d09", "ref_doc_id": "96eb20de-84b1-4467-908a-59e041bc4cdf"}, "13069f2a-295c-404f-a102-64bbfb0ff58a": {"doc_hash": "d64f39152ab13280aa035a54eb8177ee03417b5359920bd9a7ce4911c01c993e", "ref_doc_id": "ce2f59a7-3841-4efe-9aee-8007ca48ef7c"}, "4733be20-3bab-4dbd-8994-bc7d351c1c07": {"doc_hash": "9e2877abbd14e2d3116f2566ce13bdb1a3b60884d83030ac86bceca6fcf5891a", "ref_doc_id": "89a535b3-8fd3-4640-aa09-a3478dd48b80"}, "c06dc94b-3c80-4e93-81f0-dbf209c95c75": {"doc_hash": "ec9905d9849c176728ac7dcdd74409f3c76daf6b9692f40f880137ff6ff44e81", "ref_doc_id": "33403c52-9b09-449b-815d-c130f4dac152"}, "81114efe-ef34-48cc-95e2-2541ad847eca": {"doc_hash": "3c68093771bc2d46a442929d28b3bd63079356b10f9bbbcdc2a54d5d5e8c177b", "ref_doc_id": "7330d96d-c6fa-43ab-8fa3-6e4e14915b8c"}, "2c48ea8f-4294-4e93-9458-c53c3c5fff09": {"doc_hash": "c093fc8c72b2d7b149c770416ef299fa5d2e4c24fd0ef8d8c6773d208eab4c39", "ref_doc_id": "e0104155-829c-419d-9c39-5d1d6d6a084f"}, "6efea588-72a2-4a09-aa07-77f47d0d1335": {"doc_hash": "673b39c8052c97ccb6c2afb6dde349b9260286422793b050dad70595360eebd2", "ref_doc_id": "c038d2e0-f2a8-49f2-8609-7316e87ac383"}, "f4acd5c1-a743-4e10-8f56-76eec58cc734": {"doc_hash": "79f40dab176ea21c8a915a421d65c816ba1be420058b1b7e3ea06969d8427d2c", "ref_doc_id": "e07a805f-a626-4871-8d38-2ff34156fb8e"}, "313a382c-12d3-4ef1-bacb-cfc39731aba6": {"doc_hash": "5e6ac397e4abfd9765f21c5be8bd30f43c3ccd9152a33df1c2bcc181c1715888", "ref_doc_id": "75107a9d-2ab6-4a58-bfd3-3f007a8c6c35"}, "896dfa6b-13ad-4098-a82b-a2953fcb4e4b": {"doc_hash": "8c37452026155144a78123a3b6c19956e71c7d01cc0268688bdbb6cac55675ad", "ref_doc_id": "3cead9ea-c177-43b3-949f-17474df6b846"}, "5f213884-0e27-47dd-930a-b0055d30f6d0": {"doc_hash": "896166ea4b06a85c910e9cee73d636b747f41425b9844e914d3a909a63c88ea0", "ref_doc_id": "a8c4d253-a257-411c-a861-a7ebbaa9deff"}, "e3ea3af3-18ce-4bb9-a2ee-0c81a2c106e2": {"doc_hash": "b2e52a0c12ba27f7fc4e1ff26e2c9481f973c4901235b0d770e84471ebf4907d", "ref_doc_id": "8767175a-ed97-4f86-8298-586916ebf3bc"}, "026e53ee-7c11-46b4-8795-7a9c16829169": {"doc_hash": "10a8806b01ca79a287a6ac0bb151f8e3974f59b4778a6c8711101542551a7fca", "ref_doc_id": "ad484503-aafe-4c7d-8f5b-fc1db95ba96b"}, "4fa1e274-8a7e-4da7-a261-12073723c286": {"doc_hash": "b093537bc8b0771946568f0b1bc48570eccce1558bbcbed60ebb497a441bf95d", "ref_doc_id": "87e3ac7c-50fd-419f-9b05-9998bf4dc06d"}, "16fa0dfe-1f7c-4d2f-a848-3f5b9a158885": {"doc_hash": "5d7f6c65b7abf6131b555dd3027642fba739a40ff5c22a7d6e44ca8ccbbd4451", "ref_doc_id": "bfa4f175-b3e0-465e-8a66-280cfecb3c77"}, "34b99b21-2096-458e-8b7d-3f273709fdd9": {"doc_hash": "aae7726d33d11ba2f278e02fdef01fe5a1accb8af14c5882a078e0ba10cf62c3", "ref_doc_id": "94be5b1a-40f1-4c65-a6cc-703cce79d8af"}, "5aa32771-5a65-442c-bbc8-4845e8b0ab7b": {"doc_hash": "49d457fe902f36025f5600cab607655a56494b4c213029a23a5a1eaff68c0147", "ref_doc_id": "b6368f5c-6ef3-445e-8438-1d79dd935241"}, "62a9c3dd-3119-41dd-a8fa-a3f81d09ccee": {"doc_hash": "453dce154b29840a9dd0e72a53f728dfdae287554927bd5a3ed3644476c8f063", "ref_doc_id": "08fd0d36-5043-4e09-b2ed-f5412bc963b0"}, "8e88f950-7b7d-42cb-9939-a90482f709dc": {"doc_hash": "5ae55e5b5a4139a64671b8bbaf6c11c75cc9490698cdc82c0cc52cbb6528d391", "ref_doc_id": "3fa5eda3-1cf2-4058-90a3-4afae2a72f2a"}, "a13681e6-9734-478b-9208-affd351be458": {"doc_hash": "ce2f4aa350c5cccf3fc53ccb06dfe2e7e6a390e4c2a882cb8916c4fa4ce1a312", "ref_doc_id": "2b0921c5-a4fd-48e9-b5d6-b2c51ee1e38c"}, "48b5df67-6450-49a7-9af5-4dd2b56ae440": {"doc_hash": "b29bc1fee586cfbbf6182508f6380c835484d611a974d48004943cce04b7a502", "ref_doc_id": "0b265505-a030-47dd-bb53-7708f99cdd79"}, "7a98b790-175d-4801-979a-fcbda06e457f": {"doc_hash": "f8056e832501f18cbfcdc166ca3add00db216072be35824c12cf159e353f3606", "ref_doc_id": "f13e8942-1cdb-42a4-a667-5bee5ee17dda"}, "eaadbd44-8ef6-4664-bef9-1601a50308da": {"doc_hash": "e8e1095ebdfb81b1e3759b5c167acf10a22fa906603a6baa7c37a84a28a86690", "ref_doc_id": "093d230a-2ae9-4416-aa95-088a256a0432"}, "03a3c696-449c-4791-ad09-19101e483f51": {"doc_hash": "2cbc40ce811c310316fbeb0181048df46dd02549823d9811bc4b64b68b9e1bf3", "ref_doc_id": "ad2f0614-b88a-4e84-aa20-e1b234063207"}, "f9191bf0-28c4-400f-8b89-4d8e7d01db6b": {"doc_hash": "d76448ca5f19e867662fd42fad7457d7b0acfc64b17f16a574729cdbcb2f4d99", "ref_doc_id": "919e3576-6ad7-4fca-8de8-f08706787d07"}, "0ebe32f7-b5fb-4eb7-bc21-ee54a8a2b2a7": {"doc_hash": "f7bc7baedace18ac761e6fe3c5b64d7a64c070d1ec5d1e59ae7744f9205cdc0d", "ref_doc_id": "6eb13c66-467e-458b-a45c-9ff5d1cb2bdd"}, "4e537f16-4aa2-413d-b34b-c56e70717547": {"doc_hash": "6250e20ab78ac345f45c98d32eeab0979e09dd2917b028e97210ff4e957764b7", "ref_doc_id": "34118d72-6677-4cb0-bca9-5e23eba07a99"}, "df48f360-3575-4cd3-8763-1b67d18b4e9c": {"doc_hash": "8870a51d900f7eebb5939bcecdc972e64196a1852c8a173550c76e1adc67852f", "ref_doc_id": "98c9128e-e18f-4acb-a9f1-df7b78632218"}, "d2e30f48-710c-4349-8b5b-0e4f5c540f4c": {"doc_hash": "99fc8314d4d8715e2bbcccaf03d30bf4f522109df545ef20efb6821690cec8fc", "ref_doc_id": "ffd0022d-eb0c-4384-8c0c-9643d9427ae6"}, "75016e1c-d447-4d02-b7ad-971eb14f8ce5": {"doc_hash": "33205083eef1671d79503094fdea20339ec817881582a3c00cea79f96513ff94", "ref_doc_id": "b4e4994a-3d8d-4e8b-88c0-7baf26a4f02d"}, "7e2b5e99-72b2-4f6b-8ebb-aabff133a44d": {"doc_hash": "e93dae13f21af2928f95145cdb382f22c204a6bde10a1cd79ef65b08732f6862", "ref_doc_id": "be4a3c3e-aeb9-4a74-a462-ffa29fafebd9"}, "473d7594-f1ff-413a-a082-38957cdd6c6a": {"doc_hash": "e7a5d1ad3165336e273eb4d9773d2185e23a1cb3a14dada5f4dc53107117d463", "ref_doc_id": "83a32b7d-16d3-4c97-b06c-f0f2145a53dd"}, "99632d21-4790-4c18-bb44-8c65d17bf5f6": {"doc_hash": "cebf13cccdf2d50a325bb1de101f810a6f57c1b5700e4f48552e0877bb7a65b2", "ref_doc_id": "7d8b202f-8ac0-4be2-85d8-cab9fe32d876"}, "29198336-47fd-4285-98b8-2e960bedc128": {"doc_hash": "71323fb50e98788b19ef84b6311cbb0619fc523c241df521535a8a7a3b58c138", "ref_doc_id": "8c4004aa-668f-4498-92eb-d04c71890e50"}, "c2f045a7-5d6d-469d-acab-1b0944577f6f": {"doc_hash": "bc9663aa0037b59fd2829f490125b9fb2bf9b00696d3d3252f95e9b96e3380cc", "ref_doc_id": "774d786d-66d4-4457-a7e3-827c0e224672"}, "81e18f74-501d-49b8-ba8c-00205d156624": {"doc_hash": "6b7b8e954aa5fb79cd96517ec0db0822886173c89d67e2999ca87e5bea26bf20", "ref_doc_id": "e3f3f66b-979b-43f3-9c2b-c2c08dfeee0f"}, "eae2f8ef-184c-494c-86d4-0496f49f373d": {"doc_hash": "f1f3407506d6d75951aaccc4558dc68d0eb3947c6f2f9bcdf15cbf77daf56859", "ref_doc_id": "f2c584b6-3b4f-4e5b-89af-9cdfe1ba7cc0"}, "3040c26b-957c-4195-866c-4fe0503c3983": {"doc_hash": "3b655fb092031c69b9404e3d2194529f3c8e8e10eb34fb525618261ff0618cc6", "ref_doc_id": "1021a791-38e3-43c3-8d56-4530955eccab"}, "4d678a08-ba14-4256-a99d-e71c28ec1f26": {"doc_hash": "a2a6789634308b7e36a6ba6a597d03cc39823a28641ba5304c5255bd4a0f6401", "ref_doc_id": "fef4bb17-4279-4b00-9142-7fb6e0aa3e33"}, "a221fdea-1814-48e8-9405-9ce34ee55659": {"doc_hash": "a48cc278266742ff263b417f789891d4b1e6d302e66d363d5bf590d5310d722c", "ref_doc_id": "b4b07d3e-5bc2-4946-8bf4-9c55bf5e9b08"}, "73d999ba-2efe-4273-91f9-1743a39a00e9": {"doc_hash": "eaab0e205a3ad1ab6c63f37508b71083d7c722805eba67457f2fe26884cb5ea0", "ref_doc_id": "2a2aa44b-fba3-4f45-85bb-fa5cbb7e62f2"}, "1015a4ae-4cd1-435a-b64e-ea85d10cb081": {"doc_hash": "1ff9fd3320e54535c2843a64f532c6797879fbfddfb3d1f830a72d9d692370b8", "ref_doc_id": "6d1ce441-8817-4c67-ac78-4a5145b10208"}, "b0c2ee55-f4cf-4402-a059-0513d96a17ad": {"doc_hash": "bf96d61aa005ea40ce0f54cd362485115783a2fc5fca9cb1666cf7a554da8953", "ref_doc_id": "0d747b20-4035-4734-b036-60eaaec3cadc"}, "0ed620a5-84ec-4518-bd1f-96b592520ff4": {"doc_hash": "de327c73769ef2da081609b73fa28e79cc7504e2fa908f4484c5835349f762a5", "ref_doc_id": "b7a5e0d6-630b-40f9-ab32-0e90a5492b79"}, "ce2df8cf-7727-4ff1-b911-6406902cfa4e": {"doc_hash": "b2493bc7ae4af541a573a8638eba23937e5fd463a08e1d4df6c1771cbf51c377", "ref_doc_id": "bb6d08ac-ca40-479f-bc9c-06c097d7c542"}, "3872b08f-6482-4cd8-bd9c-ccda1e87af2f": {"doc_hash": "8f38f623fe7bc9cb94c951efd063d35765d29179c39daf5ccc1426eff4131bbb", "ref_doc_id": "86a79bfd-2925-451d-ba58-38c78df04ee2"}, "5e8e148d-5d1d-483d-a53b-7a88596bd559": {"doc_hash": "a05cff8d25363fdfdcb83ab3e56f2f6e8b6da1506d75f6450179f3d0f83766a5", "ref_doc_id": "e5db059f-174b-4a39-8157-4f37e06caeeb"}, "047eae63-5926-43bc-9906-2584a2334791": {"doc_hash": "5322d6ed73857f7f7d5b54c52980b4eb4f83b025b20fae13998a335cc1a0d8e0", "ref_doc_id": "6f30f486-7f33-4394-b0c3-52082fcc21ab"}, "91285009-c0df-461e-9900-3a34cc1eb2c3": {"doc_hash": "45dca3d32b371c4c730f3f30290597bca064c657a39c94ded203d5ee1af28ceb", "ref_doc_id": "601c4637-9723-41e5-a1f7-8a66aa5d2be4"}, "07adad9b-22ac-4667-969f-3227e5bea3d7": {"doc_hash": "443010eba8adad88d819f9f462afbb4e4055111a483544810678bb2d2158ab32", "ref_doc_id": "59617531-e5b3-461c-9d94-17b808b39ddc"}, "cd1f8d63-989c-4a39-bdbe-0e818388323c": {"doc_hash": "999ef27ed727088945a1d150587ce136258e303f2a89548448af0266d25750f4", "ref_doc_id": "fb699c31-cab7-4cc3-a56e-e111215e93e0"}, "0bd2e9d1-373a-466b-b07a-6ecfaff36dd8": {"doc_hash": "06fb22e464cd7f11e07cb5f63110e6f540f999276bc417eeb10eb3cefb32348e", "ref_doc_id": "fb699c31-cab7-4cc3-a56e-e111215e93e0"}, "e9bde14e-c770-469f-92c4-338aed1a53bf": {"doc_hash": "e4284999019d8babe84c667d274b808f42360bf813fc13cbcfa2cc53b21afe6d", "ref_doc_id": "fb699c31-cab7-4cc3-a56e-e111215e93e0"}}, "docstore/data": {"a0d0bbe7-2a0a-4354-83cf-4f77f962c83a": {"__data__": {"id_": "a0d0bbe7-2a0a-4354-83cf-4f77f962c83a", "embedding": null, "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "6eea93d1-39a8-4ec5-9b8c-389a7d6124d7", "node_type": "4", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "5106e8f825f6cd70eece07b4e7c068d96f2edee5bbecc54b3bcf77aa4cb742a5", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "1c9cf590-947f-422b-ae18-d871d1052e1a", "node_type": "1", "metadata": {}, "hash": "221a3fdd3761371f295c0b3538d5974cda4194ca3edde3a3a822126805c4ca46", "class_name": "RelatedNodeInfo"}}, "hash": "87c133e3913209eab6207a69d7a1bc39334c02b51bbd7794a0f042328d6e8204", "text": "Composing Objects\n\n\n```python\nimport numpy as np\nimport holoviews as hv\nhv.extension('bokeh')\n```\n\nInstantly viewable HoloViews objects include elements (discussed already) and containers (collections of elements or other containers). Here we'll introduce two types of containers for collecting viewable objects, each typically created from the existing objects using a convenient operator syntax:\n\n 1. ** ``Layout`` (``+``):** A collection of any HoloViews objects to be displayed side by side. \n 2. **``Overlay`` (``*``):** A collection of HoloViews objects to be displayed overlaid on one another with the same axes.\n\nThe Layout and Overlay containers allow you to mix types in any combination, and have an ordering but no numerical or categorical key dimension with which to index the objects. In contrast, the Dimensioned containers discussed later, such as ``HoloMap`` , ``GridSpace``, ``NdOverlay``, and ``NdLayout``, do not allow mixed types, and each item has an associated numerical or categorical index (key).\n\nBecause you can compose a mix of any HoloViews elements into layouts and overlays, these types of container are very common, which is why they have dedicated composition operators. This user guide describes how you can build and organize your data using these two types of composition.\n\nTo show how layouts and overlays work with heterogeneous types, we will use these two elements throughout this notebook:\n\n\n```python\nxs = [0.1* i for i in range(100)]\ncurve = hv.Curve((xs, [np.sin(x) for x in xs]))\nscatter = hv.Scatter((xs[::5], np.linspace(0,1,20)))\n```", "start_char_idx": 2, "end_char_idx": 1590, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "1c9cf590-947f-422b-ae18-d871d1052e1a": {"__data__": {"id_": "1c9cf590-947f-422b-ae18-d871d1052e1a", "embedding": null, "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "c4b26310-14a9-4f28-9bd0-14ed5df9018c", "node_type": "4", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "27035eda13ad99d84c7d668eafe6922b78d0a9f94ddbd933d809d68e71f9c0ec", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "a0d0bbe7-2a0a-4354-83cf-4f77f962c83a", "node_type": "1", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "87c133e3913209eab6207a69d7a1bc39334c02b51bbd7794a0f042328d6e8204", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "81042881-e066-436b-9d7d-68fb67675dda", "node_type": "1", "metadata": {}, "hash": "231e189af0cceb75b01ad6ba62f5ba33444c1975f502fb31b4d2309e005313a4", "class_name": "RelatedNodeInfo"}}, "hash": "221a3fdd3761371f295c0b3538d5974cda4194ca3edde3a3a822126805c4ca46", "text": "1. ``Layout``\n\nA ``Layout`` can contain any HoloViews object except an ``NdLayout``. (See Building Composite Objects for the full details about the ways containers can be composed.)\n\nYou can build a ``Layout`` from two or more HoloViews objects of any type by using the ``+`` operator:\n\n\n```python\ncurve + scatter\n```\n\nIn this example, we have a ``Layout`` composed of a ``Curve`` element and a ``Scatter`` element, and they happen to share the same ``x`` and ``y`` dimensions.", "start_char_idx": 2, "end_char_idx": 479, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "81042881-e066-436b-9d7d-68fb67675dda": {"__data__": {"id_": "81042881-e066-436b-9d7d-68fb67675dda", "embedding": null, "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "18df4da0-7e19-45ea-9333-9ca142034120", "node_type": "4", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "e36768227b6393bd46fdd4f87137e52e93f5b45f695c6a33f5ae5f0b94e66566", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "1c9cf590-947f-422b-ae18-d871d1052e1a", "node_type": "1", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "221a3fdd3761371f295c0b3538d5974cda4194ca3edde3a3a822126805c4ca46", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "bacf1df5-b363-47d3-a08a-aba41b5e7654", "node_type": "1", "metadata": {}, "hash": "c717fd56fb9735997ae4a8bbce3ee9f7a3ee7727a63bfa454ee2ee6a0d3ca762", "class_name": "RelatedNodeInfo"}}, "hash": "231e189af0cceb75b01ad6ba62f5ba33444c1975f502fb31b4d2309e005313a4", "text": "Building a ``Layout`` from a list\n\nIf the ``+`` syntax is not convenient, you can also build a ``Layout`` using its constructor directly, which is useful if you want to create a ``Layout`` of an arbitrary length:\n\n\n```python\ncurve_list = [hv.Curve((xs, [np.sin(f*x) for x in xs])) for f in [0.5, 0.75]]\nscatter_list = [hv.Scatter((xs[::5], f*np.linspace(0,1,20))) for f in [-0.5, 0.5]]\n\nlayout = hv.Layout(curve_list + scatter_list).cols(2)\nlayout\n```\n\nNote the use of the ``.cols`` method to specify the number of columns, wrapping to the next row in scanline order (left to right, then top to bottom).", "start_char_idx": 2, "end_char_idx": 607, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "bacf1df5-b363-47d3-a08a-aba41b5e7654": {"__data__": {"id_": "bacf1df5-b363-47d3-a08a-aba41b5e7654", "embedding": null, "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "7ca09af5-c0b0-4544-a74f-8652e3a0afb4", "node_type": "4", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "1abfa510bfb0e51825a0c9d47e421a1194ebb7505e6ac07f09fddf307dbfbd14", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "81042881-e066-436b-9d7d-68fb67675dda", "node_type": "1", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "231e189af0cceb75b01ad6ba62f5ba33444c1975f502fb31b4d2309e005313a4", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "08a15300-109c-47cc-96f4-a6526893408d", "node_type": "1", "metadata": {}, "hash": "ede416dd00de3e9f16680663be4c69b6394f96dccd92c7f083321ba2acf984bd", "class_name": "RelatedNodeInfo"}}, "hash": "c717fd56fb9735997ae4a8bbce3ee9f7a3ee7727a63bfa454ee2ee6a0d3ca762", "text": "A ``Layout`` has two-level attribute access\n\n``Layout`` and ``Overlay`` are tree-based data structures that can hold arbitrarily heterogeneous collections of HoloViews objects, and are quite different from the dictionary-like dimensioned containers (which will be described in later guides).\n\nAs mentioned previously in Annotating Data, HoloViews objects have string ``group`` and ``label`` parameters, which can be used to select objects in the ``Layout`` using two-level attribute access. First let us see how to index the above example, where the ``group`` and ``label`` parameters were left unspecified on creation:\n\n\n```python\nprint(layout)\n```\n\nAs you can see, the ``layout`` object consists of four different elements, each mapping from ``x`` to ``y``. You can use the \"dot\" syntax shown in the repr to select individual elements from the layout:\n\n\n```python\nlayout2 = layout.Curve.I + layout.Scatter.II\nlayout2\n```\n\nHere we create a second layout by indexing two elements from our earlier ``layout`` object and using ``+`` between them. We see that the first level of indexing is the ``group`` string (which defaults to the element class name) followed by the label, which wasn't set and is therefore mapped to an automatically generated Roman numeral (I,II,III,IV, etc.). \n\nAs group and label were again not specified, our new ``Layout`` will also use ``Curve.I`` for the curve, but as there is only one scatter element, it will have ``Scatter.I`` to index the scatter:\n\n\n```python\nlayout2.Scatter.I\n```", "start_char_idx": 2, "end_char_idx": 1515, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "08a15300-109c-47cc-96f4-a6526893408d": {"__data__": {"id_": "08a15300-109c-47cc-96f4-a6526893408d", "embedding": null, "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "d162d0f4-b40a-4ba0-a422-87e0d4249c2b", "node_type": "4", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "8c8d2503011b285797e05bdb9a6393f0380ba94d7c39575c884c9ac9478aca63", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "bacf1df5-b363-47d3-a08a-aba41b5e7654", "node_type": "1", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "c717fd56fb9735997ae4a8bbce3ee9f7a3ee7727a63bfa454ee2ee6a0d3ca762", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "f4d4cd8f-e0a1-43d1-a411-2a0903d35909", "node_type": "1", "metadata": {}, "hash": "d74f571f007b4b311460ec3cc490ae545575dac3321c13389f2ba4deb4f8105a", "class_name": "RelatedNodeInfo"}}, "hash": "ede416dd00de3e9f16680663be4c69b6394f96dccd92c7f083321ba2acf984bd", "text": "Using ``group`` and ``label`` with ``Layout``\n\nNow let's return to the first simple layout example, this time setting a group and label as introduced in the Annotating Data guide:\n\n\n```python\nxs = [0.1* i for i in range(100)]\n\nlow_freq = hv.Curve((xs, [np.sin(x) for x in xs]), group='Sinusoid', label='Low Frequency')\nlinpoints = hv.Scatter((xs[::5], np.linspace(0,1,20)), group='Linear Points', label='Demo')\n\nlabelled = low_freq + linpoints\nlabelled\n```\n\nAs you can see, the group and label are used for titling the plots. They also determine how the objects are accessed:\n\n\n```python\nlabelled.Linear_Points.Demo + labelled.Sinusoid.Low_Frequency\n```\n\nYou are encouraged to use the group and label names as appropriate for organizing your own data. They should let you easily refer to groups of data that are meaningful to your domain, e.g. for Applying Customizations.", "start_char_idx": 2, "end_char_idx": 885, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "f4d4cd8f-e0a1-43d1-a411-2a0903d35909": {"__data__": {"id_": "f4d4cd8f-e0a1-43d1-a411-2a0903d35909", "embedding": null, "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "7e6a8696-a4e6-459b-8c22-3c88de3a4f3d", "node_type": "4", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "a58a078a69262f19fca065dd887618eb3a089e0afffb38f487bff7120398858f", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "08a15300-109c-47cc-96f4-a6526893408d", "node_type": "1", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "ede416dd00de3e9f16680663be4c69b6394f96dccd92c7f083321ba2acf984bd", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "8feb6918-5691-4fda-b973-3c582b06301a", "node_type": "1", "metadata": {}, "hash": "f4d7f37777b1a2384b7ede43110fe27530db24422939d6b3cc4c673f1f996441", "class_name": "RelatedNodeInfo"}}, "hash": "d74f571f007b4b311460ec3cc490ae545575dac3321c13389f2ba4deb4f8105a", "text": "2. ``Overlay``\n\nAn ``Overlay`` can contain any HoloViews elements, but the only container type it can contain is ``NdOverlay``. Building Composite Objects provides the full details on how containers can be composed.\n\nOther than being composed with ``*`` and displaying elements together in the same space, ``Overlay`` shares many of the same concepts as layout. The rest of this section will show the overlay equivalents of the manipulations shown above for layout. \n\nFirst, composition with ``*`` instead of ``+`` results in a single overlaid plot, rather than side-by-side plots:\n\n\n```python\ncurve * scatter\n```", "start_char_idx": 2, "end_char_idx": 615, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "8feb6918-5691-4fda-b973-3c582b06301a": {"__data__": {"id_": "8feb6918-5691-4fda-b973-3c582b06301a", "embedding": null, "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "31c09404-4e75-48ec-a432-04c10811345b", "node_type": "4", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "1faac8db3e17a831a03977632b5c8c0546f646c1f80aa225697307fd0cf52135", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "f4d4cd8f-e0a1-43d1-a411-2a0903d35909", "node_type": "1", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "d74f571f007b4b311460ec3cc490ae545575dac3321c13389f2ba4deb4f8105a", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "946b5ce4-1a23-4c63-a417-dd3284b9cb97", "node_type": "1", "metadata": {}, "hash": "1687f52977e926b12136f1d069a5c50cf5746f1d36c5fe13f3264a548a91d036", "class_name": "RelatedNodeInfo"}}, "hash": "f4d7f37777b1a2384b7ede43110fe27530db24422939d6b3cc4c673f1f996441", "text": "Building ``Overlay`` from a list\n\nAn ``Overlay`` can be built explicitly from a list, just like a ``Layout``:\n\n\n```python\ncurve_list = [hv.Curve((xs, [np.sin(f*x) for x in xs])) for f in [0.5, 0.75]]\nscatter_list = [hv.Scatter((xs[::5], f*np.linspace(0,1,20))) for f in [-0.5, 0.5]]\noverlay = hv.Overlay(curve_list + scatter_list)\noverlay\n```\n\nAs you can see, a special feature of ``Overlay`` compared to ``Layout`` is that overlays use *color cycles* to help keep the overlaid plots distinguishable, which you can learn about in Applying Customization.", "start_char_idx": 2, "end_char_idx": 557, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "946b5ce4-1a23-4c63-a417-dd3284b9cb97": {"__data__": {"id_": "946b5ce4-1a23-4c63-a417-dd3284b9cb97", "embedding": null, "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "6a36d099-ba6a-45f3-8c65-c1ca56cbe7a5", "node_type": "4", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "7833fe2047cd3319ad74b701cd4ee1f7d86a48fe52f96fc3a689b6ebf873d402", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "8feb6918-5691-4fda-b973-3c582b06301a", "node_type": "1", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "f4d7f37777b1a2384b7ede43110fe27530db24422939d6b3cc4c673f1f996441", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "6867f344-f104-45ad-91df-1f4bf2922ab4", "node_type": "1", "metadata": {}, "hash": "09e3f05fe1cd119c5669150a586b9dfde678a715f13cb509a0686f2e21387807", "class_name": "RelatedNodeInfo"}}, "hash": "1687f52977e926b12136f1d069a5c50cf5746f1d36c5fe13f3264a548a91d036", "text": "``Overlay`` also has two-level attribute access\n\nLike ``Layout``, ``Overlay`` is fundamentally a tree structure holding arbitrarily heterogeneous HoloViews objects, unlike the dimensioned containers. ``Overlay`` objects also make use of the ``group`` and ``label`` parameters, introduced in Annotating Data, for two-level attribute access.\n\nOnce again, let us see how to index the above example where the ``group`` and ``label`` parameters were left unspecified:\n\n\n```python\nprint(overlay)\n```\n\n\n```python\noverlay.Curve.I * overlay.Scatter.II\n```\n\nHere we create a second overlay by indexing two elements from our earlier ``overlay`` object and using ``*`` between them. We see that the first level is the ``group`` string (which defaults to the element class name) followed by the label, which wasn't set and is therefore mapped to a Roman numeral.", "start_char_idx": 2, "end_char_idx": 851, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "6867f344-f104-45ad-91df-1f4bf2922ab4": {"__data__": {"id_": "6867f344-f104-45ad-91df-1f4bf2922ab4", "embedding": null, "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "a9da5089-13fa-4881-a005-00e37c3398c7", "node_type": "4", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "22fc5e3c7f88292a3474d13e8527712d7912b0f944d8035b08289b3b573337a9", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "946b5ce4-1a23-4c63-a417-dd3284b9cb97", "node_type": "1", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "1687f52977e926b12136f1d069a5c50cf5746f1d36c5fe13f3264a548a91d036", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "39ab16a8-7c77-4fdb-ad1b-3ffef505e555", "node_type": "1", "metadata": {}, "hash": "ede37c804981bde8991e608f95406c06e1431a54b3a4ddcbd4ed8f1ce968185d", "class_name": "RelatedNodeInfo"}}, "hash": "09e3f05fe1cd119c5669150a586b9dfde678a715f13cb509a0686f2e21387807", "text": "Using ``group`` and ``label`` with ``Overlay``\n\nNow let's return to the first simple overlay example, this time setting ``group`` and ``label`` as introduced in the Annotating Data guide:\n\n\n```python\nhigh_freq = hv.Curve((xs, [np.sin(2*x) for x in xs]), group='Sinusoid', label='High Frequency')\nlabelled = low_freq * high_freq * linpoints\nlabelled\n```\n\nOnce again, this example follows the corresponding ``Layout`` example, although this time we added a high-frequency curve to demonstrate how ``group`` and ``label`` are now used to generate the legend (as opposed to the title, as it was for ``Layout``).\n\nThe following example shows how ``group`` and ``label`` affect access:\n\n\n```python\nlabelled.Linear_Points.Demo * labelled.Sinusoid.High_Frequency * labelled.Sinusoid.Low_Frequency\n```\n\nThis new re-ordered ``Overlay`` switches the z-ordering as well as the legend color of the two sinusoidal curves. The colors and other plot options can be set for specific groups and labels as described in \nApplying Customizations.", "start_char_idx": 2, "end_char_idx": 1028, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "39ab16a8-7c77-4fdb-ad1b-3ffef505e555": {"__data__": {"id_": "39ab16a8-7c77-4fdb-ad1b-3ffef505e555", "embedding": null, "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "6de6fd75-c2dd-4ddd-a13e-a06d59ef3924", "node_type": "4", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "aba08453a1ca4a328c34aff575a38403085c858f03f7eb454ae8ca0e68e0d143", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "6867f344-f104-45ad-91df-1f4bf2922ab4", "node_type": "1", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "09e3f05fe1cd119c5669150a586b9dfde678a715f13cb509a0686f2e21387807", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "a01cb84a-8780-498e-825a-3712c2a41c11", "node_type": "1", "metadata": {}, "hash": "7318509e5850f8d8127e4afbf826fe5eef7304b0e51c3c12fe201cff9d4eeb4d", "class_name": "RelatedNodeInfo"}}, "hash": "ede37c804981bde8991e608f95406c06e1431a54b3a4ddcbd4ed8f1ce968185d", "text": "Layouts of overlays\n\nOf course, layouts work with both elements and overlays:\n\n\n```python\noverlay + labelled + labelled.Sinusoid.Low_Frequency\n```", "start_char_idx": 2, "end_char_idx": 148, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "a01cb84a-8780-498e-825a-3712c2a41c11": {"__data__": {"id_": "a01cb84a-8780-498e-825a-3712c2a41c11", "embedding": null, "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "18858e5b-02c8-46a0-b1ce-80add02da61e", "node_type": "4", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "00a56e3d18a000bce60299fbb90d78a9280ef6bc11fc12aad690e6b9f44dc9bc", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "39ab16a8-7c77-4fdb-ad1b-3ffef505e555", "node_type": "1", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "ede37c804981bde8991e608f95406c06e1431a54b3a4ddcbd4ed8f1ce968185d", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "7ddcca1f-4bfd-4723-b22f-705ef7ca8f46", "node_type": "1", "metadata": {}, "hash": "34151b71840dc1e8ef99821bfdb0c2156c7e26ace08d9b9c1b45914f56792d09", "class_name": "RelatedNodeInfo"}}, "hash": "7318509e5850f8d8127e4afbf826fe5eef7304b0e51c3c12fe201cff9d4eeb4d", "text": "Tab completion\n\nBoth ``Layout`` and ``Overlay`` are designed to be easy to explore and inspect with tab completion. Try running:\n\n```python\noverlay.[tab]\n```\n\nor\n\n```python\nlayout.[tab]\n```\n\n\nIn a code cell and you should see the first levels of indexing (``Curve`` and ``Scatter``) conveniently listed at the top. If this is not the case, you may need to enable improved tab-completion as described in Configuring HoloViews.\n\nHaving seen how to compose viewable objects, the next section shows how to apply customizations.", "start_char_idx": 2, "end_char_idx": 525, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "7ddcca1f-4bfd-4723-b22f-705ef7ca8f46": {"__data__": {"id_": "7ddcca1f-4bfd-4723-b22f-705ef7ca8f46", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "96eb20de-84b1-4467-908a-59e041bc4cdf", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "89f3ffbac12dda19427989a9b57cbeb4e1d65c53fd6cef2c806c4f8494e850d8", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "a01cb84a-8780-498e-825a-3712c2a41c11", "node_type": "1", "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "7318509e5850f8d8127e4afbf826fe5eef7304b0e51c3c12fe201cff9d4eeb4d", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "13069f2a-295c-404f-a102-64bbfb0ff58a", "node_type": "1", "metadata": {}, "hash": "d64f39152ab13280aa035a54eb8177ee03417b5359920bd9a7ce4911c01c993e", "class_name": "RelatedNodeInfo"}}, "hash": "34151b71840dc1e8ef99821bfdb0c2156c7e26ace08d9b9c1b45914f56792d09", "text": "Applying Customizations\n\n\n```python\nimport pandas as pd\nimport numpy as np\nimport holoviews as hv\nfrom holoviews import opts\nhv.extension('bokeh', 'matplotlib')\n```\n\nAs introduced in the Customization section of the 'Getting Started' guide, HoloViews maintains a strict separation between your content (your data and declarations about your data) and its presentation (the details of how this data is represented visually). This separation is achieved by maintaining sets of keyword values (\"options\") that specify how elements are to appear, stored outside of the element itself. Option keywords can be specified for individual element instances, for all elements of a particular type, or for arbitrary user-defined sets of elements that you give a certain ``group`` and ``label`` (see Annotating Data).\n\nThe options system controls how individual plots appear, but other important settings are made more globally using the \"output\" system, which controls HoloViews plotting and rendering code (see the Plots and Renderers user guide). In this guide we will show how to customize the visual styling with the options and output systems, focusing on the mechanisms rather than the specific choices available (which are covered in other guides such as Style Mapping).", "start_char_idx": 2, "end_char_idx": 1267, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "13069f2a-295c-404f-a102-64bbfb0ff58a": {"__data__": {"id_": "13069f2a-295c-404f-a102-64bbfb0ff58a", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "ce2f59a7-3841-4efe-9aee-8007ca48ef7c", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "6ba03249d1c3935ef4cce22052ce43533a1bb2f02d77aea4233c079d69d339dd", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "7ddcca1f-4bfd-4723-b22f-705ef7ca8f46", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "34151b71840dc1e8ef99821bfdb0c2156c7e26ace08d9b9c1b45914f56792d09", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "4733be20-3bab-4dbd-8994-bc7d351c1c07", "node_type": "1", "metadata": {}, "hash": "9e2877abbd14e2d3116f2566ce13bdb1a3b60884d83030ac86bceca6fcf5891a", "class_name": "RelatedNodeInfo"}}, "hash": "d64f39152ab13280aa035a54eb8177ee03417b5359920bd9a7ce4911c01c993e", "text": "Core concepts\n\nThis section offers an overview of some core concepts for customizing visual representation, focusing on how HoloViews keeps content and presentation separate. To start, we will revisit the simple introductory example in the Customization getting-started guide (which might be helpful to review first).\n\n\n```python\nspike_train = pd.read_csv('../assets/spike_train.csv.gz')\ncurve = hv.Curve(spike_train, 'milliseconds', 'Hertz')\nspikes = hv.Spikes(spike_train, 'milliseconds', [])\n```\n\nAnd now we display the ``curve`` and a ``spikes`` elements together in a layout as we did in the getting-started guide:\n\n\n```python\ncurve = hv.Curve( spike_train, 'milliseconds', 'Hertz')\nspikes = hv.Spikes(spike_train, 'milliseconds', [])\nlayout = curve + spikes\n\nlayout.opts(\n opts.Curve( height=200, width=900, xaxis=None, line_width=1.50, color='red', tools=['hover']),\n opts.Spikes(height=150, width=900, yaxis=None, line_width=0.25, color='grey')).cols(1)\n```\n\nThis example illustrates a number of key concepts, as described below.", "start_char_idx": 2, "end_char_idx": 1047, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "4733be20-3bab-4dbd-8994-bc7d351c1c07": {"__data__": {"id_": "4733be20-3bab-4dbd-8994-bc7d351c1c07", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "89a535b3-8fd3-4640-aa09-a3478dd48b80", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "08d635c4c9b994f5476e97ecdd807af1f6087c0b91a9999e5732f43a81a7c144", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "13069f2a-295c-404f-a102-64bbfb0ff58a", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "d64f39152ab13280aa035a54eb8177ee03417b5359920bd9a7ce4911c01c993e", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "c06dc94b-3c80-4e93-81f0-dbf209c95c75", "node_type": "1", "metadata": {}, "hash": "ec9905d9849c176728ac7dcdd74409f3c76daf6b9692f40f880137ff6ff44e81", "class_name": "RelatedNodeInfo"}}, "hash": "9e2877abbd14e2d3116f2566ce13bdb1a3b60884d83030ac86bceca6fcf5891a", "text": "Content versus presentation\n\nIn the getting-started guide Introduction, we saw that we can print the string representation of HoloViews objects such as `layout`:\n\n\n```python\nprint(layout)\n```\n\nIn the Customization getting-started guide, the `.opts.info()` method was introduced that lets you see the options *associated* with (though not stored on) the objects:\n\n\n```python\nlayout.opts.info()\n```\n\nIf you inspect all the state of the `Layout`, `Curve`, or `Spikes` objects you will not find any of these keywords, because they are stored in an entirely separate data structure. HoloViews assigns a unique ID per HoloViews object that lets arbitrarily specific customization be associated with that object if needed, while also making it simple to define options that apply to entire classes of objects by type (or group and label if defined). The HoloViews element is thus *always* a thin wrapper around your data, without any visual styling information or plotting state, even though it *seems* like the object includes the styling information. This separation between content and presentation is by design, so that you can work with your data and with its presentation entirely independently.\n\nIf you wish to clear the options that have been associated with an object `obj`, you can call `obj.opts.clear()`.", "start_char_idx": 2, "end_char_idx": 1312, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "c06dc94b-3c80-4e93-81f0-dbf209c95c75": {"__data__": {"id_": "c06dc94b-3c80-4e93-81f0-dbf209c95c75", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "33403c52-9b09-449b-815d-c130f4dac152", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "80bba941caba3ab64a2aa4e552ab3757236b2e37967225353de64f52d28f4051", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "4733be20-3bab-4dbd-8994-bc7d351c1c07", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "9e2877abbd14e2d3116f2566ce13bdb1a3b60884d83030ac86bceca6fcf5891a", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "81114efe-ef34-48cc-95e2-2541ad847eca", "node_type": "1", "metadata": {}, "hash": "3c68093771bc2d46a442929d28b3bd63079356b10f9bbbcdc2a54d5d5e8c177b", "class_name": "RelatedNodeInfo"}}, "hash": "ec9905d9849c176728ac7dcdd74409f3c76daf6b9692f40f880137ff6ff44e81", "text": "Option builders\n\nThe Customization getting-started guide also introduces the notion of *option builders*. One of the option builders in the visualization shown above is:\n\n\n```python\nopts.Curve( height=200, width=900, xaxis=None, line_width=1.50, color='red', tools=['hover'])\n```\n\nAn *option builder* takes a collection of keywords and returns an `Options` object that stores these keywords together. Why should you use option builders and how are they different from a vanilla dictionary?\n\n1. The option builder specifies which type of HoloViews object the options are for, which is important because each type accepts different options.\n2. Knowing the type, the options builder does *validation* against that type for the currently loaded plotting extensions. Try introducing a typo into one of the keywords above; you should get a helpful error message. Separately, try renaming `line_width` to `linewidth`, and you'll get a different message because the latter is a valid matplotlib keyword.\n3. The option builder allows *tab-completion* in the notebook. This is useful for discovering available keywords for that type of object, which helps prevent mistakes and makes it quicker to specify a set of keywords.\n\nIn the cell above, the specified options are applicable to `Curve` elements, and different validation and tab completion will be available for other types. \n\nThe returned `Options` object is different from a dictionary in the following ways:\n\n1. An optional *spec* is recorded, where this specification is normally just the element name. Above this is simply 'Curve'. Later, in section Using `group` and `label`, we will see how this can also specify the `group` and `label`.\n2. The keywords are alphanumerically sorted, making it easier to compare `Options` objects.", "start_char_idx": 2, "end_char_idx": 1784, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "81114efe-ef34-48cc-95e2-2541ad847eca": {"__data__": {"id_": "81114efe-ef34-48cc-95e2-2541ad847eca", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "7330d96d-c6fa-43ab-8fa3-6e4e14915b8c", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "fe406bc7e7d87a50c3d3d98c031f95ffcad10a76deaa5748809668ac38ac24a9", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "c06dc94b-3c80-4e93-81f0-dbf209c95c75", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "ec9905d9849c176728ac7dcdd74409f3c76daf6b9692f40f880137ff6ff44e81", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "2c48ea8f-4294-4e93-9458-c53c3c5fff09", "node_type": "1", "metadata": {}, "hash": "c093fc8c72b2d7b149c770416ef299fa5d2e4c24fd0ef8d8c6773d208eab4c39", "class_name": "RelatedNodeInfo"}}, "hash": "3c68093771bc2d46a442929d28b3bd63079356b10f9bbbcdc2a54d5d5e8c177b", "text": "Inlining options\n\nWhen customizing a single element, the use of an option builder is not mandatory. If you have a small number of keywords that are common (e.g `color`, `cmap`, `title`, `width`, `height`) it can be clearer to inline them into the `.opts` method call if tab-completion and validation isn't required:\n\n\n```python\nnp.random.seed(42)\narray = np.random.random((10,10))\nim1 = hv.Image(array).opts(opts.Image(cmap='Reds')) # Using an option builder\nim2 = hv.Image(array).opts(cmap='Blues') # Without an option builder\nim1 + im2\n```\n\nYou cannot inline keywords for composite objects such as `Layout` or `Overlay` objects. For instance, the `layout` object is:\n\n\n```python\nprint(layout)\n```\n\nTo customize this layout, you need to use an option builder to associate your keywords with either the `Curve` or the `Spikes` object, or else you would have had to apply the options to the individual elements before you built the composite object. To illustrate setting by type, note that in the first example, both the `Curve` and the `Spikes` have different `height` values provided.\n\nYou can also target options by the `group` and `label` as described in section on using `group` and `label`.", "start_char_idx": 2, "end_char_idx": 1209, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "2c48ea8f-4294-4e93-9458-c53c3c5fff09": {"__data__": {"id_": "2c48ea8f-4294-4e93-9458-c53c3c5fff09", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "e0104155-829c-419d-9c39-5d1d6d6a084f", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "218f8fcc00b1b8d94a154901c90a4b380fe7e1a8fc5ace3ff1c1dbeeea6e7b69", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "81114efe-ef34-48cc-95e2-2541ad847eca", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "3c68093771bc2d46a442929d28b3bd63079356b10f9bbbcdc2a54d5d5e8c177b", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "6efea588-72a2-4a09-aa07-77f47d0d1335", "node_type": "1", "metadata": {}, "hash": "673b39c8052c97ccb6c2afb6dde349b9260286422793b050dad70595360eebd2", "class_name": "RelatedNodeInfo"}}, "hash": "c093fc8c72b2d7b149c770416ef299fa5d2e4c24fd0ef8d8c6773d208eab4c39", "text": "Session-specific options\n\nOne other common need is to set some options for a Python session, whether using Jupyter notebook or not. For this you can set the default options that will apply to all objects created subsequently:\n\n\n```python\nopts.defaults(\n opts.HeatMap(cmap='Summer', colorbar=True, toolbar='above'))\n```\n\nThe `opts.defaults` method has now set the style used for all `HeatMap` elements used in this session:\n\n\n```python\ndata = [(chr(65+i), chr(97+j), i*j) for i in range(5) for j in range(5) if i!=j]\nheatmap = hv.HeatMap(data).sort()\nheatmap\n```", "start_char_idx": 2, "end_char_idx": 567, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "6efea588-72a2-4a09-aa07-77f47d0d1335": {"__data__": {"id_": "6efea588-72a2-4a09-aa07-77f47d0d1335", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "c038d2e0-f2a8-49f2-8609-7316e87ac383", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "c27fd9a95e4f72ba234bf95b723d3ced16d1ea09569eddb9794f0960679ef44b", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "2c48ea8f-4294-4e93-9458-c53c3c5fff09", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "c093fc8c72b2d7b149c770416ef299fa5d2e4c24fd0ef8d8c6773d208eab4c39", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "f4acd5c1-a743-4e10-8f56-76eec58cc734", "node_type": "1", "metadata": {}, "hash": "79f40dab176ea21c8a915a421d65c816ba1be420058b1b7e3ea06969d8427d2c", "class_name": "RelatedNodeInfo"}}, "hash": "673b39c8052c97ccb6c2afb6dde349b9260286422793b050dad70595360eebd2", "text": "Discovering options\n\nUsing tab completion in the option builders is one convenient and easy way of discovering the available options for an element. Another approach is to use `hv.help`.\n\nFor instance, if you run `hv.help(hv.Curve)` you will see a list of the 'style' and 'plot' options applicable to `Curve`. The distinction between these two types of options can often be ignored for most purposes, but the interested reader is encouraged to read more about them in more detail below.\n\nFor the purposes of discovering the available options, the keywords listed under the 'Style Options' section of the help output is worth noting. These keywords are specific to the active plotting extension and are part of the API for that plotting library. For instance, running `hv.help(hv.Curve)` in the cell below would give you the keywords in the Bokeh documentation that you can reference for customizing the appearance of `Curve` objects.", "start_char_idx": 2, "end_char_idx": 935, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "f4acd5c1-a743-4e10-8f56-76eec58cc734": {"__data__": {"id_": "f4acd5c1-a743-4e10-8f56-76eec58cc734", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "e07a805f-a626-4871-8d38-2ff34156fb8e", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "8d6b6b7dc6faaba41d94e68d5affbc691236861b4d5b0aebeacb8d56f2b8be5b", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "6efea588-72a2-4a09-aa07-77f47d0d1335", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "673b39c8052c97ccb6c2afb6dde349b9260286422793b050dad70595360eebd2", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "313a382c-12d3-4ef1-bacb-cfc39731aba6", "node_type": "1", "metadata": {}, "hash": "5e6ac397e4abfd9765f21c5be8bd30f43c3ccd9152a33df1c2bcc181c1715888", "class_name": "RelatedNodeInfo"}}, "hash": "79f40dab176ea21c8a915a421d65c816ba1be420058b1b7e3ea06969d8427d2c", "text": "Maximizing readability\n\nThere are many ways to specify options in your code using the above tools, but for creating readable, maintainable code, we recommend making the separation of content and presentation explicit. Someone reading your code can then understand your visualizations in two steps 1) what your data *is* in terms of the applicable elements and containers 2) how this data is to be presented visually.\n\nThe following guide details the approach we have used through out the examples and guides on holoviews.org. We have found that following these rules makes code involving holoviews easier to read and more consistent.\n\nThe core principle is as follows: ***avoid mixing declarations of data, elements and containers with details of their visual appearance***.", "start_char_idx": 2, "end_char_idx": 776, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "313a382c-12d3-4ef1-bacb-cfc39731aba6": {"__data__": {"id_": "313a382c-12d3-4ef1-bacb-cfc39731aba6", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "75107a9d-2ab6-4a58-bfd3-3f007a8c6c35", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "3289f55a7a047fce4f665423aed57a652ad8d5e05b2d350db432f822a21c7e3d", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "f4acd5c1-a743-4e10-8f56-76eec58cc734", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "79f40dab176ea21c8a915a421d65c816ba1be420058b1b7e3ea06969d8427d2c", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "896dfa6b-13ad-4098-a82b-a2953fcb4e4b", "node_type": "1", "metadata": {}, "hash": "8c37452026155144a78123a3b6c19956e71c7d01cc0268688bdbb6cac55675ad", "class_name": "RelatedNodeInfo"}}, "hash": "5e6ac397e4abfd9765f21c5be8bd30f43c3ccd9152a33df1c2bcc181c1715888", "text": "Two contrasting examples\n\nOne of the best ways to do this is to declare all your elements, compose them and then apply all the necessary styling with the `.opts` method before the visualization is rendered to disk or to the screen. For instance, the example from the getting-started guide could have been written sub-optimally as follows:\n\n***Sub-optimal***\n```python\ncurve = hv.Curve( spike_train, 'milliseconds', 'Hertz').opts(\n height=200, width=900, xaxis=None, line_width=1.50, color='red', tools=['hover'])\nspikes = hv.Spikes(spike_train, 'milliseconds', vdims=[]).opts(\nheight=150, width=900, yaxis=None, line_width=0.25, color='grey')\n(curve + spikes).cols(1)\n```\n\nCode like that is very difficult to read because it mixes declarations of the data and its dimensions with details about how to present it. The recommended version declares the `Layout`, then separately applies all the options together where it's clear that they are just hints for the visualization:\n\n***Recommended***\n```python\ncurve = hv.Curve( spike_train, 'milliseconds', 'Hertz')\nspikes = hv.Spikes(spike_train, 'milliseconds', [])\nlayout = curve + spikes\n\nlayout.opts(\n opts.Curve( height=200, width=900, xaxis=None, line_width=1.50, color='red', tools=['hover']),\n opts.Spikes(height=150, width=900, yaxis=None, line_width=0.25, color='grey')).cols(1)\n```\n\n\nBy grouping the options in this way and applying them at the end, you can see the definition of `layout` without being distracted by visual concerns declared later. Conversely, you can modify the visual appearance of `layout` easily without needing to know exactly how it was defined. The coding style guide section below offers additional advice for keeping things readable and consistent.", "start_char_idx": 2, "end_char_idx": 1742, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "896dfa6b-13ad-4098-a82b-a2953fcb4e4b": {"__data__": {"id_": "896dfa6b-13ad-4098-a82b-a2953fcb4e4b", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "3cead9ea-c177-43b3-949f-17474df6b846", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "0b008af47364bb4f0b1087b783470743681814767bdbdc7478539277c9459dad", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "313a382c-12d3-4ef1-bacb-cfc39731aba6", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "5e6ac397e4abfd9765f21c5be8bd30f43c3ccd9152a33df1c2bcc181c1715888", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "5f213884-0e27-47dd-930a-b0055d30f6d0", "node_type": "1", "metadata": {}, "hash": "896166ea4b06a85c910e9cee73d636b747f41425b9844e914d3a909a63c88ea0", "class_name": "RelatedNodeInfo"}}, "hash": "8c37452026155144a78123a3b6c19956e71c7d01cc0268688bdbb6cac55675ad", "text": "When to use multiple`.opts` calls\n\nThe above coding style applies in many case, but sometimes you have multiple elements of the same type that you need to distinguish visually. For instance, you may have a set of curves where using the `dim` or `Cycle` objects (described in the Style Mapping user guide) is not appropriate and you want to customize the appearance of each curve individually. Alternatively, you may be generating elements in a list comprehension for use in `NdOverlay` and have a specific style to apply to each one.\n\nIn these situations, it is often appropriate to use the inline style of `.opts` locally. In these instances, it is often best to give the individually styled objects a suitable named handle as illustrated by the legend example of the gallery.", "start_char_idx": 2, "end_char_idx": 780, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "5f213884-0e27-47dd-930a-b0055d30f6d0": {"__data__": {"id_": "5f213884-0e27-47dd-930a-b0055d30f6d0", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "a8c4d253-a257-411c-a861-a7ebbaa9deff", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "b7084a54c9608feebec1a9f0d03cb2b90af62e47ce7a266082c79af717946026", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "896dfa6b-13ad-4098-a82b-a2953fcb4e4b", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "8c37452026155144a78123a3b6c19956e71c7d01cc0268688bdbb6cac55675ad", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "e3ea3af3-18ce-4bb9-a2ee-0c81a2c106e2", "node_type": "1", "metadata": {}, "hash": "b2e52a0c12ba27f7fc4e1ff26e2c9481f973c4901235b0d770e84471ebf4907d", "class_name": "RelatedNodeInfo"}}, "hash": "896166ea4b06a85c910e9cee73d636b747f41425b9844e914d3a909a63c88ea0", "text": "General advice\n\nAs HoloViews is highly compositional by design, you can always build long expressions mixing the data and element declarations, the composition of these elements, and their customization. Even though such expressions can be terse they can also be difficult to read.\n\nThe simplest way to avoid long expressions is to keep some level of separation between these stages:\n\n1. declaration of the data\n2. declaration of the elements, including `.opts` to distinguish between elements of the same type if necessary \n3. composition with `+` and `*` into layouts and overlays, and \n4. customization of the composite object, either with a final call to the `.opts` method, or by declaring such settings as the default for your entire session as described above.\n\nWhen stages are simple enough, it can be appropriate to combine them. For instance, if the declaration of the data is simple enough, you can fold in the declaration of the element. In general, any expression involving three or more of these stages will benefit from being broken up into several steps.\n\nThese general principles will help you write more readable code. Maximizing readability will always require some level of judgement, but you can maximize consistency by consulting the coding style guide section for more tips.", "start_char_idx": 2, "end_char_idx": 1299, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "e3ea3af3-18ce-4bb9-a2ee-0c81a2c106e2": {"__data__": {"id_": "e3ea3af3-18ce-4bb9-a2ee-0c81a2c106e2", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "8767175a-ed97-4f86-8298-586916ebf3bc", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "d0e666a8ea75f032fcea32aa9e8a971a5b6502f7fc3da2b719c781462db11137", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "5f213884-0e27-47dd-930a-b0055d30f6d0", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "896166ea4b06a85c910e9cee73d636b747f41425b9844e914d3a909a63c88ea0", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "026e53ee-7c11-46b4-8795-7a9c16829169", "node_type": "1", "metadata": {}, "hash": "10a8806b01ca79a287a6ac0bb151f8e3974f59b4778a6c8711101542551a7fca", "class_name": "RelatedNodeInfo"}}, "hash": "b2e52a0c12ba27f7fc4e1ff26e2c9481f973c4901235b0d770e84471ebf4907d", "text": "Customizing display output\n\n\nThe options system controls most of the customizations you might want to do, but there are a few settings that are controlled at a more general level that cuts across all HoloViews object types: the active plotting extension (e.g. Bokeh or Matplotlib), the output display format (PNG, SVG, etc.), the output figure size, and other similar options. The `hv.output` utility allows you to modify these more global settings, either for all subsequent objects or for one particular object:\n\n* `hv.output(**kwargs)`: Customize how the output appears for the rest of the notebook session.\n* `hv.output(obj, **kwargs)`: Temporarily affect the display of an object `obj` using the keyword `**kwargs`.\n\nThe `hv.output` utility only has an effect in contexts where HoloViews objects can be automatically displayed, which currently is limited to the Jupyter Notebook (in either its classic or JupyterLab variants). In any other Python context, using `hv.output` has no effect, as there is no automatically displayed output; see the hv.save() and hv.render() utilities for explicitly creating output in those other contexts.\n\nTo start with `hv.output`, let us define a `Path` object:\n\n\n```python\nlin = np.linspace(0, np.pi*2, 200)\n\ndef lissajous(t, a, b, delta):\n return (np.sin(a * t + delta), np.sin(b * t), t)\n\npath = hv.Path([lissajous(lin, 3, 5, np.pi/2)])\npath.opts(opts.Path(color='purple', line_width=3, line_dash='dotted'))\n```\n\nNow, to illustrate, let's use `hv.output` to switch our plotting extension to matplotlib:\n\n\n```python\nhv.output(backend='matplotlib', fig='svg')\n```\n\nWe can now display our `path` object with some option customization:\n\n\n```python\npath.opts(opts.Path(linewidth=2, color='red', linestyle='dotted'))\n```\n\nOur plot is now rendered with Matplotlib, in SVG format (try right-clicking the image in the web browser and saving it to disk to confirm). Note that the `opts.Path` option builder now tab completes *Matplotlib* keywords because we activated the Matplotlib plotting extension beforehand. Specifically, `linewidth` and `linestyle` don't exist in Bokeh, where the corresponding options are called `line_width` and `line_dash` instead.\n\nYou can see the custom output options that are currently active using `hv.output.info()`:\n\n\n```python\nhv.output.info()\n```\n\nThe info method will always show which backend is active as well as any other custom settings you have specified. These settings apply to the subsequent display of all objects unless you customize the output display settings for a single object.\n\n\nTo illustrate how settings are kept separate, let us switch back to Bokeh in this notebook session:\n\n\n```python\nhv.output(backend='bokeh')\nhv.output.info()\n```\n\nWith Bokeh active, we can now declare options on `path` that we want to apply only to matplotlib:\n\n\n```python\npath = path.opts(\n opts.Path(linewidth=3, color='blue', backend='matplotlib'))\npath\n```\n\nNow we can supply `path` to `hv.output` to customize how it is displayed, while activating matplotlib to generate that display. In the next cell, we render our path at 50% size as an SVG using matplotlib.\n\n\n```python\nhv.output(path, backend='matplotlib', fig='svg', size=50)\n```\n\nPassing `hv.output` an object will apply the specified settings only for the subsequent display. If you were to view `path` now in the usual way, you would see that it is still being displayed with Bokeh with purple dotted lines.\n\nOne thing to note is that when we set the options with `backend='matplotlib'`, the active plotting extension was Bokeh. This means that `opts.Path` will tab complete *bokeh* keywords, and not the matplotlib ones that were specified. In practice you will want to set the backend appropriately before building your options settings, to ensure that you get the most appropriate tab completion.", "start_char_idx": 2, "end_char_idx": 3832, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "026e53ee-7c11-46b4-8795-7a9c16829169": {"__data__": {"id_": "026e53ee-7c11-46b4-8795-7a9c16829169", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "ad484503-aafe-4c7d-8f5b-fc1db95ba96b", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "3f2990f039075a84fc54e971cd582fb41e1e9ab4a4e451704cde8cac4fa83884", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "e3ea3af3-18ce-4bb9-a2ee-0c81a2c106e2", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "b2e52a0c12ba27f7fc4e1ff26e2c9481f973c4901235b0d770e84471ebf4907d", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "4fa1e274-8a7e-4da7-a261-12073723c286", "node_type": "1", "metadata": {}, "hash": "b093537bc8b0771946568f0b1bc48570eccce1558bbcbed60ebb497a441bf95d", "class_name": "RelatedNodeInfo"}}, "hash": "10a8806b01ca79a287a6ac0bb151f8e3974f59b4778a6c8711101542551a7fca", "text": "Available `hv.output` settings\n\nYou can see the available settings using `help(hv.output)`. For reference, here are the most commonly used ones:\n\n* **backend**: *The backend used by HoloViews*. If the necessary libraries are installed this can be `'bokeh'`, `'matplotlib'` or `'plotly'`.\n* **fig** : *The static figure format*. The most common options are `'svg'` and `'png'`.\n* **holomap**: *The display type for holomaps*. With matplotlib and the necessary support libraries, this may be `'gif'` or `'mp4'`. The JavaScript `'scrubber'` widgets as well as the regular `'widgets'` are always supported.\n* **fps**: *The frames per second used for animations*. This setting is used for GIF output and by the scrubber widget.\n* **size**: *The percentage size of displayed output*. Useful for making all display larger or smaller.\n* **dpi**: *The rendered dpi of the figure*. This setting affects raster output such as PNG images.\n\nIn `help(hv.output)` you will see a few other, less common settings. The `filename` setting particular is not recommended and will be deprecated in favor of `hv.save` in future.", "start_char_idx": 2, "end_char_idx": 1107, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "4fa1e274-8a7e-4da7-a261-12073723c286": {"__data__": {"id_": "4fa1e274-8a7e-4da7-a261-12073723c286", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "87e3ac7c-50fd-419f-9b05-9998bf4dc06d", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "20ed7efcfb4c0cba79dd8d1687a3a34b48ea8e5b142caec0bad3eadedf5e6e4e", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "026e53ee-7c11-46b4-8795-7a9c16829169", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "10a8806b01ca79a287a6ac0bb151f8e3974f59b4778a6c8711101542551a7fca", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "16fa0dfe-1f7c-4d2f-a848-3f5b9a158885", "node_type": "1", "metadata": {}, "hash": "5d7f6c65b7abf6131b555dd3027642fba739a40ff5c22a7d6e44ca8ccbbd4451", "class_name": "RelatedNodeInfo"}}, "hash": "b093537bc8b0771946568f0b1bc48570eccce1558bbcbed60ebb497a441bf95d", "text": "Coding style guide\n\nUsing `hv.output` plus option builders with the `.opts` method and `opts.default` covers the functionality required for most HoloViews code written by users. In addition to these recommended tools, HoloViews supports Notebook Magics (not recommended because they are Jupyter-specific) and literal (nested dictionary) formats useful for developers, as detailed in the Extending HoloViews section. \n\nThis section offers further recommendations for how users can structure their code. These are generally tips based on the important principles described in the maximizing readability section that are often helpful but optional.\n\n* Use as few `.opts` calls as necessary to style the object the way you want.\n* You can inline keywords without an option builder if you only have a few common keywords. For instance, `hv.Image(...).opts(cmap='Reds')` is clearer to read than `hv.Image(...).opts(opts.Image(cmap='Reds'))`.\n* Conversely, you *should* use an option builder if you have more than four keywords.\n* When you have multiple option builders, it is often clearest to list them on separate lines with a single indentation in both `.opts` and `opts.defaults`:\n \n**Not recommended**\n\n```\nlayout.opts(opts.VLine(color='white'), opts.Image(cmap='Reds'), opts.Layout(width=500), opts.Curve(color='blue'))\n```\n\n**Recommended**\n\n```\nlayout.opts(\n opts.Curve(color='blue'),\n opts.Image(cmap='Reds'),\n opts.Layout(width=500),\n opts.VLine(color='white'))\n``` \n \n* The latter is recommended for another reason: if possible, list your element option builders in alphabetical order, before your container option builders in alphabetical order.\n\n* Keep the expression before the `.opts` method simple so that the overall expression is readable.\n* Don't mix `hv.output` and use of the `.opts` method in the same expression.", "start_char_idx": 2, "end_char_idx": 1849, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "16fa0dfe-1f7c-4d2f-a848-3f5b9a158885": {"__data__": {"id_": "16fa0dfe-1f7c-4d2f-a848-3f5b9a158885", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "bfa4f175-b3e0-465e-8a66-280cfecb3c77", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "0043a03aaf2875bf36afe0d79a314239f2a2019ba16bd8cae1a4d5c0ace772ed", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "4fa1e274-8a7e-4da7-a261-12073723c286", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "b093537bc8b0771946568f0b1bc48570eccce1558bbcbed60ebb497a441bf95d", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "34b99b21-2096-458e-8b7d-3f273709fdd9", "node_type": "1", "metadata": {}, "hash": "aae7726d33d11ba2f278e02fdef01fe5a1accb8af14c5882a078e0ba10cf62c3", "class_name": "RelatedNodeInfo"}}, "hash": "5d7f6c65b7abf6131b555dd3027642fba739a40ff5c22a7d6e44ca8ccbbd4451", "text": "What is `.options`?\n\n\nIf you tab complete a HoloViews object, you'll notice there is an `.options` method as well as a `.opts` method. So what is the difference?\n\nThe `.options` method was introduced in HoloViews 1.10 and was the first time HoloViews allowed users to ignore the distinction between 'style', 'plot' and 'norm' options described in the next section. It is largely equivalent to the `.opts` method except that it applies the options on a returned clone of the object.\n\nIn other words, you have `clone = obj.options(**kwargs)` where `obj` is unaffected by the keywords supplied while `clone` will be customized. Both `.opts` and `.options` support an explicit `clone` keyword, so:\n\n* `obj.opts(**kwargs, clone=True)` is equivalent to `obj.options(**kwargs)`, and conversely\n* `obj.options(**kwargs, clone=False)` is equivalent to `obj.opts(**kwargs)`\n\nFor this reason, users only ever need to use `.opts` and occasionally supply `clone=True` if required. The only other difference between these methods is that `.opts` supports the full literal specification that allows splitting into style, plot and norm options (for developers) whereas `.options` does not.", "start_char_idx": 2, "end_char_idx": 1176, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "34b99b21-2096-458e-8b7d-3f273709fdd9": {"__data__": {"id_": "34b99b21-2096-458e-8b7d-3f273709fdd9", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "94be5b1a-40f1-4c65-a6cc-703cce79d8af", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "edd8865d752f5f7b67ccb81f61de03add56404013346518bb3959bad83161e1f", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "16fa0dfe-1f7c-4d2f-a848-3f5b9a158885", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "5d7f6c65b7abf6131b555dd3027642fba739a40ff5c22a7d6e44ca8ccbbd4451", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "5aa32771-5a65-442c-bbc8-4845e8b0ab7b", "node_type": "1", "metadata": {}, "hash": "49d457fe902f36025f5600cab607655a56494b4c213029a23a5a1eaff68c0147", "class_name": "RelatedNodeInfo"}}, "hash": "aae7726d33d11ba2f278e02fdef01fe5a1accb8af14c5882a078e0ba10cf62c3", "text": "When should I use `clone=True`?\n\nThe 'Persistent styles' section of the customization user guide shows how HoloViews remembers options set for an object (per plotting extension). For instance, we never customized the `spikes` object defined at the start of the notebook but we did customize it when it was part of a `Layout` called `layout`. Examining this `spikes` object, we see the options were applied to the underlying object, not just a copy of it in the layout:\n\n\n\n```python\nspikes\n```\n\nThis is because `clone=False` by default in the `.opts` method. To illustrate `clone=True`, let's view some purple spikes *without* affecting the original `spikes` object:\n\n\n```python\npurple_spikes = spikes.opts(color='purple', clone=True)\npurple_spikes\n```\n\nNow if you were to look at `spikes` again, you would see it is still looks like the grey version above and only `purple_spikes` is purple. This means that `clone=True` is useful when you want to keep different styles for some HoloViews object (by making styled clones of it) instead of overwriting the options each time you call `.opts`.", "start_char_idx": 2, "end_char_idx": 1092, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "5aa32771-5a65-442c-bbc8-4845e8b0ab7b": {"__data__": {"id_": "5aa32771-5a65-442c-bbc8-4845e8b0ab7b", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "b6368f5c-6ef3-445e-8438-1d79dd935241", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "77d61ece6d7bb5d4514899ec2b1b1a101bb724208b4156d15918f2493c7ac088", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "34b99b21-2096-458e-8b7d-3f273709fdd9", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "aae7726d33d11ba2f278e02fdef01fe5a1accb8af14c5882a078e0ba10cf62c3", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "62a9c3dd-3119-41dd-a8fa-a3f81d09ccee", "node_type": "1", "metadata": {}, "hash": "453dce154b29840a9dd0e72a53f728dfdae287554927bd5a3ed3644476c8f063", "class_name": "RelatedNodeInfo"}}, "hash": "49d457fe902f36025f5600cab607655a56494b4c213029a23a5a1eaff68c0147", "text": "Extending HoloViews\n\nIn addition to the formats described above for use by users, additional option formats are supported that are less user friendly for data exploration but may be more convenient for library authors building on HoloViews.\n\nThe first of these is the *`Option` list syntax* which is typically most useful outside of notebooks, a *literal syntax* that avoids the need to import `opts`, and then finally a literal syntax that keeps *style* and *plot* options separate.", "start_char_idx": 2, "end_char_idx": 485, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "62a9c3dd-3119-41dd-a8fa-a3f81d09ccee": {"__data__": {"id_": "62a9c3dd-3119-41dd-a8fa-a3f81d09ccee", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "08fd0d36-5043-4e09-b2ed-f5412bc963b0", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "73209c450985c1c08e55dc91c5fc3fbc637de8f24e32656d78a41c906be0c3db", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "5aa32771-5a65-442c-bbc8-4845e8b0ab7b", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "49d457fe902f36025f5600cab607655a56494b4c213029a23a5a1eaff68c0147", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "8e88f950-7b7d-42cb-9939-a90482f709dc", "node_type": "1", "metadata": {}, "hash": "5ae55e5b5a4139a64671b8bbaf6c11c75cc9490698cdc82c0cc52cbb6528d391", "class_name": "RelatedNodeInfo"}}, "hash": "453dce154b29840a9dd0e72a53f728dfdae287554927bd5a3ed3644476c8f063", "text": "`Option` list syntax\n\nIf you find yourself using `obj.opts(*options)` where `options` is a list of `Option` objects, use `obj.opts(options)` instead as list input is also supported:\n\n\n```python\noptions = [\n opts.Curve( height=200, width=900, xaxis=None, line_width=1.50, color='grey', tools=['hover']),\n opts.Spikes(height=150, width=900, yaxis=None, line_width=0.25, color='orange')]\n \nlayout.opts(options).cols(1)\n```\n\nThis approach is often best in regular Python code where you are dynamically building up a list of options to apply. Using the option builders early also allows for early validation before use in the `.opts` method.", "start_char_idx": 2, "end_char_idx": 647, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "8e88f950-7b7d-42cb-9939-a90482f709dc": {"__data__": {"id_": "8e88f950-7b7d-42cb-9939-a90482f709dc", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "3fa5eda3-1cf2-4058-90a3-4afae2a72f2a", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "b4ecf579682378ab0cdd5fdf619425cf1e82572e42241bbbb58208370743183a", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "62a9c3dd-3119-41dd-a8fa-a3f81d09ccee", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "453dce154b29840a9dd0e72a53f728dfdae287554927bd5a3ed3644476c8f063", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "a13681e6-9734-478b-9208-affd351be458", "node_type": "1", "metadata": {}, "hash": "ce2f4aa350c5cccf3fc53ccb06dfe2e7e6a390e4c2a882cb8916c4fa4ce1a312", "class_name": "RelatedNodeInfo"}}, "hash": "5ae55e5b5a4139a64671b8bbaf6c11c75cc9490698cdc82c0cc52cbb6528d391", "text": "Literal syntax\n\nThis syntax has the advantage of being a pure Python literal but it is harder to work with directly (due to nested dictionaries), is less readable, lacks tab completion support and lacks validation at the point where the keywords are defined:\n\n\n\n```python\nlayout.opts(\n {'Curve': dict(height=200, width=900, xaxis=None, line_width=2, color='blue', tools=['hover']),\n 'Spikes': dict(height=150, width=900, yaxis=None, line_width=0.25, color='green')}).cols(1)\n```\n\nThe utility of this format is you don't need to import `opts` and it is easier to dynamically add or remove keywords using Python or if you are storing options in a text file like YAML or JSON and only later applying them in Python code. This format should be avoided when trying to maximize readability or make the available keyword options easy to explore.", "start_char_idx": 2, "end_char_idx": 848, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "a13681e6-9734-478b-9208-affd351be458": {"__data__": {"id_": "a13681e6-9734-478b-9208-affd351be458", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "2b0921c5-a4fd-48e9-b5d6-b2c51ee1e38c", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "20b8941b791bcda4d6e3c04ff8332fcf267f9796fc10e23af6d9ed4adb937383", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "8e88f950-7b7d-42cb-9939-a90482f709dc", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "5ae55e5b5a4139a64671b8bbaf6c11c75cc9490698cdc82c0cc52cbb6528d391", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "48b5df67-6450-49a7-9af5-4dd2b56ae440", "node_type": "1", "metadata": {}, "hash": "b29bc1fee586cfbbf6182508f6380c835484d611a974d48004943cce04b7a502", "class_name": "RelatedNodeInfo"}}, "hash": "ce2f4aa350c5cccf3fc53ccb06dfe2e7e6a390e4c2a882cb8916c4fa4ce1a312", "text": "Using `group` and `label`\n\nThe notion of an element `group` and `label` was introduced in Annotating Data. This type of metadata is helpful for organizing large collections of elements with shared styling, such as automatically generated objects from some external software (e.g. a simulator). If you have a large set of elements with semantically meaningful `group` and `label` parameters set, you can use this information to appropriately customize large numbers of visualizations at once.\n\nTo illustrate, here are four overlaid curves where three have the `group` of 'Sinusoid' and one of these also has the label 'Squared':\n\n\n```python\nxs = np.linspace(-np.pi,np.pi,100)\ncurve = hv.Curve((xs, xs/3))\ngroup_curve1 = hv.Curve((xs, np.sin(xs)), group='Sinusoid')\ngroup_curve2 = hv.Curve((xs, np.sin(xs+np.pi/4)), group='Sinusoid')\nlabel_curve = hv.Curve((xs, np.sin(xs)**2), group='Sinusoid', label='Squared')\ncurves = curve * group_curve1 * group_curve2 * label_curve\ncurves\n```\n\nWe can now use the `.opts` method to make all curves blue unless they are in the 'Sinusoid' group in which case they are red. Additionally, if a curve in the 'Sinusoid' group also has the label 'Squared', we can make sure that curve is green with a custom interpolation option:\n\n\n```python\ncurves.opts(\n opts.Curve(color='blue'),\n opts.Curve('Sinusoid', color='red'),\n opts.Curve('Sinusoid.Squared', interpolation='steps-mid', color='green'))\n```\n\nBy using `opts.defaults` instead of the `.opts` method, we can use this type of customization to apply options to many elements, including elements that haven't even been created yet. For instance, if we run:\n\n\n```python\nopts.defaults(opts.Area('Error', alpha=0.5, color='grey'))\n```\n\nThen any `Area` element with a `group` of 'Error' will then be displayed as a semi-transparent grey:\n\n\n```python\nX = np.linspace(0,2,10)\nhv.Area((X, np.random.rand(10), -np.random.rand(10)), vdims=['y', 'y2'], group='Error')\n```", "start_char_idx": 2, "end_char_idx": 1955, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "48b5df67-6450-49a7-9af5-4dd2b56ae440": {"__data__": {"id_": "48b5df67-6450-49a7-9af5-4dd2b56ae440", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "0b265505-a030-47dd-bb53-7708f99cdd79", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "e07a298854b7a86fbde5f0ef30e9d8bb15748255c4b39270d37a35f639ea7392", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "a13681e6-9734-478b-9208-affd351be458", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "ce2f4aa350c5cccf3fc53ccb06dfe2e7e6a390e4c2a882cb8916c4fa4ce1a312", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "7a98b790-175d-4801-979a-fcbda06e457f", "node_type": "1", "metadata": {}, "hash": "f8056e832501f18cbfcdc166ca3add00db216072be35824c12cf159e353f3606", "class_name": "RelatedNodeInfo"}}, "hash": "b29bc1fee586cfbbf6182508f6380c835484d611a974d48004943cce04b7a502", "text": "Split into `style`, `plot` and `norm` options\n\nIn `HoloViews`, an element such as `Curve` actually has three semantic distinct categories of options: `style`, `plot`, and `norm` options. Normally, a user doesn't need to worry about the distinction if they spend most of their time working with a single plotting extension.\n\nWhen trying to build a system that consistently needs to generate visualizations across different plotting libraries, it can be useful to make this distinction explicit:", "start_char_idx": 2, "end_char_idx": 495, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "7a98b790-175d-4801-979a-fcbda06e457f": {"__data__": {"id_": "7a98b790-175d-4801-979a-fcbda06e457f", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "f13e8942-1cdb-42a4-a667-5bee5ee17dda", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "6bca7681432fc9f0428c405b49a8f432c4ca0d82376c31a4560307309f49b33d", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "48b5df67-6450-49a7-9af5-4dd2b56ae440", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "b29bc1fee586cfbbf6182508f6380c835484d611a974d48004943cce04b7a502", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "eaadbd44-8ef6-4664-bef9-1601a50308da", "node_type": "1", "metadata": {}, "hash": "e8e1095ebdfb81b1e3759b5c167acf10a22fa906603a6baa7c37a84a28a86690", "class_name": "RelatedNodeInfo"}}, "hash": "f8056e832501f18cbfcdc166ca3add00db216072be35824c12cf159e353f3606", "text": "``style`` options:\n\n``style`` options are passed directly to the underlying rendering backend that actually draws the plots, allowing you to control the details of how it behaves. Each backend has its own options (e.g. the ``bokeh`` or plotly backends).\n\nFor whichever backend has been selected, HoloViews can tell you which options are supported, but you will need to read the corresponding documentation (e.g. matplotlib, bokeh) for the details of their use. For listing available options, see the ``hv.help`` as described in the Discovering options section.\n\nHoloViews has been designed to be easily extensible to additional backends in the future and each backend would have its own set of style options.", "start_char_idx": 2, "end_char_idx": 711, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "eaadbd44-8ef6-4664-bef9-1601a50308da": {"__data__": {"id_": "eaadbd44-8ef6-4664-bef9-1601a50308da", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "093d230a-2ae9-4416-aa95-088a256a0432", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "3860285a991d7f06214dd91cf364bdb609491acd27e65c8eabe0e4e76b92bf25", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "7a98b790-175d-4801-979a-fcbda06e457f", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "f8056e832501f18cbfcdc166ca3add00db216072be35824c12cf159e353f3606", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "03a3c696-449c-4791-ad09-19101e483f51", "node_type": "1", "metadata": {}, "hash": "2cbc40ce811c310316fbeb0181048df46dd02549823d9811bc4b64b68b9e1bf3", "class_name": "RelatedNodeInfo"}}, "hash": "e8e1095ebdfb81b1e3759b5c167acf10a22fa906603a6baa7c37a84a28a86690", "text": "``plot`` options:\n\nEach of the various HoloViews plotting classes declares various Parameters that control how HoloViews builds the visualization for that type of object, such as plot sizes and labels. HoloViews uses these options internally; they are not simply passed to the underlying backend. HoloViews documents these options fully in its online help and in the Reference Manual. These options may vary for different backends in some cases, depending on the support available both in that library and in the HoloViews interface to it, but we try to keep any options that are meaningful for a variety of backends the same for all of them. For listing available options, see the output of ``hv.help``.", "start_char_idx": 2, "end_char_idx": 709, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "03a3c696-449c-4791-ad09-19101e483f51": {"__data__": {"id_": "03a3c696-449c-4791-ad09-19101e483f51", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "ad2f0614-b88a-4e84-aa20-e1b234063207", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "5dc1ab39c35f90fd5679b9e03e256f406e41783ad7ad3f90be3f23ac1e927a87", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "eaadbd44-8ef6-4664-bef9-1601a50308da", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "e8e1095ebdfb81b1e3759b5c167acf10a22fa906603a6baa7c37a84a28a86690", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "f9191bf0-28c4-400f-8b89-4d8e7d01db6b", "node_type": "1", "metadata": {}, "hash": "d76448ca5f19e867662fd42fad7457d7b0acfc64b17f16a574729cdbcb2f4d99", "class_name": "RelatedNodeInfo"}}, "hash": "2cbc40ce811c310316fbeb0181048df46dd02549823d9811bc4b64b68b9e1bf3", "text": "``norm`` options:\n\n``norm`` options are a special type of plot option that are applied orthogonally to the above two types, to control normalization. Normalization refers to adjusting the properties of one plot relative to those of another. For instance, two images normalized together would appear with relative brightness levels, with the brightest image using the full range black to white, while the other image is scaled proportionally. Two images normalized independently would both cover the full range from black to white. Similarly, two axis ranges normalized together are effectively linked and will expand to fit the largest range of either axis, while those normalized separately would cover different ranges. For listing available options, see the output of ``hv.help``.\n\nYou can preserve the semantic distinction between these types of option in an augmented form of the Literal syntax as follows:\n\n\n```python\nfull_literal_spec = {\n 'Curve': {'style':dict(color='orange')}, \n 'Curve.Sinusoid': {'style':dict(color='grey')}, \n 'Curve.Sinusoid.Squared': {'style':dict(color='black'),\n 'plot':dict(interpolation='steps-mid')}}\nhv.opts.apply_groups(curves, full_literal_spec)\n```\n\nThis specification is what HoloViews uses internally, but it is awkward for people to use and is not ever recommended for normal users. That said, it does offer the maximal amount of flexibility and power for integration with other software.\n\nFor instance, a simulator that can output visualization using either Bokeh or Matplotlib via HoloViews could use this format. By keeping the 'plot' and 'style' options separate, the 'plot' options could be set regardless of the plotting library while the 'style' options would be conditional on the backend.", "start_char_idx": 2, "end_char_idx": 1787, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "f9191bf0-28c4-400f-8b89-4d8e7d01db6b": {"__data__": {"id_": "f9191bf0-28c4-400f-8b89-4d8e7d01db6b", "embedding": null, "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "919e3576-6ad7-4fca-8de8-f08706787d07", "node_type": "4", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "faba2fbbb395756e451b7ff3e8d6ba37c4d1b5f8aca9eb6bd394606246887b97", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "03a3c696-449c-4791-ad09-19101e483f51", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "2cbc40ce811c310316fbeb0181048df46dd02549823d9811bc4b64b68b9e1bf3", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "0ebe32f7-b5fb-4eb7-bc21-ee54a8a2b2a7", "node_type": "1", "metadata": {}, "hash": "f7bc7baedace18ac761e6fe3c5b64d7a64c070d1ec5d1e59ae7744f9205cdc0d", "class_name": "RelatedNodeInfo"}}, "hash": "d76448ca5f19e867662fd42fad7457d7b0acfc64b17f16a574729cdbcb2f4d99", "text": "Onwards\n\nThis section of the user guide has described how you can discover and set customization options in HoloViews. Using `hv.help` and the option builders, you should be able to find the options available for any given object you want to display.\n\nWhat *hasn't* been explored are some of the facilities HoloViews offers to map the dimensions of your data to style options. This important topic is explored in the next user guide Style Mapping, where you will learn of the `dim` object as well as about the `Cycle` and `Palette` objects.", "start_char_idx": 2, "end_char_idx": 542, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "0ebe32f7-b5fb-4eb7-bc21-ee54a8a2b2a7": {"__data__": {"id_": "0ebe32f7-b5fb-4eb7-bc21-ee54a8a2b2a7", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "6eb13c66-467e-458b-a45c-9ff5d1cb2bdd", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "42386086097fe1aa3c436e6ab07e09b9e1da4330a46c953f89d71afc615bd68a", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "f9191bf0-28c4-400f-8b89-4d8e7d01db6b", "node_type": "1", "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "d76448ca5f19e867662fd42fad7457d7b0acfc64b17f16a574729cdbcb2f4d99", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "4e537f16-4aa2-413d-b34b-c56e70717547", "node_type": "1", "metadata": {}, "hash": "6250e20ab78ac345f45c98d32eeab0979e09dd2917b028e97210ff4e957764b7", "class_name": "RelatedNodeInfo"}}, "hash": "f7bc7baedace18ac761e6fe3c5b64d7a64c070d1ec5d1e59ae7744f9205cdc0d", "text": "Style Mapping\n\n\n```python\nimport numpy as np\nimport holoviews as hv\nfrom holoviews import dim, opts\n\nhv.extension('bokeh')\n```\n\nOne of the major benefits of HoloViews is the fact that Elements are simple, declarative wrappers around your data, with clearly defined semantics describing how the dimensions of the data map to the screen. Usually the key dimensions (kdims) and value dimensions map to coordinates of the plot axes and/or the colormapped intensity. However there are a huge number of ways to augment the visual representation of an element by mapping dimensions to visual attributes. In this section we will explore how we can declare such mappings including complex transforms specified by so called ``dim`` objects.\n\nTo illustrate this point let us create a set of three points with x/y-coordinates and alpha, color, marker and size values and then map each of those value dimensions to a visual attribute by name. Note that by default kdims is x,y. However, in this example we also show that the names of the dimensions can be changed and we use 'x values' and 'y values' to represent the data series names.\n\n\n```python\ndata = {\n 'x values': [0, 1, 0.5],\n 'y values': [1, 0, 0.5],\n 'alpha': [0.5, 1, 0.3],\n 'color': ['red', 'blue', 'green'],\n 'marker': ['circle', 'triangle', 'diamond'],\n 'size': [15, 25, 40]\n}\n\nopts.defaults(opts.Points(size=8, line_color='black'))\n\nhv.Points(data, kdims=['x values','y values'] , vdims=['alpha', 'color', 'marker', 'size']).opts(\n alpha='alpha', color='color', marker='marker', size='size')\n```\n\nThis is the simplest approach to style mapping, dimensions can be mapped to visual attributes directly by name. However often columns in the data will not directly map to a visual property, e.g. we might want to normalize values before mapping them to the alpha, or apply a scaling factor to some values before mapping them to the point size; this is where ``dim`` transforms come in. Below are a few examples of using ``dim`` transforms to map a dimension in the data to the visual style in the plot:\n\n\n```python\npoints = hv.Points(np.random.rand(400, 4))\n\nbins = [0, .25, 0.5, .75, 1]\nlabels = ['circle', 'triangle', 'diamond', 'square']\n\nlayout = hv.Layout([\n points.relabel('Alpha' ).opts(alpha =dim('x').norm()),\n points.relabel('Angle' ).opts(angle =dim('x').norm()*360, marker='dash'),\n points.relabel('Color' ).opts(color =dim('x')),\n points.relabel('Marker').opts(marker=dim('x').bin(bins, labels)),\n points.relabel('Size' ).opts(size =dim('x')*10)\n])\n\nlayout.opts(opts.Points(width=250, height=250, xaxis=None, yaxis=None)).cols(5)\n```", "start_char_idx": 2, "end_char_idx": 2636, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "4e537f16-4aa2-413d-b34b-c56e70717547": {"__data__": {"id_": "4e537f16-4aa2-413d-b34b-c56e70717547", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "34118d72-6677-4cb0-bca9-5e23eba07a99", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "bcbcb9e5d49fb856025a8c2503c429959ec4e6b90edf6d06ad34468179abca6d", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "0ebe32f7-b5fb-4eb7-bc21-ee54a8a2b2a7", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "f7bc7baedace18ac761e6fe3c5b64d7a64c070d1ec5d1e59ae7744f9205cdc0d", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "df48f360-3575-4cd3-8763-1b67d18b4e9c", "node_type": "1", "metadata": {}, "hash": "8870a51d900f7eebb5939bcecdc972e64196a1852c8a173550c76e1adc67852f", "class_name": "RelatedNodeInfo"}}, "hash": "6250e20ab78ac345f45c98d32eeab0979e09dd2917b028e97210ff4e957764b7", "text": "What are dim transforms?\n\nIn the above example we saw how to use an ``dim`` to define a transform from a dimension in your data to the visual property on screen. A ``dim`` therefore is a simple way to declare a deferred transform of your data. In the simplest case an ``dim`` simply returns the data for a dimension without transforming it, e.g. to look up the ``'alpha'`` dimension on the points object we can create an ``dim`` and use the ``apply`` method to evaluate the expression:\n\n\n```python\nfrom holoviews import dim\n\nds = hv.Dataset(np.random.rand(10, 4)*10, ['x', 'y'], ['alpha', 'size'])\n\ndim('alpha').apply(ds)\n```", "start_char_idx": 2, "end_char_idx": 627, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "df48f360-3575-4cd3-8763-1b67d18b4e9c": {"__data__": {"id_": "df48f360-3575-4cd3-8763-1b67d18b4e9c", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "98c9128e-e18f-4acb-a9f1-df7b78632218", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "31a7cfa9448176ef4a4cb83837cbdfe68b0f8825e8e4cfd03493601da677ea99", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "4e537f16-4aa2-413d-b34b-c56e70717547", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "6250e20ab78ac345f45c98d32eeab0979e09dd2917b028e97210ff4e957764b7", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "d2e30f48-710c-4349-8b5b-0e4f5c540f4c", "node_type": "1", "metadata": {}, "hash": "99fc8314d4d8715e2bbcccaf03d30bf4f522109df545ef20efb6821690cec8fc", "class_name": "RelatedNodeInfo"}}, "hash": "8870a51d900f7eebb5939bcecdc972e64196a1852c8a173550c76e1adc67852f", "text": "Mathematical operators\n\nAn ``dim`` declaration allow arbitrary mathematical operations to be performed, e.g. let us declare that we want to subtract 5 from the 'alpha' dimension and then compute the ``min``:\n\n\n```python\nmath_op = (dim('alpha')-5).min()\nmath_op\n```\n\nPrinting the repr of the ``math_op`` we can see that it builds up an nested expression. To see the transform in action we will once again ``apply`` it on the points:\n\n\n```python\nmath_op.apply(ds)\n```\n\n ``dim`` objects implement most of the NumPy API, supports all standard mathematical operators and also support NumPy ufuncs.", "start_char_idx": 2, "end_char_idx": 594, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "d2e30f48-710c-4349-8b5b-0e4f5c540f4c": {"__data__": {"id_": "d2e30f48-710c-4349-8b5b-0e4f5c540f4c", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "ffd0022d-eb0c-4384-8c0c-9643d9427ae6", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "63140a07984e9d4acf3ed1de58371794909dc5c0a7257de7e76d56b0ac7fcf99", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "df48f360-3575-4cd3-8763-1b67d18b4e9c", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "8870a51d900f7eebb5939bcecdc972e64196a1852c8a173550c76e1adc67852f", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "75016e1c-d447-4d02-b7ad-971eb14f8ce5", "node_type": "1", "metadata": {}, "hash": "33205083eef1671d79503094fdea20339ec817881582a3c00cea79f96513ff94", "class_name": "RelatedNodeInfo"}}, "hash": "99fc8314d4d8715e2bbcccaf03d30bf4f522109df545ef20efb6821690cec8fc", "text": "Custom functions\n\nIn addition to standard mathematical operators it is also possible to declare custom functions which can be applied by name. By default HoloViews ships with three commonly useful functions.", "start_char_idx": 2, "end_char_idx": 209, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "75016e1c-d447-4d02-b7ad-971eb14f8ce5": {"__data__": {"id_": "75016e1c-d447-4d02-b7ad-971eb14f8ce5", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "b4e4994a-3d8d-4e8b-88c0-7baf26a4f02d", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "71fe717fa318197283482607317511aed9aa8371f51a91354facb95d78a2f8e0", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "d2e30f48-710c-4349-8b5b-0e4f5c540f4c", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "99fc8314d4d8715e2bbcccaf03d30bf4f522109df545ef20efb6821690cec8fc", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "7e2b5e99-72b2-4f6b-8ebb-aabff133a44d", "node_type": "1", "metadata": {}, "hash": "e93dae13f21af2928f95145cdb382f22c204a6bde10a1cd79ef65b08732f6862", "class_name": "RelatedNodeInfo"}}, "hash": "33205083eef1671d79503094fdea20339ec817881582a3c00cea79f96513ff94", "text": "**``norm``**\n\nUnity based normalization or features scaling normalizing the values to a range between 0-1 (optionally accepts ``min``/``max`` values as ``limits``, which are usually provided by the plotting system) using the expression:\n\n (values - min) / (max-min)\n \nfor example we can rescale the alpha values into a 0-1 range:\n\n\n```python\ndim('alpha').norm().apply(ds)\n```", "start_char_idx": 2, "end_char_idx": 383, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "7e2b5e99-72b2-4f6b-8ebb-aabff133a44d": {"__data__": {"id_": "7e2b5e99-72b2-4f6b-8ebb-aabff133a44d", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "be4a3c3e-aeb9-4a74-a462-ffa29fafebd9", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "8094bc568f57d3274fd519c7ca10571a95a427efac4f310aed6b5d7792109041", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "75016e1c-d447-4d02-b7ad-971eb14f8ce5", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "33205083eef1671d79503094fdea20339ec817881582a3c00cea79f96513ff94", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "473d7594-f1ff-413a-a082-38957cdd6c6a", "node_type": "1", "metadata": {}, "hash": "e7a5d1ad3165336e273eb4d9773d2185e23a1cb3a14dada5f4dc53107117d463", "class_name": "RelatedNodeInfo"}}, "hash": "e93dae13f21af2928f95145cdb382f22c204a6bde10a1cd79ef65b08732f6862", "text": "**``bin``**\n\nBins values using the supplied bins specified as the edges of each bin:\n\n\n```python\nbin_op = dim('alpha').bin([0, 5, 10])\n\nbin_op.apply(ds)\n```\n\nIt is also possible to provide explicit labels for each bin which will replace the bin center value:\n\n\n```python\ndim('alpha').bin([0, 5, 10], ['Bin 1', 'Bin 2']).apply(ds)\n```", "start_char_idx": 2, "end_char_idx": 335, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "473d7594-f1ff-413a-a082-38957cdd6c6a": {"__data__": {"id_": "473d7594-f1ff-413a-a082-38957cdd6c6a", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "83a32b7d-16d3-4c97-b06c-f0f2145a53dd", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "e5dcf4add5f8ec9c2f1c05da1c929aeee52f9089425665176321ab562156fe35", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "7e2b5e99-72b2-4f6b-8ebb-aabff133a44d", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "e93dae13f21af2928f95145cdb382f22c204a6bde10a1cd79ef65b08732f6862", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "99632d21-4790-4c18-bb44-8c65d17bf5f6", "node_type": "1", "metadata": {}, "hash": "cebf13cccdf2d50a325bb1de101f810a6f57c1b5700e4f48552e0877bb7a65b2", "class_name": "RelatedNodeInfo"}}, "hash": "e7a5d1ad3165336e273eb4d9773d2185e23a1cb3a14dada5f4dc53107117d463", "text": "**``categorize``**\n\nMaps a number of discrete values onto the supplied list of categories, e.g. having binned the data into 2 discrete bins we can map them to two discrete marker types 'circle' and 'triangle':\n\n\n```python\ndim(bin_op).categorize({2.5: 'circle', 7.5: 'square'}).apply(ds)\n```\n\nThis can be very useful to map discrete categories to markers or colors.", "start_char_idx": 2, "end_char_idx": 366, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "99632d21-4790-4c18-bb44-8c65d17bf5f6": {"__data__": {"id_": "99632d21-4790-4c18-bb44-8c65d17bf5f6", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "7d8b202f-8ac0-4be2-85d8-cab9fe32d876", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "d5d89e5b4b1876c84dd279021eb3c56555816099718442b4a8df270cf0b47073", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "473d7594-f1ff-413a-a082-38957cdd6c6a", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "e7a5d1ad3165336e273eb4d9773d2185e23a1cb3a14dada5f4dc53107117d463", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "29198336-47fd-4285-98b8-2e960bedc128", "node_type": "1", "metadata": {}, "hash": "71323fb50e98788b19ef84b6311cbb0619fc523c241df521535a8a7a3b58c138", "class_name": "RelatedNodeInfo"}}, "hash": "cebf13cccdf2d50a325bb1de101f810a6f57c1b5700e4f48552e0877bb7a65b2", "text": "Style mapping with ``dim`` transforms\n\nThis allows a huge amount of flexibility to express how the data should be mapped to visual style without directly modifying the data. To demonstrate this we will use some of the more complex:\n\n\n```python\npoints.opts(\n alpha =(dim('x')+0.2).norm(),\n angle =np.sin(dim('y'))*360,\n color =dim('x')**2,\n marker=dim('y').bin(bins, labels),\n size =dim('x')**dim('y')*20, width=500, height=500)\n```\n\nLet's summarize the style transforms we have applied:\n \n* **alpha**=``(dim('x')+0.2).norm()``: The alpha are mapped to the x-values offset by 0.2 and normalized.\n* **angle**=``np.sin(dim('x'))*360``: The angle of each marker is the sine of the y-values, multiplied by 360\n* **color**=``'x'``: The points are colormapped by square of their x-values.\n* **marker**=``dim('y').bin(bins, labels)``: The y-values are binned and each bin is assignd a unique marker.\n* **size**=``dim('x')**dim('y')*20``: The size of the points is mapped to the x-values exponentiated with the y-values and scaled by 20\n\nThese are simply illustrative examples, transforms can be chained in arbitrarily complex ways to achieve almost any mapping from dimension values to visual style.", "start_char_idx": 2, "end_char_idx": 1212, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "29198336-47fd-4285-98b8-2e960bedc128": {"__data__": {"id_": "29198336-47fd-4285-98b8-2e960bedc128", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "8c4004aa-668f-4498-92eb-d04c71890e50", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "8926d512cb313d15b500ffcad6ccc7130f99275a323b51ea4619ee5c130c7869", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "99632d21-4790-4c18-bb44-8c65d17bf5f6", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "cebf13cccdf2d50a325bb1de101f810a6f57c1b5700e4f48552e0877bb7a65b2", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "c2f045a7-5d6d-469d-acab-1b0944577f6f", "node_type": "1", "metadata": {}, "hash": "bc9663aa0037b59fd2829f490125b9fb2bf9b00696d3d3252f95e9b96e3380cc", "class_name": "RelatedNodeInfo"}}, "hash": "71323fb50e98788b19ef84b6311cbb0619fc523c241df521535a8a7a3b58c138", "text": "Colormapping\n\nColor cycles and styles are useful for categorical plots and when overlaying multiple subsets, but when we want to map data values to a color it is better to use HoloViews' facilities for color mapping. Certain image-like types will apply colormapping automatically; e.g. for ``Image``, ``QuadMesh`` or ``HeatMap`` types the first value dimension is automatically mapped to the color. In other cases the values to colormap can be declared by providing a ``color`` style option that specifies which dimension to map into the color value.", "start_char_idx": 2, "end_char_idx": 552, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "c2f045a7-5d6d-469d-acab-1b0944577f6f": {"__data__": {"id_": "c2f045a7-5d6d-469d-acab-1b0944577f6f", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "774d786d-66d4-4457-a7e3-827c0e224672", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "d84248de5b262dbd48c63a3d31363fa92973a950dc79725fbcacf95fc83a92ba", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "29198336-47fd-4285-98b8-2e960bedc128", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "71323fb50e98788b19ef84b6311cbb0619fc523c241df521535a8a7a3b58c138", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "81e18f74-501d-49b8-ba8c-00205d156624", "node_type": "1", "metadata": {}, "hash": "6b7b8e954aa5fb79cd96517ec0db0822886173c89d67e2999ca87e5bea26bf20", "class_name": "RelatedNodeInfo"}}, "hash": "bc9663aa0037b59fd2829f490125b9fb2bf9b00696d3d3252f95e9b96e3380cc", "text": "Named colormaps\n\nHoloViews accepts colormaps specified either as an explicit list of hex or HTML colors, as a Matplotlib colormap object, or as the name of a bokeh, matplotlib, and colorcet palettes/colormap (which are available when the respective library is imported). The named colormaps available are listed here (suppressing the `_r` versions) and illustrated in detail in the separate Colormaps user guide:\n\n\n```python\ndef format_list(l):\n print(' '.join(sorted([k for k in l if not k.endswith('_r')])))\n\nformat_list(hv.plotting.list_cmaps())\n```\n\nTo use one of these colormaps simply refer to it by name with the ``cmap`` style option:\n\n\n```python\nls = np.linspace(0, 10, 400)\nxx, yy = np.meshgrid(ls, ls)\nbounds=(-1,-1,1,1) # Coordinate system: (left, bottom, right, top)\nimg = hv.Image(np.sin(xx)*np.cos(yy), bounds=bounds).opts(colorbar=True, width=400)\n\nimg.relabel('PiYG').opts(cmap='PiYG') + img.relabel('PiYG_r').opts(cmap='PiYG_r')\n```", "start_char_idx": 2, "end_char_idx": 958, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "81e18f74-501d-49b8-ba8c-00205d156624": {"__data__": {"id_": "81e18f74-501d-49b8-ba8c-00205d156624", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "e3f3f66b-979b-43f3-9c2b-c2c08dfeee0f", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "801d2e5f0ab008f66eb7dbce43273bebbabe7d4cb489cca5461cc4931e893662", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "c2f045a7-5d6d-469d-acab-1b0944577f6f", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "bc9663aa0037b59fd2829f490125b9fb2bf9b00696d3d3252f95e9b96e3380cc", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "eae2f8ef-184c-494c-86d4-0496f49f373d", "node_type": "1", "metadata": {}, "hash": "f1f3407506d6d75951aaccc4558dc68d0eb3947c6f2f9bcdf15cbf77daf56859", "class_name": "RelatedNodeInfo"}}, "hash": "6b7b8e954aa5fb79cd96517ec0db0822886173c89d67e2999ca87e5bea26bf20", "text": "Custom colormaps\n\nYou can make your own custom colormaps by providing a list of hex colors:\n\n\n```python\nimg.relabel('Listed colors').opts(cmap=['#0000ff', '#8888ff', '#ffffff', '#ff8888', '#ff0000'], colorbar=True, width=400)\n```", "start_char_idx": 2, "end_char_idx": 231, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "eae2f8ef-184c-494c-86d4-0496f49f373d": {"__data__": {"id_": "eae2f8ef-184c-494c-86d4-0496f49f373d", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "f2c584b6-3b4f-4e5b-89af-9cdfe1ba7cc0", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "d8cc1bbeed247da1b1f5c00a03e63a1cce7b9e341c01d91814de726df74e680a", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "81e18f74-501d-49b8-ba8c-00205d156624", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "6b7b8e954aa5fb79cd96517ec0db0822886173c89d67e2999ca87e5bea26bf20", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "3040c26b-957c-4195-866c-4fe0503c3983", "node_type": "1", "metadata": {}, "hash": "3b655fb092031c69b9404e3d2194529f3c8e8e10eb34fb525618261ff0618cc6", "class_name": "RelatedNodeInfo"}}, "hash": "f1f3407506d6d75951aaccc4558dc68d0eb3947c6f2f9bcdf15cbf77daf56859", "text": "Discrete color levels\n\nLastly, existing colormaps can be made discrete by defining an integer number of ``color_levels``:\n\n\n```python\nimg.relabel('5 color levels').opts(cmap='PiYG', color_levels=5) + img.relabel('11 color levels').opts(cmap='PiYG', color_levels=11) \n```", "start_char_idx": 2, "end_char_idx": 272, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "3040c26b-957c-4195-866c-4fe0503c3983": {"__data__": {"id_": "3040c26b-957c-4195-866c-4fe0503c3983", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "1021a791-38e3-43c3-8d56-4530955eccab", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "301feca4e22e2d637684e4d9e97cc8582dfb2c15ceab62d686237fd497c98e5c", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "eae2f8ef-184c-494c-86d4-0496f49f373d", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "f1f3407506d6d75951aaccc4558dc68d0eb3947c6f2f9bcdf15cbf77daf56859", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "4d678a08-ba14-4256-a99d-e71c28ec1f26", "node_type": "1", "metadata": {}, "hash": "a2a6789634308b7e36a6ba6a597d03cc39823a28641ba5304c5255bd4a0f6401", "class_name": "RelatedNodeInfo"}}, "hash": "3b655fb092031c69b9404e3d2194529f3c8e8e10eb34fb525618261ff0618cc6", "text": "Explicit color mapping\n\nSome elements work through implicit colormapping, the prime example being the ``Image`` type. However, other elements can be colormapped using style mapping instead, by setting the color to an existing dimension.", "start_char_idx": 2, "end_char_idx": 238, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "4d678a08-ba14-4256-a99d-e71c28ec1f26": {"__data__": {"id_": "4d678a08-ba14-4256-a99d-e71c28ec1f26", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "fef4bb17-4279-4b00-9142-7fb6e0aa3e33", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "cd976bed21d671ca72b19c5757d8fb861dc6753bd8a854d3284a16386f6324ea", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "3040c26b-957c-4195-866c-4fe0503c3983", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "3b655fb092031c69b9404e3d2194529f3c8e8e10eb34fb525618261ff0618cc6", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "a221fdea-1814-48e8-9405-9ce34ee55659", "node_type": "1", "metadata": {}, "hash": "a48cc278266742ff263b417f789891d4b1e6d302e66d363d5bf590d5310d722c", "class_name": "RelatedNodeInfo"}}, "hash": "a2a6789634308b7e36a6ba6a597d03cc39823a28641ba5304c5255bd4a0f6401", "text": "Continuous values\n\nIf we provide a continuous value for the ``color`` style option along with a continuous colormap, we can also enable a ``colorbar``:\n\n\n```python\npolygons = hv.Polygons([{('x', 'y'): hv.Ellipse(0, 0, (i, i)).array(), 'z': i} for i in range(1, 10)[::-1]], vdims='z')\n\npolygons.opts(color='z', colorbar=True, width=380)\n```", "start_char_idx": 2, "end_char_idx": 341, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "a221fdea-1814-48e8-9405-9ce34ee55659": {"__data__": {"id_": "a221fdea-1814-48e8-9405-9ce34ee55659", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "b4b07d3e-5bc2-4946-8bf4-9c55bf5e9b08", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "c602c13a302d0f9c1e0d72343b9c6005f752fd89b31152b60e7954a27319a7f9", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "4d678a08-ba14-4256-a99d-e71c28ec1f26", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "a2a6789634308b7e36a6ba6a597d03cc39823a28641ba5304c5255bd4a0f6401", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "73d999ba-2efe-4273-91f9-1743a39a00e9", "node_type": "1", "metadata": {}, "hash": "eaab0e205a3ad1ab6c63f37508b71083d7c722805eba67457f2fe26884cb5ea0", "class_name": "RelatedNodeInfo"}}, "hash": "a48cc278266742ff263b417f789891d4b1e6d302e66d363d5bf590d5310d722c", "text": "Categorical values\n\nConversely, when mapping a categorical value into a set of colors, we automatically get a legend (which can be disabled using the ``show_legend`` option):\n\n\n```python\ncategorical_points = hv.Points((np.random.rand(100), \n np.random.rand(100), \n np.random.choice(list('ABCD'), 100)), vdims='Category')\n\ncategorical_points.sort('Category').opts(\n color='Category', cmap='Category20', size=8, legend_position='left', width=500)\n```", "start_char_idx": 2, "end_char_idx": 515, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "73d999ba-2efe-4273-91f9-1743a39a00e9": {"__data__": {"id_": "73d999ba-2efe-4273-91f9-1743a39a00e9", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "2a2aa44b-fba3-4f45-85bb-fa5cbb7e62f2", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "eda08d17998044e3f101baf541735db11b4cf2cd152d6ce011240a8575661fc8", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "a221fdea-1814-48e8-9405-9ce34ee55659", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "a48cc278266742ff263b417f789891d4b1e6d302e66d363d5bf590d5310d722c", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "1015a4ae-4cd1-435a-b64e-ea85d10cb081", "node_type": "1", "metadata": {}, "hash": "1ff9fd3320e54535c2843a64f532c6797879fbfddfb3d1f830a72d9d692370b8", "class_name": "RelatedNodeInfo"}}, "hash": "eaab0e205a3ad1ab6c63f37508b71083d7c722805eba67457f2fe26884cb5ea0", "text": "Explicit color mapping\n\nInstead of using a listed colormap, you can provide an explicit mapping from category to color. Here we will map the categories 'A', 'B', 'C' and 'D' to specific colors:\n\n\n```python\nexplicit_mapping = {'A': 'blue', 'B': 'red', 'C': 'green', 'D': 'purple'}\n\ncategorical_points.sort('Category').opts(color='Category', cmap=explicit_mapping, size=8)\n```", "start_char_idx": 2, "end_char_idx": 376, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "1015a4ae-4cd1-435a-b64e-ea85d10cb081": {"__data__": {"id_": "1015a4ae-4cd1-435a-b64e-ea85d10cb081", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "6d1ce441-8817-4c67-ac78-4a5145b10208", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "dcd8f9027eccd41983fa3f8b76168b146a4fdd7746bd254d4bd5c31ccc95dc2a", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "73d999ba-2efe-4273-91f9-1743a39a00e9", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "eaab0e205a3ad1ab6c63f37508b71083d7c722805eba67457f2fe26884cb5ea0", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "b0c2ee55-f4cf-4402-a059-0513d96a17ad", "node_type": "1", "metadata": {}, "hash": "bf96d61aa005ea40ce0f54cd362485115783a2fc5fca9cb1666cf7a554da8953", "class_name": "RelatedNodeInfo"}}, "hash": "1ff9fd3320e54535c2843a64f532c6797879fbfddfb3d1f830a72d9d692370b8", "text": "Custom color intervals\n\nIn addition to a simple integer defining the number of discrete levels, the ``color_levels`` option also allows defining a set of custom intervals. This can be useful for defining a fixed scale, such as the Saffir-Simpson hurricane wind scale. Below we declare the color levels along with a list of colors, declaring the scale. Note that the levels define the intervals to map each color to, so if there are N colors we have to define N+1 levels.\n\nHaving defined the scale we can generate a theoretical hurricane path with wind speed values and use the ``color_levels`` and ``cmap`` to supply the custom color scale:\n\n\n```python\nlevels = [0, 38, 73, 95, 110, 130, 156, 999] \ncolors = ['#5ebaff', '#00faf4', '#ffffcc', '#ffe775', '#ffc140', '#ff8f20', '#ff6060']\n\npath = [\n (-75.1, 23.1, 0), (-76.2, 23.8, 0), (-76.9, 25.4, 0), (-78.4, 26.1, 39), (-79.6, 26.2, 39),\n (-80.3, 25.9, 39), (-82.0, 25.1, 74), (-83.3, 24.6, 74), (-84.7, 24.4, 96), (-85.9, 24.8, 111),\n (-87.7, 25.7, 111), (-89.2, 27.2, 131), (-89.6, 29.3, 156), (-89.6, 30.2, 156), (-89.1, 32.6, 131),\n (-88.0, 35.6, 111), (-85.3, 38.6, 96)\n]\n\nhv.Path([path], vdims='Wind Speed').opts(\n color='Wind Speed', color_levels=levels, cmap=colors, line_width=8, colorbar=True, width=450\n)\n```", "start_char_idx": 2, "end_char_idx": 1299, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "b0c2ee55-f4cf-4402-a059-0513d96a17ad": {"__data__": {"id_": "b0c2ee55-f4cf-4402-a059-0513d96a17ad", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "0d747b20-4035-4734-b036-60eaaec3cadc", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "51ee20b52055cd92270984cf391ab77644bab6d08a5c33a8c000471dde8eca97", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "1015a4ae-4cd1-435a-b64e-ea85d10cb081", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "1ff9fd3320e54535c2843a64f532c6797879fbfddfb3d1f830a72d9d692370b8", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "0ed620a5-84ec-4518-bd1f-96b592520ff4", "node_type": "1", "metadata": {}, "hash": "de327c73769ef2da081609b73fa28e79cc7504e2fa908f4484c5835349f762a5", "class_name": "RelatedNodeInfo"}}, "hash": "bf96d61aa005ea40ce0f54cd362485115783a2fc5fca9cb1666cf7a554da8953", "text": "Setting color ranges\n\nFor an image-like element, color ranges are determined by the range of the `z` value dimension, and they can thus be controlled using the ``.redim.range`` method with `z`. As an example, let's set some values in the image array to NaN and then set the range to clip the data at 0 and 0.9. By declaring the ``clipping_colors`` option we can control what colors are used for NaN values and for values above and below the defined range:\n\n\n```python\nclipping = {'min': 'red', 'max': 'green', 'NaN': 'gray'}\noptions = dict(cmap='Blues', colorbar=True, width=300, height=230, axiswise=True)\n\narr = np.sin(xx)*np.cos(yy)\narr[:190, :127] = np.nan\n\noriginal = hv.Image(arr, bounds=bounds).opts(**options)\ncolored = original.opts(clipping_colors=clipping, clone=True)\nclipped = colored.redim.range(z=(0, 0.9))\n\noriginal + colored + clipped\n```\n\nBy default (left plot above), the min and max values in the array map to the first color (white) and last color (dark blue) in the colormap, and NaNs are ``'transparent'`` (an RGBA tuple of (0, 0, 0, 0)), revealing the underlying plot background. When the specified `clipping_colors` are supplied (middle plot above), NaN values are now colored gray, but the plot is otherwise the same because the autoranging still ensures that no value is mapped outside the available color range. Finally, when the `z` range is reduced (right plot above), the color range is mapped from a different range of numerical `z` values, and some values now fall outside the range and are thus clipped to red or green as specified.", "start_char_idx": 2, "end_char_idx": 1572, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "0ed620a5-84ec-4518-bd1f-96b592520ff4": {"__data__": {"id_": "0ed620a5-84ec-4518-bd1f-96b592520ff4", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "b7a5e0d6-630b-40f9-ab32-0e90a5492b79", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "084e8e691644b3a5178ca0ef5a829e4f4417004c0170c10655987fd06934c07a", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "b0c2ee55-f4cf-4402-a059-0513d96a17ad", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "bf96d61aa005ea40ce0f54cd362485115783a2fc5fca9cb1666cf7a554da8953", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "ce2df8cf-7727-4ff1-b911-6406902cfa4e", "node_type": "1", "metadata": {}, "hash": "b2493bc7ae4af541a573a8638eba23937e5fd463a08e1d4df6c1771cbf51c377", "class_name": "RelatedNodeInfo"}}, "hash": "de327c73769ef2da081609b73fa28e79cc7504e2fa908f4484c5835349f762a5", "text": "Normalization modes\n\nWhen using a colormap, there are three available color normalization or `cnorm` options to determine how numerical values are mapped to the range of colors in the colorbar:\n\n* `linear`: Simple linear mapping (used by default)\n* `log`: Logarithmic mapping\n* `eq_hist`: Histogram-equalized mapping\n\nThe following cell defines an `Image` containing random samples drawn from a normal distribution (mean of 3) with a square of constant value 100 in the middle, shown with the three `cnorm` modes:\n\n\n```python\nnp.random.seed(42)\ndata = np.random.normal(loc=3, scale=0.3, size=(100,100))\nprint(\"Mean value of random samples is {mean:.3f}, \".format(mean=np.mean(data))\n + \"which is much lower\\nthan the black square in the center (value 100).\")\ndata[45:55,45:55] = 100\n\nimopts=dict(colorbar=True, xaxis='bare', yaxis='bare', height=160, width=200)\npattern = hv.Image(data)\n\n( pattern.options(cnorm='linear', title='linear', **imopts) \n + pattern.options(cnorm='log', title='log', **imopts)\n + pattern.options(cnorm='eq_hist', title='eq_hist', **imopts))\n```\n\nThe `'linear'` mode is very easy to interpret numerically, with colors mapped to numerical values linearly as indicated. However, as you can see in this case, high-value outliers like the square here can make it difficult to see any structure in the remaining values. The Gaussian noise values all map to the first few colors at the bottom of the colormap, resulting in a background that is almost uniformly yellow even though we know the data includes a variety of different values in the background area.\n\nIn the `'log'` mode, the random values are a little easier to see but these samples still use a small portion of the colormap. Logarithmic colormaps are most useful when you know that you are plotting data with an approximately logarithmic distribution.\n\nIn the `'eq_hist'` mode, colors are nonlinearly mapped according to the actual distribution of values in the plot, such that each color in the colormap represents an approximately equal number of values in the plot (here with few or no colors reserved for the nearly empty range between 10 and 100). In this mode both the outliers and the overall low-amplitude noise can be seen clearly, but the non-linear distortion can make the colors more difficult to interpret as numerical values.\n\nWhen working with unknown data distributions, it is often a good idea to try all three of these modes, using `eq_hist` to be sure that you are seeing all of the patterns in the data, then either `log` or `linear` (depending on which one is a better match to your distribution) with the values clipped to the range of values you want to show.", "start_char_idx": 2, "end_char_idx": 2682, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "ce2df8cf-7727-4ff1-b911-6406902cfa4e": {"__data__": {"id_": "ce2df8cf-7727-4ff1-b911-6406902cfa4e", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "bb6d08ac-ca40-479f-bc9c-06c097d7c542", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "5c42e32a4f184bdded90c8c08c3a16c878a5bff58734b0b6df349469d121bf92", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "0ed620a5-84ec-4518-bd1f-96b592520ff4", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "de327c73769ef2da081609b73fa28e79cc7504e2fa908f4484c5835349f762a5", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "3872b08f-6482-4cd8-bd9c-ccda1e87af2f", "node_type": "1", "metadata": {}, "hash": "8f38f623fe7bc9cb94c951efd063d35765d29179c39daf5ccc1426eff4131bbb", "class_name": "RelatedNodeInfo"}}, "hash": "b2493bc7ae4af541a573a8638eba23937e5fd463a08e1d4df6c1771cbf51c377", "text": "Other colormapping options\n\n* ``clim_percentile``: Percentile value to compute colorscale robust to outliers. If `True`, uses 2nd and 98th percentile; otherwise uses the specified percentile value. \n* ``cnorm``: Color normalization to be applied during colormapping. Allows switching between 'linear', 'log', and 'eq_hist'.\n* ``logz``: Enable logarithmic color scale (same as `cnorm='log'`; to be deprecated at some point)\n* ``symmetric``: Ensures that the color scale is centered on zero (e.g. ``symmetric=True``)", "start_char_idx": 2, "end_char_idx": 516, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "3872b08f-6482-4cd8-bd9c-ccda1e87af2f": {"__data__": {"id_": "3872b08f-6482-4cd8-bd9c-ccda1e87af2f", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "86a79bfd-2925-451d-ba58-38c78df04ee2", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "4009dee51e05d685574cd008547b9b0ca05f701252c44c361338adedc85005cd", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "ce2df8cf-7727-4ff1-b911-6406902cfa4e", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "b2493bc7ae4af541a573a8638eba23937e5fd463a08e1d4df6c1771cbf51c377", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "5e8e148d-5d1d-483d-a53b-7a88596bd559", "node_type": "1", "metadata": {}, "hash": "a05cff8d25363fdfdcb83ab3e56f2f6e8b6da1506d75f6450179f3d0f83766a5", "class_name": "RelatedNodeInfo"}}, "hash": "8f38f623fe7bc9cb94c951efd063d35765d29179c39daf5ccc1426eff4131bbb", "text": "Cycles and Palettes\n\nFrequently we want to plot multiple subsets of data, which is made easy by using ``Overlay`` and ``NdOverlay`` objects. When overlaying multiple elements of the same type they will need to be distinguished visually, and HoloViews provides two mechanisms for styling the different subsets automatically in those cases:\n\n* ``Cycle``: A Cycle defines a list of discrete styles\n* ``Palette``: A Palette defines a continuous color space which will be sampled discretely", "start_char_idx": 2, "end_char_idx": 487, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "5e8e148d-5d1d-483d-a53b-7a88596bd559": {"__data__": {"id_": "5e8e148d-5d1d-483d-a53b-7a88596bd559", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "e5db059f-174b-4a39-8157-4f37e06caeeb", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "7d71988e5733757dbd1ec5abffa235acd347004ad404515f9b929b66d002654c", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "3872b08f-6482-4cd8-bd9c-ccda1e87af2f", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "8f38f623fe7bc9cb94c951efd063d35765d29179c39daf5ccc1426eff4131bbb", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "047eae63-5926-43bc-9906-2584a2334791", "node_type": "1", "metadata": {}, "hash": "5322d6ed73857f7f7d5b54c52980b4eb4f83b025b20fae13998a335cc1a0d8e0", "class_name": "RelatedNodeInfo"}}, "hash": "a05cff8d25363fdfdcb83ab3e56f2f6e8b6da1506d75f6450179f3d0f83766a5", "text": "Cycle\n\nA ``Cycle`` can be applied to any of the style options on an element. By default, most elements define a ``Cycle`` on the color property. Here we will create an overlay of three ``Points`` objects using the default cycles, then display it using the default cycles along with a copy where we changed the dot color and size using a custom ``Cycle``:\n\n\n```python\npoints = (\n hv.Points(np.random.randn(50, 2) ) *\n hv.Points(np.random.randn(50, 2) + 1 ) *\n hv.Points(np.random.randn(50, 2) * 0.5)\n)\n\ncolor_cycle = hv.Cycle(['red', 'green', 'blue'])\npoints + points.opts(opts.Points(color=color_cycle), clone=True)\n```\n\nHere color has been changed to cycle over the three provided colors, while size has been specified as a constant (though a cycle like `hv.Cycle([2,5,10])` could just as easily have been used for the size as well).", "start_char_idx": 2, "end_char_idx": 851, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "047eae63-5926-43bc-9906-2584a2334791": {"__data__": {"id_": "047eae63-5926-43bc-9906-2584a2334791", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "6f30f486-7f33-4394-b0c3-52082fcc21ab", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "7610721458ccae61912fc80e087af690d86e821f85e7850f73d9c0f76d7d1d40", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "5e8e148d-5d1d-483d-a53b-7a88596bd559", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "a05cff8d25363fdfdcb83ab3e56f2f6e8b6da1506d75f6450179f3d0f83766a5", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "91285009-c0df-461e-9900-3a34cc1eb2c3", "node_type": "1", "metadata": {}, "hash": "45dca3d32b371c4c730f3f30290597bca064c657a39c94ded203d5ee1af28ceb", "class_name": "RelatedNodeInfo"}}, "hash": "5322d6ed73857f7f7d5b54c52980b4eb4f83b025b20fae13998a335cc1a0d8e0", "text": "Defaults\n\nIn addition to defining custom color cycles by explicitly defining a list of colors, ``Cycle`` also defines a list of default Cycles generated from bokeh Palettes and matplotlib colormaps:\n\n\n```python\nformat_list(hv.Cycle.default_cycles.keys())\n```\n\n(Here some of these Cycles have a reversed variant ending in `_r` that is not shown.)\n\nTo use one of these default Cycles simply construct the Cycle with the corresponding key:\n\n\n```python\nxs = np.linspace(0, np.pi*2)\ncurves = hv.Overlay([hv.Curve(np.sin(xs+p)) for p in np.linspace(0, np.pi, 10)])\n\ncurves.opts(opts.Curve(color=hv.Cycle('Category20'), width=600))\n```", "start_char_idx": 2, "end_char_idx": 630, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "91285009-c0df-461e-9900-3a34cc1eb2c3": {"__data__": {"id_": "91285009-c0df-461e-9900-3a34cc1eb2c3", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "601c4637-9723-41e5-a1f7-8a66aa5d2be4", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "c3fc2a97c1b6d720d6640368a20e0deeb05fdf23f902fafb545e50d5c2ede50c", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "047eae63-5926-43bc-9906-2584a2334791", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "5322d6ed73857f7f7d5b54c52980b4eb4f83b025b20fae13998a335cc1a0d8e0", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "07adad9b-22ac-4667-969f-3227e5bea3d7", "node_type": "1", "metadata": {}, "hash": "443010eba8adad88d819f9f462afbb4e4055111a483544810678bb2d2158ab32", "class_name": "RelatedNodeInfo"}}, "hash": "45dca3d32b371c4c730f3f30290597bca064c657a39c94ded203d5ee1af28ceb", "text": "Markers and sizes\n\nThe above examples focus on color Cycles, but Cycles may be used to define any style option. Here let's use them to cycle over a number of marker styles and sizes, which will be expanded by cycling over each item independently. In this case we are cycling over three Cycles, resulting in the following style combinations:\n\n1. ``{'color': '#30a2da', 'marker': 'x', 'size': 10}``\n2. ``{'color': '#fc4f30', 'marker': '^', 'size': 5}``\n3. ``{'color': '#e5ae38', 'marker': '+', 'size': 10}``\n\n\n```python\ncolor = hv.Cycle(['#30a2da', '#fc4f30', '#e5ae38'])\nmarkers = hv.Cycle(['x', '^', '+'])\nsizes = hv.Cycle([10, 5])\npoints.opts(opts.Points(line_color=color, marker=markers, size=sizes))\n```", "start_char_idx": 2, "end_char_idx": 708, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "07adad9b-22ac-4667-969f-3227e5bea3d7": {"__data__": {"id_": "07adad9b-22ac-4667-969f-3227e5bea3d7", "embedding": null, "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "59617531-e5b3-461c-9d94-17b808b39ddc", "node_type": "4", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "ff0ca050084dee6a66964adde212322e13efcfb89e56fb112f9d638c5befa3ac", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "91285009-c0df-461e-9900-3a34cc1eb2c3", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "45dca3d32b371c4c730f3f30290597bca064c657a39c94ded203d5ee1af28ceb", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "cd1f8d63-989c-4a39-bdbe-0e818388323c", "node_type": "1", "metadata": {}, "hash": "999ef27ed727088945a1d150587ce136258e303f2a89548448af0266d25750f4", "class_name": "RelatedNodeInfo"}}, "hash": "443010eba8adad88d819f9f462afbb4e4055111a483544810678bb2d2158ab32", "text": "Palettes\n\nPalettes are similar to cycles, but treat a set of colors as a continuous colorspace to be sampled at regularly spaced intervals. Again they are made automatically available from existing colormaps (with `_r` versions also available):\n\n\n```python\nformat_list(hv.Palette.colormaps.keys())\n```\n\n(Here each colormap `X` has a corresponding version `X_r` with the values reversed; the `_r` variants are suppressed above.)\n\nAs a simple example we will create a Palette from the Spectral colormap and apply it to an Overlay of 6 Ellipses. Comparing it to the Spectral ``Cycle`` we can immediately see that the Palette covers the entire color space spanned by the Spectral colormap, while the Cycle instead uses the first 6 colors of the Spectral colormap:\n\n\n```python\nellipses = hv.Overlay([hv.Ellipse(0, 0, s) for s in range(6)])\n\nellipses.relabel('Palette').opts(opts.Ellipse(color=hv.Palette('Spectral'), line_width=5), clone=True) +\\\nellipses.relabel('Cycle' ).opts(opts.Ellipse(color=hv.Cycle( 'Spectral'), line_width=5), clone=True)\n```\n\nThus if you want to have have a discrete set of distinguishable colors starting from a list of colors that vary slowly and continuously, you should usually supply it as a Palette, not a Cycle. Conversely, you should use a Cycle when you want to iterate through a specific list of colors, in order, without skipping around the list like a Palette will.", "start_char_idx": 2, "end_char_idx": 1405, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "cd1f8d63-989c-4a39-bdbe-0e818388323c": {"__data__": {"id_": "cd1f8d63-989c-4a39-bdbe-0e818388323c", "embedding": null, "metadata": {"file_path": "hvplot_docs/kwargs.md", "file_name": "kwargs.md", "file_type": null, "file_size": 7686, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "fb699c31-cab7-4cc3-a56e-e111215e93e0", "node_type": "4", "metadata": {"file_path": "hvplot_docs/kwargs.md", "file_name": "kwargs.md", "file_type": null, "file_size": 7686, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "d691e5946534033f3e437161fbb7987958e87ea7b2566e2755ad6f1e32257066", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "07adad9b-22ac-4667-969f-3227e5bea3d7", "node_type": "1", "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "443010eba8adad88d819f9f462afbb4e4055111a483544810678bb2d2158ab32", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "0bd2e9d1-373a-466b-b07a-6ecfaff36dd8", "node_type": "1", "metadata": {}, "hash": "06fb22e464cd7f11e07cb5f63110e6f540f999276bc417eeb10eb3cefb32348e", "class_name": "RelatedNodeInfo"}}, "hash": "999ef27ed727088945a1d150587ce136258e303f2a89548448af0266d25750f4", "text": "Generic options\n---------------\nautorange (default=None): Literal['x', 'y'] | None\n Whether to enable auto-ranging along the x- or y-axis when\n zooming. Requires HoloViews >= 1.16.\nclim: tuple\n Lower and upper bound of the color scale\ncnorm (default='linear'): str\n Color scaling which must be one of 'linear', 'log' or 'eq_hist'\ncolorbar (default=False): boolean\n Enables a colorbar\nfontscale: number\n Scales the size of all fonts by the same amount, e.g. fontscale=1.5\n enlarges all fonts (title, xticks, labels etc.) by 50%\nfontsize: number or dict\n Set title, label and legend text to the same fontsize. Finer control\n by using a dict: {'title': '15pt', 'ylabel': '5px', 'ticks': 20}\nflip_xaxis/flip_yaxis: boolean\n Whether to flip the axis left to right or up and down respectively\ngrid (default=False): boolean\n Whether to show a grid\nhover : boolean\n Whether to show hover tooltips, default is True unless datashade is\n True in which case hover is False by default\nhover_cols (default=[]): list or str\n Additional columns to add to the hover tool or 'all' which will\n includes all columns (including indexes if use_index is True).\ninvert (default=False): boolean\n Swaps x- and y-axis\nframe_width/frame_height: int\n The width and height of the data area of the plot\nlegend (default=True): boolean or str\n Whether to show a legend, or a legend position\n ('top', 'bottom', 'left', 'right')\nlogx/logy (default=False): boolean\n Enables logarithmic x- and y-axis respectively\nlogz (default=False): boolean\n Enables logarithmic colormapping\nloglog (default=False): boolean\n Enables logarithmic x- and y-axis\nmax_width/max_height: int\n The maximum width and height of the plot for responsive modes\nmin_width/min_height: int\n The minimum width and height of the plot for responsive modes\npadding: number or tuple\n Fraction by which to increase auto-ranged extents to make\n datapoints more visible around borders. Supports tuples to\n specify different amount of padding for x- and y-axis and\n tuples of tuples to specify different amounts of padding for\n upper and lower bounds.\nrescale_discrete_levels (default=True): boolean\n If `cnorm='eq_hist'` and there are only a few discrete values,\n then `rescale_discrete_levels=True` (the default) decreases\n the lower limit of the autoranged span so that the values are\n rendering towards the (more visible) top of the `cmap` range,\n thus avoiding washout of the lower values. Has no effect if\n `cnorm!=`eq_hist`.\nresponsive: boolean\n Whether the plot should responsively resize depending on the\n size of the browser. Responsive mode will only work if at\n least one dimension of the plot is left undefined, e.g. when\n width and height or width and aspect are set the plot is set\n to a fixed size, ignoring any responsive option.\nrot: number\n Rotates the axis ticks along the x-axis by the specified\n number of degrees.\nshared_axes (default=True): boolean\n Whether to link axes between plots\ntransforms (default={}): dict\n A dictionary of HoloViews dim transforms to apply before plotting\ntitle (default=''): str\n Title for the plot\ntools (default=[]): list\n List of tool instances or strings (e.g. ['tap', 'box_select'])\nxaxis/yaxis: str or None\n Whether to show the x/y-axis and whether to place it at the\n 'top'/'bottom' and 'left'/'right' respectively.\nxformatter/yformatter (default=None): str or TickFormatter\n Formatter for the x-axis and y-axis (accepts printf formatter,\n e.g.", "start_char_idx": 0, "end_char_idx": 3577, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "0bd2e9d1-373a-466b-b07a-6ecfaff36dd8": {"__data__": {"id_": "0bd2e9d1-373a-466b-b07a-6ecfaff36dd8", "embedding": null, "metadata": {"file_path": "hvplot_docs/kwargs.md", "file_name": "kwargs.md", "file_type": null, "file_size": 7686, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "fb699c31-cab7-4cc3-a56e-e111215e93e0", "node_type": "4", "metadata": {"file_path": "hvplot_docs/kwargs.md", "file_name": "kwargs.md", "file_type": null, "file_size": 7686, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "d691e5946534033f3e437161fbb7987958e87ea7b2566e2755ad6f1e32257066", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "cd1f8d63-989c-4a39-bdbe-0e818388323c", "node_type": "1", "metadata": {"file_path": "hvplot_docs/kwargs.md", "file_name": "kwargs.md", "file_type": null, "file_size": 7686, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "999ef27ed727088945a1d150587ce136258e303f2a89548448af0266d25750f4", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "e9bde14e-c770-469f-92c4-338aed1a53bf", "node_type": "1", "metadata": {}, "hash": "e4284999019d8babe84c667d274b808f42360bf813fc13cbcfa2cc53b21afe6d", "class_name": "RelatedNodeInfo"}}, "hash": "06fb22e464cd7f11e07cb5f63110e6f540f999276bc417eeb10eb3cefb32348e", "text": "rot: number\n Rotates the axis ticks along the x-axis by the specified\n number of degrees.\nshared_axes (default=True): boolean\n Whether to link axes between plots\ntransforms (default={}): dict\n A dictionary of HoloViews dim transforms to apply before plotting\ntitle (default=''): str\n Title for the plot\ntools (default=[]): list\n List of tool instances or strings (e.g. ['tap', 'box_select'])\nxaxis/yaxis: str or None\n Whether to show the x/y-axis and whether to place it at the\n 'top'/'bottom' and 'left'/'right' respectively.\nxformatter/yformatter (default=None): str or TickFormatter\n Formatter for the x-axis and y-axis (accepts printf formatter,\n e.g. '%.3f', and bokeh TickFormatter)\nxlabel/ylabel/clabel (default=None): str\n Axis labels for the x-axis, y-axis, and colorbar\nxlim/ylim (default=None): tuple or list\n Plot limits of the x- and y-axis\nxticks/yticks (default=None): int or list\n Ticks along x- and y-axis specified as an integer, list of\n ticks positions, or list of tuples of the tick positions and labels\nwidth (default=700)/height (default=300): int\n The width and height of the plot in pixels\nattr_labels (default=None): bool\n Whether to use an xarray object's attributes as labels, defaults to\n None to allow best effort without throwing a warning. Set to True\n to see warning if the attrs can't be found, set to False to disable\n the behavior.\nsort_date (default=True): bool\n Whether to sort the x-axis by date before plotting\nsymmetric (default=None): bool\n Whether the data are symmetric around zero. If left unset, the data\n will be checked for symmetry as long as the size is less than\n ``check_symmetric_max``.\ncheck_symmetric_max (default=1000000):\n Size above which to stop checking for symmetry by default on the data.\n\nResampling options\n------------------\naggregator (default=None):\n Aggregator to use when applying rasterize or datashade operation\n (valid options include 'mean', 'count', 'min', 'max' and more, and\n datashader reduction objects)\ndynamic (default=True):\n Whether to return a dynamic plot which sends updates on widget and\n zoom/pan events or whether all the data should be embedded\n (warning: for large groupby operations embedded data can become\n very large if dynamic=False)\ndatashade (default=False):\n Whether to apply rasterization and shading (colormapping) using\n the Datashader library, returning an RGB object instead of\n individual points\ndownsample (default=False):\n Whether to apply LTTB (Largest Triangle Three Buckets)\n downsampling to the element (note this is only well behaved for\n timeseries data). Requires HoloViews >= 1.16.\ndynspread (default=False):\n For plots generated with datashade=True or rasterize=True,\n automatically increase the point size when the data is sparse\n so that individual points become more visible\nrasterize (default=False):\n Whether to apply rasterization using the Datashader library,\n returning an aggregated Image (to be colormapped by the\n plotting backend) instead of individual points\nresample_when (default=None):\n Applies a resampling operation (datashade, rasterize or downsample) if\n the number of individual data points present in the current zoom range\n is above this threshold. The raw plot is displayed otherwise.\nx_sampling/y_sampling (default=None):\n Specifies the smallest allowed sampling interval along the x/y axis.\n\nGeographic options\n------------------\ncoastline (default=False):\n Whether to display a coastline on top of the plot, setting\n coastline='10m'/'50m'/'110m' specifies a specific scale.\ncrs (default=None):\n Coordinate reference system of the data specified as Cartopy\n CRS object, proj.4 string or EPSG code.\nfeatures (default=None): dict or list\n A list of features or a dictionary of features and the scale\n at which to render it. Available features include 'borders',\n 'coastline', 'lakes', 'land', 'ocean', 'rivers' and 'states'.\n Available scales include '10m'/'50m'/'110m'.\ngeo (default=False):\n Whether the plot should be treated as geographic (and assume\n PlateCarree, i.e. lat/lon coordinates).", "start_char_idx": 2892, "end_char_idx": 7096, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "e9bde14e-c770-469f-92c4-338aed1a53bf": {"__data__": {"id_": "e9bde14e-c770-469f-92c4-338aed1a53bf", "embedding": null, "metadata": {"file_path": "hvplot_docs/kwargs.md", "file_name": "kwargs.md", "file_type": null, "file_size": 7686, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "fb699c31-cab7-4cc3-a56e-e111215e93e0", "node_type": "4", "metadata": {"file_path": "hvplot_docs/kwargs.md", "file_name": "kwargs.md", "file_type": null, "file_size": 7686, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "d691e5946534033f3e437161fbb7987958e87ea7b2566e2755ad6f1e32257066", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "0bd2e9d1-373a-466b-b07a-6ecfaff36dd8", "node_type": "1", "metadata": {"file_path": "hvplot_docs/kwargs.md", "file_name": "kwargs.md", "file_type": null, "file_size": 7686, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}, "hash": "06fb22e464cd7f11e07cb5f63110e6f540f999276bc417eeb10eb3cefb32348e", "class_name": "RelatedNodeInfo"}}, "hash": "e4284999019d8babe84c667d274b808f42360bf813fc13cbcfa2cc53b21afe6d", "text": "Geographic options\n------------------\ncoastline (default=False):\n Whether to display a coastline on top of the plot, setting\n coastline='10m'/'50m'/'110m' specifies a specific scale.\ncrs (default=None):\n Coordinate reference system of the data specified as Cartopy\n CRS object, proj.4 string or EPSG code.\nfeatures (default=None): dict or list\n A list of features or a dictionary of features and the scale\n at which to render it. Available features include 'borders',\n 'coastline', 'lakes', 'land', 'ocean', 'rivers' and 'states'.\n Available scales include '10m'/'50m'/'110m'.\ngeo (default=False):\n Whether the plot should be treated as geographic (and assume\n PlateCarree, i.e. lat/lon coordinates).\nglobal_extent (default=False):\n Whether to expand the plot extent to span the whole globe.\nproject (default=False):\n Whether to project the data before plotting (adds initial\n overhead but avoids projecting data when plot is dynamically\n updated).\nprojection (default=None): str or Cartopy CRS\n Coordinate reference system of the plot specified as Cartopy\n CRS object or class name.\ntiles (default=False):\n Whether to overlay the plot on a tile source. Tiles sources\n can be selected by name or a tiles object or class can be passed,\n the default is 'Wikipedia'.", "start_char_idx": 6366, "end_char_idx": 7686, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}}, "docstore/ref_doc_info": {"6eea93d1-39a8-4ec5-9b8c-389a7d6124d7": {"node_ids": ["a0d0bbe7-2a0a-4354-83cf-4f77f962c83a"], "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "c4b26310-14a9-4f28-9bd0-14ed5df9018c": {"node_ids": ["1c9cf590-947f-422b-ae18-d871d1052e1a"], "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "18df4da0-7e19-45ea-9333-9ca142034120": {"node_ids": ["81042881-e066-436b-9d7d-68fb67675dda"], "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "7ca09af5-c0b0-4544-a74f-8652e3a0afb4": {"node_ids": ["bacf1df5-b363-47d3-a08a-aba41b5e7654"], "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "d162d0f4-b40a-4ba0-a422-87e0d4249c2b": {"node_ids": ["08a15300-109c-47cc-96f4-a6526893408d"], "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "7e6a8696-a4e6-459b-8c22-3c88de3a4f3d": {"node_ids": ["f4d4cd8f-e0a1-43d1-a411-2a0903d35909"], "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "31c09404-4e75-48ec-a432-04c10811345b": {"node_ids": ["8feb6918-5691-4fda-b973-3c582b06301a"], "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "6a36d099-ba6a-45f3-8c65-c1ca56cbe7a5": {"node_ids": ["946b5ce4-1a23-4c63-a417-dd3284b9cb97"], "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "a9da5089-13fa-4881-a005-00e37c3398c7": {"node_ids": ["6867f344-f104-45ad-91df-1f4bf2922ab4"], "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "6de6fd75-c2dd-4ddd-a13e-a06d59ef3924": {"node_ids": ["39ab16a8-7c77-4fdb-ad1b-3ffef505e555"], "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "18858e5b-02c8-46a0-b1ce-80add02da61e": {"node_ids": ["a01cb84a-8780-498e-825a-3712c2a41c11"], "metadata": {"file_path": "hvplot_docs/02-Composing_Elements.md", "file_name": "02-Composing_Elements.md", "file_type": null, "file_size": 9545, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "96eb20de-84b1-4467-908a-59e041bc4cdf": {"node_ids": ["7ddcca1f-4bfd-4723-b22f-705ef7ca8f46"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "ce2f59a7-3841-4efe-9aee-8007ca48ef7c": {"node_ids": ["13069f2a-295c-404f-a102-64bbfb0ff58a"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "89a535b3-8fd3-4640-aa09-a3478dd48b80": {"node_ids": ["4733be20-3bab-4dbd-8994-bc7d351c1c07"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "33403c52-9b09-449b-815d-c130f4dac152": {"node_ids": ["c06dc94b-3c80-4e93-81f0-dbf209c95c75"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "7330d96d-c6fa-43ab-8fa3-6e4e14915b8c": {"node_ids": ["81114efe-ef34-48cc-95e2-2541ad847eca"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "e0104155-829c-419d-9c39-5d1d6d6a084f": {"node_ids": ["2c48ea8f-4294-4e93-9458-c53c3c5fff09"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "c038d2e0-f2a8-49f2-8609-7316e87ac383": {"node_ids": ["6efea588-72a2-4a09-aa07-77f47d0d1335"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "e07a805f-a626-4871-8d38-2ff34156fb8e": {"node_ids": ["f4acd5c1-a743-4e10-8f56-76eec58cc734"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "75107a9d-2ab6-4a58-bfd3-3f007a8c6c35": {"node_ids": ["313a382c-12d3-4ef1-bacb-cfc39731aba6"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "3cead9ea-c177-43b3-949f-17474df6b846": {"node_ids": ["896dfa6b-13ad-4098-a82b-a2953fcb4e4b"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "a8c4d253-a257-411c-a861-a7ebbaa9deff": {"node_ids": ["5f213884-0e27-47dd-930a-b0055d30f6d0"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "8767175a-ed97-4f86-8298-586916ebf3bc": {"node_ids": ["e3ea3af3-18ce-4bb9-a2ee-0c81a2c106e2"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "ad484503-aafe-4c7d-8f5b-fc1db95ba96b": {"node_ids": ["026e53ee-7c11-46b4-8795-7a9c16829169"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "87e3ac7c-50fd-419f-9b05-9998bf4dc06d": {"node_ids": ["4fa1e274-8a7e-4da7-a261-12073723c286"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "bfa4f175-b3e0-465e-8a66-280cfecb3c77": {"node_ids": ["16fa0dfe-1f7c-4d2f-a848-3f5b9a158885"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "94be5b1a-40f1-4c65-a6cc-703cce79d8af": {"node_ids": ["34b99b21-2096-458e-8b7d-3f273709fdd9"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "b6368f5c-6ef3-445e-8438-1d79dd935241": {"node_ids": ["5aa32771-5a65-442c-bbc8-4845e8b0ab7b"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "08fd0d36-5043-4e09-b2ed-f5412bc963b0": {"node_ids": ["62a9c3dd-3119-41dd-a8fa-a3f81d09ccee"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "3fa5eda3-1cf2-4058-90a3-4afae2a72f2a": {"node_ids": ["8e88f950-7b7d-42cb-9939-a90482f709dc"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "2b0921c5-a4fd-48e9-b5d6-b2c51ee1e38c": {"node_ids": ["a13681e6-9734-478b-9208-affd351be458"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "0b265505-a030-47dd-bb53-7708f99cdd79": {"node_ids": ["48b5df67-6450-49a7-9af5-4dd2b56ae440"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "f13e8942-1cdb-42a4-a667-5bee5ee17dda": {"node_ids": ["7a98b790-175d-4801-979a-fcbda06e457f"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "093d230a-2ae9-4416-aa95-088a256a0432": {"node_ids": ["eaadbd44-8ef6-4664-bef9-1601a50308da"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "ad2f0614-b88a-4e84-aa20-e1b234063207": {"node_ids": ["03a3c696-449c-4791-ad09-19101e483f51"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "919e3576-6ad7-4fca-8de8-f08706787d07": {"node_ids": ["f9191bf0-28c4-400f-8b89-4d8e7d01db6b"], "metadata": {"file_path": "hvplot_docs/03-Applying_Customizations.md", "file_name": "03-Applying_Customizations.md", "file_type": null, "file_size": 31067, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "6eb13c66-467e-458b-a45c-9ff5d1cb2bdd": {"node_ids": ["0ebe32f7-b5fb-4eb7-bc21-ee54a8a2b2a7"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "34118d72-6677-4cb0-bca9-5e23eba07a99": {"node_ids": ["4e537f16-4aa2-413d-b34b-c56e70717547"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "98c9128e-e18f-4acb-a9f1-df7b78632218": {"node_ids": ["df48f360-3575-4cd3-8763-1b67d18b4e9c"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "ffd0022d-eb0c-4384-8c0c-9643d9427ae6": {"node_ids": ["d2e30f48-710c-4349-8b5b-0e4f5c540f4c"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "b4e4994a-3d8d-4e8b-88c0-7baf26a4f02d": {"node_ids": ["75016e1c-d447-4d02-b7ad-971eb14f8ce5"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "be4a3c3e-aeb9-4a74-a462-ffa29fafebd9": {"node_ids": ["7e2b5e99-72b2-4f6b-8ebb-aabff133a44d"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "83a32b7d-16d3-4c97-b06c-f0f2145a53dd": {"node_ids": ["473d7594-f1ff-413a-a082-38957cdd6c6a"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "7d8b202f-8ac0-4be2-85d8-cab9fe32d876": {"node_ids": ["99632d21-4790-4c18-bb44-8c65d17bf5f6"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "8c4004aa-668f-4498-92eb-d04c71890e50": {"node_ids": ["29198336-47fd-4285-98b8-2e960bedc128"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "774d786d-66d4-4457-a7e3-827c0e224672": {"node_ids": ["c2f045a7-5d6d-469d-acab-1b0944577f6f"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "e3f3f66b-979b-43f3-9c2b-c2c08dfeee0f": {"node_ids": ["81e18f74-501d-49b8-ba8c-00205d156624"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "f2c584b6-3b4f-4e5b-89af-9cdfe1ba7cc0": {"node_ids": ["eae2f8ef-184c-494c-86d4-0496f49f373d"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "1021a791-38e3-43c3-8d56-4530955eccab": {"node_ids": ["3040c26b-957c-4195-866c-4fe0503c3983"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "fef4bb17-4279-4b00-9142-7fb6e0aa3e33": {"node_ids": ["4d678a08-ba14-4256-a99d-e71c28ec1f26"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "b4b07d3e-5bc2-4946-8bf4-9c55bf5e9b08": {"node_ids": ["a221fdea-1814-48e8-9405-9ce34ee55659"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "2a2aa44b-fba3-4f45-85bb-fa5cbb7e62f2": {"node_ids": ["73d999ba-2efe-4273-91f9-1743a39a00e9"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "6d1ce441-8817-4c67-ac78-4a5145b10208": {"node_ids": ["1015a4ae-4cd1-435a-b64e-ea85d10cb081"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "0d747b20-4035-4734-b036-60eaaec3cadc": {"node_ids": ["b0c2ee55-f4cf-4402-a059-0513d96a17ad"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "b7a5e0d6-630b-40f9-ab32-0e90a5492b79": {"node_ids": ["0ed620a5-84ec-4518-bd1f-96b592520ff4"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "bb6d08ac-ca40-479f-bc9c-06c097d7c542": {"node_ids": ["ce2df8cf-7727-4ff1-b911-6406902cfa4e"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "86a79bfd-2925-451d-ba58-38c78df04ee2": {"node_ids": ["3872b08f-6482-4cd8-bd9c-ccda1e87af2f"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "e5db059f-174b-4a39-8157-4f37e06caeeb": {"node_ids": ["5e8e148d-5d1d-483d-a53b-7a88596bd559"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "6f30f486-7f33-4394-b0c3-52082fcc21ab": {"node_ids": ["047eae63-5926-43bc-9906-2584a2334791"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "601c4637-9723-41e5-a1f7-8a66aa5d2be4": {"node_ids": ["91285009-c0df-461e-9900-3a34cc1eb2c3"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "59617531-e5b3-461c-9d94-17b808b39ddc": {"node_ids": ["07adad9b-22ac-4667-969f-3227e5bea3d7"], "metadata": {"file_path": "hvplot_docs/04-Style_Mapping.md", "file_name": "04-Style_Mapping.md", "file_type": null, "file_size": 20129, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}, "fb699c31-cab7-4cc3-a56e-e111215e93e0": {"node_ids": ["cd1f8d63-989c-4a39-bdbe-0e818388323c", "0bd2e9d1-373a-466b-b07a-6ecfaff36dd8", "e9bde14e-c770-469f-92c4-338aed1a53bf"], "metadata": {"file_path": "hvplot_docs/kwargs.md", "file_name": "kwargs.md", "file_type": null, "file_size": 7686, "creation_date": "2024-01-11", "last_modified_date": "2024-01-11", "last_accessed_date": "2024-01-11"}}}} \ No newline at end of file