1
1
---
2
- permalink: python/ternary-scatter-contour
2
+ permalink: python/ternary-scatter-contour/
3
3
description: How to make A scatter plot overlaid on ternary contour in Python with Plotly.
4
4
title: Python Ternary Scatter Overlaid on Contour | plotly
5
5
has_thumbnail: true
@@ -56,7 +56,8 @@ <h3 id="Importing-required-Libraries:">Importing required Libraries:<a class="an
56
56
57
57
< div class ="output_area "> < div class ="prompt "> </ div >
58
58
< div class ="output_subarea output_stream output_stdout output_text ">
59
- < pre > contour_data.json scatter_data.json ternary-scatter.ipynb
59
+ < pre > 2015-06-30-ternary-scatter-contour.html scatter_data.json
60
+ contour_data.json ternary-scatter-contour.ipynb
60
61
</ pre >
61
62
</ div >
62
63
</ div >
@@ -113,7 +114,7 @@ <h3 id="Loading-Data-Files-into-Python-object:">Loading Data Files into Python o
113
114
</ div >
114
115
< div class ="cell border-box-sizing code_cell rendered ">
115
116
< div class ="input ">
116
- < div class ="prompt input_prompt "> In [6 ]:</ div >
117
+ < div class ="prompt input_prompt "> In [5 ]:</ div >
117
118
< div class ="inner_cell ">
118
119
< div class ="input_area ">
119
120
< div class =" highlight hl-ipython2 "> < pre > < span class ="k "> def</ span > < span class ="nf "> clean_data</ span > < span class ="p "> (</ span > < span class ="n "> data_in</ span > < span class ="p "> ):</ span >
@@ -167,7 +168,7 @@ <h3 id="Plotting-Ternary-Scatter-Plot:">Plotting Ternary Scatter Plot:<a class="
167
168
</ div >
168
169
< div class ="cell border-box-sizing code_cell rendered ">
169
170
< div class ="input ">
170
- < div class ="prompt input_prompt "> In [7 ]:</ div >
171
+ < div class ="prompt input_prompt "> In [6 ]:</ div >
171
172
< div class ="inner_cell ">
172
173
< div class ="input_area ">
173
174
< div class =" highlight hl-ipython2 "> < pre > < span class ="c "> # Defining Empty lists for holding clean data</ span >
@@ -192,7 +193,7 @@ <h3 id="Plotting-Ternary-Scatter-Plot:">Plotting Ternary Scatter Plot:<a class="
192
193
< span class ="n "> marker</ span > < span class ="o "> =</ span > < span class ="p "> {</ span >
193
194
< span class ="s "> 'symbol'</ span > < span class ="p "> :</ span > < span class ="mi "> 100</ span > < span class ="p "> ,</ span >
194
195
< span class ="s "> 'color'</ span > < span class ="p "> :</ span > < span class ="s "> 'green'</ span > < span class ="p "> ,</ span >
195
- < span class ="s "> 'size'</ span > < span class ="p "> :</ span > < span class ="mi "> 14 </ span >
196
+ < span class ="s "> 'size'</ span > < span class ="p "> :</ span > < span class ="mi "> 10 </ span >
196
197
< span class ="p "> },</ span >
197
198
< span class ="p "> )</ span >
198
199
</ pre > </ div >
@@ -204,7 +205,7 @@ <h3 id="Plotting-Ternary-Scatter-Plot:">Plotting Ternary Scatter Plot:<a class="
204
205
</ div >
205
206
< div class ="cell border-box-sizing code_cell rendered ">
206
207
< div class ="input ">
207
- < div class ="prompt input_prompt "> In [8 ]:</ div >
208
+ < div class ="prompt input_prompt "> In [7 ]:</ div >
208
209
< div class ="inner_cell ">
209
210
< div class ="input_area ">
210
211
< div class =" highlight hl-ipython2 "> < pre > < span class ="n "> layout</ span > < span class ="o "> =</ span > < span class ="p "> {</ span >
@@ -227,7 +228,7 @@ <h3 id="Plotting-Ternary-Scatter-Plot:">Plotting Ternary Scatter Plot:<a class="
227
228
</ div >
228
229
< div class ="cell border-box-sizing code_cell rendered ">
229
230
< div class ="input ">
230
- < div class ="prompt input_prompt "> In [9 ]:</ div >
231
+ < div class ="prompt input_prompt "> In [8 ]:</ div >
231
232
< div class ="inner_cell ">
232
233
< div class ="input_area ">
233
234
< div class =" highlight hl-ipython2 "> < pre > < span class ="n "> figure</ span > < span class ="o "> =</ span > < span class ="nb "> dict</ span > < span class ="p "> (</ span > < span class ="n "> data</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="n "> trace1</ span > < span class ="p "> ],</ span > < span class ="n "> layout</ span > < span class ="o "> =</ span > < span class ="n "> layout</ span > < span class ="p "> )</ span >
@@ -240,7 +241,7 @@ <h3 id="Plotting-Ternary-Scatter-Plot:">Plotting Ternary Scatter Plot:<a class="
240
241
</ div >
241
242
< div class ="cell border-box-sizing code_cell rendered ">
242
243
< div class ="input ">
243
- < div class ="prompt input_prompt "> In [10 ]:</ div >
244
+ < div class ="prompt input_prompt "> In [9 ]:</ div >
244
245
< div class ="inner_cell ">
245
246
< div class ="input_area ">
246
247
< div class =" highlight hl-ipython2 "> < pre > < span class ="n "> py</ span > < span class ="o "> .</ span > < span class ="n "> iplot</ span > < span class ="p "> (</ span > < span class ="n "> figure</ span > < span class ="p "> )</ span >
@@ -254,10 +255,10 @@ <h3 id="Plotting-Ternary-Scatter-Plot:">Plotting Ternary Scatter Plot:<a class="
254
255
< div class ="output ">
255
256
256
257
257
- < div class ="output_area "> < div class ="prompt output_prompt "> Out[10 ]:</ div >
258
+ < div class ="output_area "> < div class ="prompt output_prompt "> Out[9 ]:</ div >
258
259
259
260
< div class ="output_html rendered_html output_subarea output_execute_result ">
260
- < iframe id ="igraph " scrolling ="no " style ="border:none; " seamless ="seamless " src ="https://plot.ly/~tarzzz/2271 .embed " height ="525px " width ="100% "> </ iframe >
261
+ < iframe id ="igraph " scrolling ="no " style ="border:none; " seamless ="seamless " src ="https://plot.ly/~tarzzz/2300 .embed " height ="525px " width ="100% "> </ iframe >
261
262
</ div >
262
263
263
264
</ div >
@@ -278,7 +279,7 @@ <h2 id="Ternary-Contour-Plot:">Ternary Contour Plot:<a class="anchor-link" href=
278
279
</ div >
279
280
< div class ="cell border-box-sizing code_cell rendered ">
280
281
< div class ="input ">
281
- < div class ="prompt input_prompt "> In [11 ]:</ div >
282
+ < div class ="prompt input_prompt "> In [10 ]:</ div >
282
283
< div class ="inner_cell ">
283
284
< div class ="input_area ">
284
285
< div class =" highlight hl-ipython2 "> < pre > < span class ="n "> contour_dict</ span > < span class ="o "> =</ span > < span class ="n "> contour_raw_data</ span > < span class ="p "> [</ span > < span class ="s "> 'Data'</ span > < span class ="p "> ]</ span >
@@ -291,7 +292,7 @@ <h2 id="Ternary-Contour-Plot:">Ternary Contour Plot:<a class="anchor-link" href=
291
292
</ div >
292
293
< div class ="cell border-box-sizing code_cell rendered ">
293
294
< div class ="input ">
294
- < div class ="prompt input_prompt "> In [12 ]:</ div >
295
+ < div class ="prompt input_prompt "> In [11 ]:</ div >
295
296
< div class ="inner_cell ">
296
297
< div class ="input_area ">
297
298
< div class =" highlight hl-ipython2 "> < pre > < span class ="c "> # Defining a colormap:</ span >
@@ -309,20 +310,27 @@ <h2 id="Ternary-Contour-Plot:">Ternary Contour Plot:<a class="anchor-link" href=
309
310
</ div >
310
311
< div class ="cell border-box-sizing code_cell rendered ">
311
312
< div class ="input ">
312
- < div class ="prompt input_prompt "> In [13 ]:</ div >
313
+ < div class ="prompt input_prompt "> In [12 ]:</ div >
313
314
< div class ="inner_cell ">
314
315
< div class ="input_area ">
315
316
< div class =" highlight hl-ipython2 "> < pre > < span class ="n "> traces</ span > < span class ="o "> =</ span > < span class ="p "> []</ span >
316
317
317
318
< span class ="k "> for</ span > < span class ="n "> raw_data</ span > < span class ="ow "> in</ span > < span class ="n "> contour_dict</ span > < span class ="p "> :</ span >
318
319
< span class ="n "> data</ span > < span class ="o "> =</ span > < span class ="n "> clean_data</ span > < span class ="p "> (</ span > < span class ="n "> raw_data</ span > < span class ="p "> )</ span >
320
+
321
+ < span class ="n "> a</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="n "> inner_data</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ]</ span > < span class ="k "> for</ span > < span class ="n "> inner_data</ span > < span class ="ow "> in</ span > < span class ="n "> data</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> :]]</ span >
322
+ < span class ="n "> a</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> data</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ][</ span > < span class ="mi "> 0</ span > < span class ="p "> ])</ span > < span class ="c "> # Closing the loop </ span >
323
+
324
+ < span class ="n "> b</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="n "> inner_data</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ]</ span > < span class ="k "> for</ span > < span class ="n "> inner_data</ span > < span class ="ow "> in</ span > < span class ="n "> data</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> :]]</ span >
325
+ < span class ="n "> b</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> data</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ][</ span > < span class ="mi "> 1</ span > < span class ="p "> ])</ span > < span class ="c "> # Closing the loop </ span >
326
+
327
+ < span class ="n "> c</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="n "> inner_data</ span > < span class ="p "> [</ span > < span class ="mi "> 2</ span > < span class ="p "> ]</ span > < span class ="k "> for</ span > < span class ="n "> inner_data</ span > < span class ="ow "> in</ span > < span class ="n "> data</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> :]]</ span >
328
+ < span class ="n "> c</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> data</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ][</ span > < span class ="mi "> 2</ span > < span class ="p "> ])</ span > < span class ="c "> # Closing the loop </ span >
329
+
319
330
< span class ="n "> trace</ span > < span class ="o "> =</ span > < span class ="nb "> dict</ span > < span class ="p "> (</ span >
320
331
< span class ="nb "> type</ span > < span class ="o "> =</ span > < span class ="s "> 'scatterternary'</ span > < span class ="p "> ,</ span > < span class ="n "> text</ span > < span class ="o "> =</ span > < span class ="n "> data</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ],</ span >
321
- < span class ="n "> a</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="n "> inner_data</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ]</ span > < span class ="k "> for</ span > < span class ="n "> inner_data</ span > < span class ="ow "> in</ span > < span class ="n "> data</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> :]],</ span >
322
- < span class ="n "> b</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="n "> inner_data</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ]</ span > < span class ="k "> for</ span > < span class ="n "> inner_data</ span > < span class ="ow "> in</ span > < span class ="n "> data</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> :]],</ span >
323
- < span class ="n "> c</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="n "> inner_data</ span > < span class ="p "> [</ span > < span class ="mi "> 2</ span > < span class ="p "> ]</ span > < span class ="k "> for</ span > < span class ="n "> inner_data</ span > < span class ="ow "> in</ span > < span class ="n "> data</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> :]],</ span >
324
- < span class ="n "> mode</ span > < span class ="o "> =</ span > < span class ="s "> 'lines'</ span > < span class ="p "> ,</ span >
325
- < span class ="n "> line</ span > < span class ="o "> =</ span > < span class ="nb "> dict</ span > < span class ="p "> (</ span > < span class ="n "> color</ span > < span class ="o "> =</ span > < span class ="s "> '#444'</ span > < span class ="p "> ),</ span >
332
+ < span class ="n "> a</ span > < span class ="o "> =</ span > < span class ="n "> a</ span > < span class ="p "> ,</ span > < span class ="n "> b</ span > < span class ="o "> =</ span > < span class ="n "> b</ span > < span class ="p "> ,</ span > < span class ="n "> c</ span > < span class ="o "> =</ span > < span class ="n "> c</ span > < span class ="p "> ,</ span > < span class ="n "> mode</ span > < span class ="o "> =</ span > < span class ="s "> 'lines'</ span > < span class ="p "> ,</ span >
333
+ < span class ="n "> line</ span > < span class ="o "> =</ span > < span class ="nb "> dict</ span > < span class ="p "> (</ span > < span class ="n "> color</ span > < span class ="o "> =</ span > < span class ="s "> '#444'</ span > < span class ="p "> ,</ span > < span class ="n "> shape</ span > < span class ="o "> =</ span > < span class ="s "> 'spline'</ span > < span class ="p "> ),</ span >
326
334
< span class ="n "> fill</ span > < span class ="o "> =</ span > < span class ="s "> 'toself'</ span > < span class ="p "> ,</ span >
327
335
< span class ="n "> fillcolor</ span > < span class ="o "> =</ span > < span class ="n "> colors_iterator</ span > < span class ="o "> .</ span > < span class ="n "> next</ span > < span class ="p "> ()</ span >
328
336
< span class ="p "> )</ span >
@@ -336,7 +344,7 @@ <h2 id="Ternary-Contour-Plot:">Ternary Contour Plot:<a class="anchor-link" href=
336
344
</ div >
337
345
< div class ="cell border-box-sizing code_cell rendered ">
338
346
< div class ="input ">
339
- < div class ="prompt input_prompt "> In [16 ]:</ div >
347
+ < div class ="prompt input_prompt "> In [13 ]:</ div >
340
348
< div class ="inner_cell ">
341
349
< div class ="input_area ">
342
350
< div class =" highlight hl-ipython2 "> < pre > < span class ="n "> layout</ span > < span class ="p "> [</ span > < span class ="s "> 'title'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="s "> 'Ternary Contour Plot'</ span >
@@ -350,7 +358,7 @@ <h2 id="Ternary-Contour-Plot:">Ternary Contour Plot:<a class="anchor-link" href=
350
358
</ div >
351
359
< div class ="cell border-box-sizing code_cell rendered ">
352
360
< div class ="input ">
353
- < div class ="prompt input_prompt "> In [17 ]:</ div >
361
+ < div class ="prompt input_prompt "> In [14 ]:</ div >
354
362
< div class ="inner_cell ">
355
363
< div class ="input_area ">
356
364
< div class =" highlight hl-ipython2 "> < pre > < span class ="n "> py</ span > < span class ="o "> .</ span > < span class ="n "> iplot</ span > < span class ="p "> (</ span > < span class ="n "> figure</ span > < span class ="p "> )</ span >
@@ -364,10 +372,10 @@ <h2 id="Ternary-Contour-Plot:">Ternary Contour Plot:<a class="anchor-link" href=
364
372
< div class ="output ">
365
373
366
374
367
- < div class ="output_area "> < div class ="prompt output_prompt "> Out[17 ]:</ div >
375
+ < div class ="output_area "> < div class ="prompt output_prompt "> Out[14 ]:</ div >
368
376
369
377
< div class ="output_html rendered_html output_subarea output_execute_result ">
370
- < iframe id ="igraph " scrolling ="no " style ="border:none; " seamless ="seamless " src ="https://plot.ly/~tarzzz/2274 .embed " height ="525px " width ="100% "> </ iframe >
378
+ < iframe id ="igraph " scrolling ="no " style ="border:none; " seamless ="seamless " src ="https://plot.ly/~tarzzz/2302 .embed " height ="525px " width ="100% "> </ iframe >
371
379
</ div >
372
380
373
381
</ div >
@@ -388,10 +396,10 @@ <h3 id="Scatter-Plot-Overlaid-on-Contour-Plot:">Scatter Plot Overlaid on Contour
388
396
</ div >
389
397
< div class ="cell border-box-sizing code_cell rendered ">
390
398
< div class ="input ">
391
- < div class ="prompt input_prompt "> In [24 ]:</ div >
399
+ < div class ="prompt input_prompt "> In [15 ]:</ div >
392
400
< div class ="inner_cell ">
393
401
< div class ="input_area ">
394
- < div class =" highlight hl-ipython2 "> < pre > < span class ="n "> trace1</ span > < span class ="p "> [</ span > < span class ="s "> 'marker'</ span > < span class ="p "> ][</ span > < span class ="s "> 'symbol'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="s "> '. '</ span >
402
+ < div class =" highlight hl-ipython2 "> < pre > < span class ="n "> trace1</ span > < span class ="p "> [</ span > < span class ="s "> 'marker'</ span > < span class ="p "> ][</ span > < span class ="s "> 'symbol'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="s "> 'x '</ span >
395
403
< span class ="n "> trace1</ span > < span class ="p "> [</ span > < span class ="s "> 'marker'</ span > < span class ="p "> ][</ span > < span class ="s "> 'color'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="s "> '#4d79ff'</ span >
396
404
< span class ="n "> traces</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> trace1</ span > < span class ="p "> )</ span >
397
405
@@ -407,7 +415,7 @@ <h3 id="Scatter-Plot-Overlaid-on-Contour-Plot:">Scatter Plot Overlaid on Contour
407
415
</ div >
408
416
< div class ="cell border-box-sizing code_cell rendered ">
409
417
< div class ="input ">
410
- < div class ="prompt input_prompt "> In [25 ]:</ div >
418
+ < div class ="prompt input_prompt "> In [16 ]:</ div >
411
419
< div class ="inner_cell ">
412
420
< div class ="input_area ">
413
421
< div class =" highlight hl-ipython2 "> < pre > < span class ="n "> figure</ span > < span class ="o "> =</ span > < span class ="nb "> dict</ span > < span class ="p "> (</ span > < span class ="n "> data</ span > < span class ="o "> =</ span > < span class ="n "> traces</ span > < span class ="p "> ,</ span > < span class ="n "> layout</ span > < span class ="o "> =</ span > < span class ="n "> layout</ span > < span class ="p "> )</ span >
@@ -420,7 +428,7 @@ <h3 id="Scatter-Plot-Overlaid-on-Contour-Plot:">Scatter Plot Overlaid on Contour
420
428
</ div >
421
429
< div class ="cell border-box-sizing code_cell rendered ">
422
430
< div class ="input ">
423
- < div class ="prompt input_prompt "> In [26 ]:</ div >
431
+ < div class ="prompt input_prompt "> In [17 ]:</ div >
424
432
< div class ="inner_cell ">
425
433
< div class ="input_area ">
426
434
< div class =" highlight hl-ipython2 "> < pre > < span class ="n "> py</ span > < span class ="o "> .</ span > < span class ="n "> iplot</ span > < span class ="p "> (</ span > < span class ="n "> figure</ span > < span class ="p "> )</ span >
@@ -434,15 +442,28 @@ <h3 id="Scatter-Plot-Overlaid-on-Contour-Plot:">Scatter Plot Overlaid on Contour
434
442
< div class ="output ">
435
443
436
444
437
- < div class ="output_area "> < div class ="prompt output_prompt "> Out[26 ]:</ div >
445
+ < div class ="output_area "> < div class ="prompt output_prompt "> Out[17 ]:</ div >
438
446
439
447
< div class ="output_html rendered_html output_subarea output_execute_result ">
440
- < iframe id ="igraph " scrolling ="no " style ="border:none; " seamless ="seamless " src ="https://plot.ly/~tarzzz/2277.embed " height ="525px " width ="100% "> </ iframe >
448
+ < iframe id ="igraph " scrolling ="no " style ="border:none; " seamless ="seamless " src ="https://plot.ly/~tarzzz/2303.embed " height ="525px " width ="100% "> </ iframe >
449
+ </ div >
450
+
451
+ </ div >
452
+
453
+ </ div >
441
454
</ div >
442
455
443
456
</ div >
457
+ < div class ="cell border-box-sizing code_cell rendered ">
458
+ < div class ="input ">
459
+ < div class ="prompt input_prompt "> In [ ]:</ div >
460
+ < div class ="inner_cell ">
461
+ < div class ="input_area ">
462
+ < div class =" highlight hl-ipython2 "> < pre >
463
+ </ pre > </ div >
444
464
465
+ </ div >
445
466
</ div >
446
467
</ div >
447
468
448
- </ div > {% endraw %}
469
+ </ div > {% endraw %}
0 commit comments