Pyecharts中自定义symbol
#Pyecharts中自定义symbol
-
使用工具及语言:jupyter notebook;pyecharts;python
-
Symbol来源:是在学习pyecharts中自己遇到的一个小问题,在参考了一些资料后终于展示出自己想要的图形。
关于矢量图路径的获取,在icon中搜索自己想要的图标,下载svg格式图片之后,如下图用记事本打开,Ctrl+F调出搜索框搜索path,再复制粘贴所需要的路径即可。

下面附上的是自己学习过程中的代码,方便遇到和我一样问题的同学学习。(数据和图片来源于网络)
3.实现代码:
import json from pyecharts import options as opts from pyecharts.charts import Page,PictorialBar dog_icon = 'path://M562.988022 422.866334C562.988022 387.413142 534.167537 358.574488 498.714346 358.574488 463.279326 358.574488 434.440671 387.413142 434.440671 422.866334 434.440671 458.301354 463.279326 487.140009 498.714346 487.140009 534.167537 487.140009 562.988022 458.301354 562.988022 422.866334L562.988022 422.866334ZM498.714346 456.356973C480.23362 456.356973 465.205536 441.328889 465.205536 422.866334 465.205536 404.385608 480.23362 389.357524 498.714346 389.357524 517.195072 389.357524 532.241326 404.385608 532.241326 422.866334 532.241326 441.328889 517.195072 456.356973 498.714346 456.356973L498.714346 456.356973ZM886.173581 612.561811C877.869066 610.799146 869.691754 616.032626 867.874574 624.337141 862.804639 647.77877 835.855853 663.551898 800.820611 663.551898 775.907067 663.551898 734.111913 658.881743 734.111913 627.589895L734.111913 603.603111C762.114667 596.661482 783.012241 571.511704 783.012241 541.38285 783.012241 505.94783 754.173586 477.109173 718.738566 477.109173 683.285374 477.109173 654.46489 505.94783 654.46489 541.38285 654.46489 571.511704 675.362467 596.661482 703.365218 603.603111L703.365218 627.589895C703.365218 658.881743 661.551894 663.551898 636.63835 663.551898 601.62128 663.551898 574.672493 647.77877 569.584387 624.31897 567.785378 616.014455 559.517207 610.799146 551.30355 612.561811 542.999036 614.378991 537.711041 622.556304 539.528221 630.860819 546.342649 662.27987 574.418087 684.903769 612.106411 691.863571 612.070068 692.263351 611.870179 692.626785 611.870179 693.062909L611.870179 814.923036C611.870179 873.926888 659.861916 921.9368 718.86577 921.9368 777.869621 921.9368 825.879531 873.926888 825.879531 814.923036L825.861358 693.826125 825.879531 693.462689 819.083277 693.117425C860.024353 687.702227 890.752876 664.042536 897.948912 630.842648 899.747919 622.556304 894.478096 614.360821 886.173581 612.561811L886.173581 612.561811ZM685.211585 541.38285C685.211585 522.902123 700.25784 507.874041 718.738566 507.874041 737.219291 507.874041 752.247375 522.902123 752.247375 541.38285 752.247375 559.863576 737.219291 574.909831 718.738566 574.909831 700.25784 574.909831 685.211585 559.863576 685.211585 541.38285L685.211585 541.38285ZM718.86577 891.171932C676.816211 891.171932 642.616874 856.972595 642.616874 814.923036L642.598701 694.007844C677.561254 693.062909 703.619624 684.104209 718.738566 668.094849 733.893851 684.140552 760.043079 693.099253 795.132836 694.026014L795.132836 814.923036C795.132836 856.972595 760.915326 891.171932 718.86577 891.171932L718.86577 891.171932ZM1164.456611 728.625133C1196.67522 662.879541 1214.828855 589.065667 1214.828855 511.054106 1214.828855 365.298055 1151.645487 234.043104 1051.228091 143.202248 1205.325001 176.72923 1402.307371 384.505653 1402.307371 528.099259 1402.307371 664.133396 1330.710457 724.645508 1164.456611 728.625133L1164.456611 728.625133ZM718.738566 976.397701C462.134502 976.397701 253.394973 767.65817 253.394973 511.054106 253.394973 254.468213 462.134502 45.728684 718.738566 45.728684 975.324459 45.728684 1184.08216 254.468213 1184.08216 511.054106 1184.08216 767.65817 975.324459 976.397701 718.738566 976.397701L718.738566 976.397701ZM35.151589 528.099259C35.151589 384.48748 232.152131 176.711057 386.23087 143.202248 285.831644 234.043104 222.630105 365.298055 222.630105 511.054106 222.630105 589.065667 240.78374 662.879541 273.00235 728.625133 106.748503 724.645508 35.151589 664.133396 35.151589 528.099259L35.151589 528.099259ZM1433.072239 528.099259C1433.072239 355.212702 1184.318393 107.658196 1010.595934 107.658196 1009.632829 107.658196 1008.778752 108.112493 1007.85199 108.294211 926.387787 49.635622 826.57006 14.945646 718.738566 14.945646 610.907073 14.945646 511.089346 49.635622 429.606971 108.294211 428.680209 108.112493 427.826132 107.658196 426.863027 107.658196 253.140568 107.658196 4.404894 355.212702 4.404894 528.099259 4.404894 735.257842 166.969866 759.662577 289.756756 759.771606 375.763909 907.544729 535.784828 1007.180737 718.738566 1007.180737 901.692303 1007.180737 1061.695051 907.544729 1147.702205 759.771606 1270.489094 759.662577 1433.072239 735.257842 1433.072239 528.099259L1433.072239 528.099259ZM938.744615 456.356973C920.263889 456.356973 905.235805 441.328889 905.235805 422.866334 905.235805 404.385608 920.263889 389.357524 938.744615 389.357524 957.22534 389.357524 972.271595 404.385608 972.271595 422.866334 972.271595 441.328889 957.22534 456.356973 938.744615 456.356973L938.744615 456.356973ZM938.744615 358.574488C903.309594 358.574488 874.470939 387.413142 874.470939 422.866334 874.470939 458.301354 903.309594 487.140009 938.744615 487.140009 974.197808 487.140009 1003.01829 458.301354 1003.01829 422.866334 1003.01829 387.413142 974.197808 358.574488 938.744615 358.574488L938.744615 358.574488Z' #自定义图例。下载SVG图片,再用记事本打开,可以得到路径 pictor=PictorialBar() pictor.add_xaxis(p0.index.tolist()) pictor.add_yaxis("材质",#图例 p0.tolist(),#y轴的值 symbol_size=18, symbol_repeat='fixed', label_opts=opts.LabelOpts(is_show=False),#标签不显示 symbol='path://M725.333333 512a84.352 84.352 0 0 1-55.04-20.864 42.666667 42.666667 0 0 0-57.856 2.304l-118.997333 118.997333a42.666667 42.666667 0 0 0-2.261333 57.898667c9.472 11.136 20.821333 29.696 20.821333 54.997333 0 47.061333-38.272 85.333333-85.333333 85.333334s-85.333333-38.272-85.333334-85.333334a42.666667 42.666667 0 0 0-42.666666-42.666666c-47.061333 0-85.333333-38.272-85.333334-85.333334s38.272-85.333333 85.333334-85.333333a84.48 84.48 0 0 1 54.997333 20.821333c16.896 14.464 42.112 13.44 57.898667-2.261333l118.997333-118.997333a42.666667 42.666667 0 0 0 2.261333-57.898667A84.48 84.48 0 0 1 512 298.666667c0-47.061333 38.272-85.333333 85.333333-85.333334s85.333333 38.272 85.333334 85.333334a42.666667 42.666667 0 0 0 42.666666 42.666666c47.061333 0 85.333333 38.272 85.333334 85.333334s-38.272 85.333333-85.333334 85.333333m38.314667-251.648A170.965333 170.965333 0 0 0 597.333333 128c-94.122667 0-170.666667 76.544-170.666666 170.666667 0 26.837333 6.570667 53.290667 18.901333 77.184l-69.717333 69.717333A168.405333 168.405333 0 0 0 298.666667 426.666667c-94.122667 0-170.666667 76.544-170.666667 170.666666a170.965333 170.965333 0 0 0 132.352 166.314667A170.965333 170.965333 0 0 0 426.666667 896c94.122667 0 170.666667-76.544 170.666666-170.666667 0-26.837333-6.570667-53.290667-18.901333-77.184l69.717333-69.717333A168.533333 168.533333 0 0 0 725.333333 597.333333c94.122667 0 170.666667-76.544 170.666667-170.666666a170.965333 170.965333 0 0 0-132.352-166.314667', #自定义图标 symbol_margin="30%!", symbol_offset=[0, 0],#图形的旋转角度为[0,0] is_symbol_clip=True #裁剪图形,看起来更好 ) pictor.reversal_axis()#翻转x,y轴 pictor.set_global_opts(yaxis_opts=opts.AxisOpts(is_inverse=True),#y轴翻转 toolbox_opts=opts.ToolboxOpts(is_show=True),legend_opts=opts.LegendOpts(legend_icon=dog_icon)) pictor.render_notebook()
4.实现结果:

5.参考资料:

浙公网安备 33010602011771号