本人build.prop修改器了build里面的内容,就是build.prop修改器机型,但是忘记截图备份,哪位大神能给我发张build里面的

// Update Wox 插件,Wallpaper 的壁纸&br&&br&- - - - - &br&&br& 1. &a href=&///?target=http%3A//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Wox&i class=&icon-external&&&/i&&/a&:快速启动工具,超级方便,基本是离不开的了。&br&&figure&&img src=&/v2-2d03c95810fadad8a747_b.png& data-rawwidth=&1395& data-rawheight=&669& class=&origin_image zh-lightbox-thumb& width=&1395& data-original=&/v2-2d03c95810fadad8a747_r.png&&&/figure&&b&更新我个人比较喜欢的一些插件。&/b&&br&依次是:翻译,天气,网页搜索&br&还有很多有趣实用的插件,可以去官网下载看看~&br&&figure&&img src=&/v2-590ab581a878cd_b.png& data-rawwidth=&987& data-rawheight=&444& class=&origin_image zh-lightbox-thumb& width=&987& data-original=&/v2-590ab581a878cd_r.png&&&/figure&&br&&figure&&img src=&/v2-db7efaa696e5c7796fba3eab1a39e7b5_b.png& data-rawwidth=&907& data-rawheight=&451& class=&origin_image zh-lightbox-thumb& width=&907& data-original=&/v2-db7efaa696e5c7796fba3eab1a39e7b5_r.png&&&/figure&&br&&figure&&img src=&/v2-de24cef6b760fb_b.png& data-rawwidth=&920& data-rawheight=&304& class=&origin_image zh-lightbox-thumb& width=&920& data-original=&/v2-de24cef6b760fb_r.png&&&/figure&&br&&br&2.
&a href=&///?target=https%3A//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Snipaste - Snip, then paste!&i class=&icon-external&&&/i&&/a&:超级强大的截图工具,感觉是最强大的截图工具(之一)了!&br&// 使用官方的图&br&&figure&&img src=&/v2-9d5a2d0b47b1b0d7beb793_b.png& data-rawwidth=&800& data-rawheight=&607& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/v2-9d5a2d0b47b1b0d7beb793_r.png&&&/figure&&br&3. 碧影壁纸,UWP 应用,搜寻每日&b&不同地区&/b& Bing 壁纸&br&&b&可以直接设置为壁纸/锁屏,超级方便 &/b&&br&&figure&&img src=&/v2-5a0fa33b5_b.png& data-rawwidth=&1202& data-rawheight=&933& class=&origin_image zh-lightbox-thumb& width=&1202& data-original=&/v2-5a0fa33b5_r.png&&&/figure&&br&&br&4. &a href=&///?target=https%3A//www.rainmeter.net& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Rainmeter, desktop customization tool&i class=&icon-external&&&/i&&/a&:桌面插件&br&支持多种皮肤&br&我自己使用默认皮肤看一下 网速 而已。就不贴出来了。&br&&br&5. &a href=&///?target=http%3A///app/431960/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Wallpaper Engine on Steam&i class=&icon-external&&&/i&&/a&:非常酷炫的动态桌面引擎。&br&&b&支持创意工坊 // 亮点都在这呢 ....&/b&&br&&br&&br&&figure&&img src=&/v2-29ce414dce6_b.png& data-rawwidth=&708& data-rawheight=&572& class=&origin_image zh-lightbox-thumb& width=&708& data-original=&/v2-29ce414dce6_r.png&&&/figure&&br&秒速五厘米,这个真好看~&br&&a href=&///?target=http%3A///sharedfiles/filedetails/%3Fid%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【秒速五厘米】[5 Centimeters Per Second][BDRIP][SP1]One more time,One more chance&i class=&icon-external&&&/i&&/a&&br&&figure&&img src=&/v2-6d1ef213d35d91f425113_b.png& data-rawwidth=&1030& data-rawheight=&605& class=&origin_image zh-lightbox-thumb& width=&1030& data-original=&/v2-6d1ef213d35d91f425113_r.png&&&/figure&&br&超级 好玩的画画!&br&&a href=&///?target=http%3A///sharedfiles/filedetails/%3Fid%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Steam Workshop :: Silk&i class=&icon-external&&&/i&&/a&&br&&figure&&img src=&/v2-ebfdceb27c42e_b.png& data-rawwidth=&1035& data-rawheight=&570& class=&origin_image zh-lightbox-thumb& width=&1035& data-original=&/v2-ebfdceb27c42e_r.png&&&/figure&&br&恶势力极乐净土!笑炸...&br&&a href=&///?target=http%3A///sharedfiles/filedetails/%3Fid%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&与黑恶势力跳极乐净土_MMD·3D&i class=&icon-external&&&/i&&/a&&br&&figure&&img src=&/v2-dfdc9d6a6ec9a64af2d37_b.png& data-rawwidth=&1083& data-rawheight=&570& class=&origin_image zh-lightbox-thumb& width=&1083& data-original=&/v2-dfdc9d6a6ec9a64af2d37_r.png&&&/figure&
// Update Wox 插件,Wallpaper 的壁纸 - - - - - 1. :快速启动工具,超级方便,基本是离不开的了。 更新我个人比较喜欢的一些插件。 依次是:翻译,天气,网页搜索 还有很多有趣实用的插件,可以去官网下载看看~ 2. :超…
&figure&&img src=&/v2-ce883ec7045334acf3d399a87f6e2e41_b.jpg& data-rawwidth=&375& data-rawheight=&252& class=&content_image& width=&375&&&/figure&&p&1. 水印&/p&&figure&&img src=&/v2-ce883ec7045334acf3d399a87f6e2e41_b.png& data-rawwidth=&375& data-rawheight=&252& class=&content_image& width=&375&&&/figure&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&from&/span& &span class=&nn&&__future__&/span& &span class=&kn&&import&/span& &span class=&n&&print_function&/span&
&span class=&kn&&import&/span& &span class=&nn&&numpy&/span& &span class=&kn&&as&/span& &span class=&nn&&np&/span&
&span class=&kn&&import&/span& &span class=&nn&&matplotlib.cbook&/span& &span class=&kn&&as&/span& &span class=&nn&&cbook&/span&
&span class=&kn&&import&/span& &span class=&nn&&matplotlib.image&/span& &span class=&kn&&as&/span& &span class=&nn&&image&/span&
&span class=&kn&&import&/span& &span class=&nn&&matplotlib.pyplot&/span& &span class=&kn&&as&/span& &span class=&nn&&plt&/span&
&span class=&n&&datafile&/span& &span class=&o&&=&/span& &span class=&n&&cbook&/span&&span class=&o&&.&/span&&span class=&n&&get_sample_data&/span&&span class=&p&&(&/span&&span class=&s1&&'logo2.png'&/span&&span class=&p&&,&/span& &span class=&n&&asfileobj&/span&&span class=&o&&=&/span&&span class=&bp&&False&/span&&span class=&p&&)&/span&
&span class=&k&&print&/span&&span class=&p&&(&/span&&span class=&s1&&'loading &/span&&span class=&si&&%s&/span&&span class=&s1&&'&/span& &span class=&o&&%&/span& &span class=&n&&datafile&/span&&span class=&p&&)&/span&
&span class=&n&&im&/span& &span class=&o&&=&/span& &span class=&n&&image&/span&&span class=&o&&.&/span&&span class=&n&&imread&/span&&span class=&p&&(&/span&&span class=&n&&datafile&/span&&span class=&p&&)&/span&
&span class=&n&&im&/span&&span class=&p&&[:,&/span& &span class=&p&&:,&/span& &span class=&o&&-&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&mf&&0.5&/span&
&span class=&c1&&# set the alpha channel&/span&
&span class=&n&&fig&/span&&span class=&p&&,&/span& &span class=&n&&ax&/span& &span class=&o&&=&/span& &span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&subplots&/span&&span class=&p&&()&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&plot&/span&&span class=&p&&(&/span&&span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&random&/span&&span class=&o&&.&/span&&span class=&n&&rand&/span&&span class=&p&&(&/span&&span class=&mi&&20&/span&&span class=&p&&),&/span& &span class=&s1&&'-o'&/span&&span class=&p&&,&/span& &span class=&n&&ms&/span&&span class=&o&&=&/span&&span class=&mi&&20&/span&&span class=&p&&,&/span& &span class=&n&&lw&/span&&span class=&o&&=&/span&&span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&alpha&/span&&span class=&o&&=&/span&&span class=&mf&&0.7&/span&&span class=&p&&,&/span& &span class=&n&&mfc&/span&&span class=&o&&=&/span&&span class=&s1&&'orange'&/span&&span class=&p&&)&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&grid&/span&&span class=&p&&()&/span&
&span class=&n&&fig&/span&&span class=&o&&.&/span&&span class=&n&&figimage&/span&&span class=&p&&(&/span&&span class=&n&&im&/span&&span class=&p&&,&/span& &span class=&mi&&10&/span&&span class=&p&&,&/span& &span class=&mi&&10&/span&&span class=&p&&,&/span& &span class=&n&&zorder&/span&&span class=&o&&=&/span&&span class=&mi&&3&/span&&span class=&p&&)&/span&
&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&show&/span&&span class=&p&&()&/span&
&/code&&/pre&&/div&&p&2. 函数散点图&/p&&figure&&img src=&/v2-1f89f8a769_b.png& data-rawwidth=&550& data-rawheight=&450& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&/v2-1f89f8a769_r.png&&&/figure&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&from&/span& &span class=&nn&&mpl_toolkits.mplot3d&/span& &span class=&kn&&import&/span& &span class=&n&&Axes3D&/span&
&span class=&kn&&import&/span& &span class=&nn&&numpy&/span& &span class=&kn&&as&/span& &span class=&nn&&np&/span&
&span class=&kn&&import&/span& &span class=&nn&&matplotlib.pyplot&/span& &span class=&kn&&as&/span& &span class=&nn&&plt&/span&
&span class=&n&&fig&/span& &span class=&o&&=&/span& &span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&figure&/span&&span class=&p&&()&/span&
&span class=&n&&ax&/span& &span class=&o&&=&/span& &span class=&n&&fig&/span&&span class=&o&&.&/span&&span class=&n&&gca&/span&&span class=&p&&(&/span&&span class=&n&&projection&/span&&span class=&o&&=&/span&&span class=&s1&&'3d'&/span&&span class=&p&&)&/span&
&span class=&c1&&# Plot a sin curve using the x and y axes.&/span&
&span class=&n&&x&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&linspace&/span&&span class=&p&&(&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&mi&&100&/span&&span class=&p&&)&/span&
&span class=&n&&y&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&sin&/span&&span class=&p&&(&/span&&span class=&n&&x&/span& &span class=&o&&*&/span& &span class=&mi&&2&/span& &span class=&o&&*&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&pi&/span&&span class=&p&&)&/span& &span class=&o&&/&/span& &span class=&mi&&2&/span& &span class=&o&&+&/span& &span class=&mf&&0.5&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&plot&/span&&span class=&p&&(&/span&&span class=&n&&x&/span&&span class=&p&&,&/span& &span class=&n&&y&/span&&span class=&p&&,&/span& &span class=&n&&zs&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&n&&zdir&/span&&span class=&o&&=&/span&&span class=&s1&&'z'&/span&&span class=&p&&,&/span& &span class=&n&&label&/span&&span class=&o&&=&/span&&span class=&s1&&'curve in (x,y)'&/span&&span class=&p&&)&/span&
&span class=&c1&&# Plot scatterplot data (20 2D points per colour) on the x and z axes.&/span&
&span class=&n&&colors&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&s1&&'r'&/span&&span class=&p&&,&/span& &span class=&s1&&'g'&/span&&span class=&p&&,&/span& &span class=&s1&&'b'&/span&&span class=&p&&,&/span& &span class=&s1&&'k'&/span&&span class=&p&&)&/span&
&span class=&n&&x&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&random&/span&&span class=&o&&.&/span&&span class=&n&&sample&/span&&span class=&p&&(&/span&&span class=&mi&&20&/span&&span class=&o&&*&/span&&span class=&nb&&len&/span&&span class=&p&&(&/span&&span class=&n&&colors&/span&&span class=&p&&))&/span&
&span class=&n&&y&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&random&/span&&span class=&o&&.&/span&&span class=&n&&sample&/span&&span class=&p&&(&/span&&span class=&mi&&20&/span&&span class=&o&&*&/span&&span class=&nb&&len&/span&&span class=&p&&(&/span&&span class=&n&&colors&/span&&span class=&p&&))&/span&
&span class=&n&&c_list&/span& &span class=&o&&=&/span& &span class=&p&&[]&/span&
&span class=&k&&for&/span& &span class=&n&&c&/span& &span class=&ow&&in&/span& &span class=&n&&colors&/span&&span class=&p&&:&/span&
&span class=&n&&c_list&/span&&span class=&o&&.&/span&&span class=&n&&append&/span&&span class=&p&&([&/span&&span class=&n&&c&/span&&span class=&p&&]&/span&&span class=&o&&*&/span&&span class=&mi&&20&/span&&span class=&p&&)&/span&
&span class=&c1&&# By using zdir='y', the y value of these points is fixed to the zs value 0&/span&
&span class=&c1&&# and the (x,y) points are plotted on the x and z axes.&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&scatter&/span&&span class=&p&&(&/span&&span class=&n&&x&/span&&span class=&p&&,&/span& &span class=&n&&y&/span&&span class=&p&&,&/span& &span class=&n&&zs&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&n&&zdir&/span&&span class=&o&&=&/span&&span class=&s1&&'y'&/span&&span class=&p&&,&/span& &span class=&n&&c&/span&&span class=&o&&=&/span&&span class=&n&&c_list&/span&&span class=&p&&,&/span& &span class=&n&&label&/span&&span class=&o&&=&/span&&span class=&s1&&'points in (x,z)'&/span&&span class=&p&&)&/span&
&span class=&c1&&# Make legend, set axes limits and labels&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&legend&/span&&span class=&p&&()&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&set_xlim&/span&&span class=&p&&(&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&set_ylim&/span&&span class=&p&&(&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&set_zlim&/span&&span class=&p&&(&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&set_xlabel&/span&&span class=&p&&(&/span&&span class=&s1&&'X'&/span&&span class=&p&&)&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&set_ylabel&/span&&span class=&p&&(&/span&&span class=&s1&&'Y'&/span&&span class=&p&&)&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&set_zlabel&/span&&span class=&p&&(&/span&&span class=&s1&&'Z'&/span&&span class=&p&&)&/span&
&span class=&c1&&# Customize the view angle so it's easier to see that the scatter points lie&/span&
&span class=&c1&&# on the plane y=0&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&view_init&/span&&span class=&p&&(&/span&&span class=&n&&elev&/span&&span class=&o&&=&/span&&span class=&mf&&20.&/span&&span class=&p&&,&/span& &span class=&n&&azim&/span&&span class=&o&&=-&/span&&span class=&mi&&35&/span&&span class=&p&&)&/span&
&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&show&/span&&span class=&p&&()&/span&
&/code&&/pre&&/div&&p&3. 三维曲面图&/p&&figure&&img src=&/v2-d4deb97f49ea_b.png& data-rawwidth=&900& data-rawheight=&450& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&/v2-d4deb97f49ea_r.png&&&/figure&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&import&/span& &span class=&nn&&numpy&/span& &span class=&kn&&as&/span& &span class=&nn&&np&/span&
&span class=&kn&&import&/span& &span class=&nn&&matplotlib.pyplot&/span& &span class=&kn&&as&/span& &span class=&nn&&plt&/span&
&span class=&kn&&from&/span& &span class=&nn&&mpl_toolkits.mplot3d&/span& &span class=&kn&&import&/span& &span class=&n&&Axes3D&/span&
&span class=&kn&&import&/span& &span class=&nn&&matplotlib.tri&/span& &span class=&kn&&as&/span& &span class=&nn&&mtri&/span&
&span class=&n&&fig&/span& &span class=&o&&=&/span& &span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&figure&/span&&span class=&p&&(&/span&&span class=&n&&figsize&/span&&span class=&o&&=&/span&&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&figaspect&/span&&span class=&p&&(&/span&&span class=&mf&&0.5&/span&&span class=&p&&))&/span&
&span class=&c1&&#============&/span&
&span class=&c1&&# First plot&/span&
&span class=&c1&&#============&/span&
&span class=&c1&&# Make a mesh in the space of parameterisation variables u and v&/span&
&span class=&n&&u&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&linspace&/span&&span class=&p&&(&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mf&&2.0&/span& &span class=&o&&*&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&pi&/span&&span class=&p&&,&/span& &span class=&n&&endpoint&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&,&/span& &span class=&n&&num&/span&&span class=&o&&=&/span&&span class=&mi&&50&/span&&span class=&p&&)&/span&
&span class=&n&&v&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&linspace&/span&&span class=&p&&(&/span&&span class=&o&&-&/span&&span class=&mf&&0.5&/span&&span class=&p&&,&/span& &span class=&mf&&0.5&/span&&span class=&p&&,&/span& &span class=&n&&endpoint&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&,&/span& &span class=&n&&num&/span&&span class=&o&&=&/span&&span class=&mi&&10&/span&&span class=&p&&)&/span&
&span class=&n&&u&/span&&span class=&p&&,&/span& &span class=&n&&v&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&meshgrid&/span&&span class=&p&&(&/span&&span class=&n&&u&/span&&span class=&p&&,&/span& &span class=&n&&v&/span&&span class=&p&&)&/span&
&span class=&n&&u&/span&&span class=&p&&,&/span& &span class=&n&&v&/span& &span class=&o&&=&/span& &span class=&n&&u&/span&&span class=&o&&.&/span&&span class=&n&&flatten&/span&&span class=&p&&(),&/span& &span class=&n&&v&/span&&span class=&o&&.&/span&&span class=&n&&flatten&/span&&span class=&p&&()&/span&
&span class=&c1&&# This is the Mobius mapping, taking a u, v pair and returning an x, y, z&/span&
&span class=&c1&&# triple&/span&
&span class=&n&&x&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&mi&&1&/span& &span class=&o&&+&/span& &span class=&mf&&0.5&/span& &span class=&o&&*&/span& &span class=&n&&v&/span& &span class=&o&&*&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&cos&/span&&span class=&p&&(&/span&&span class=&n&&u&/span& &span class=&o&&/&/span& &span class=&mf&&2.0&/span&&span class=&p&&))&/span& &span class=&o&&*&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&cos&/span&&span class=&p&&(&/span&&span class=&n&&u&/span&&span class=&p&&)&/span&
&span class=&n&&y&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&mi&&1&/span& &span class=&o&&+&/span& &span class=&mf&&0.5&/span& &span class=&o&&*&/span& &span class=&n&&v&/span& &span class=&o&&*&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&cos&/span&&span class=&p&&(&/span&&span class=&n&&u&/span& &span class=&o&&/&/span& &span class=&mf&&2.0&/span&&span class=&p&&))&/span& &span class=&o&&*&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&sin&/span&&span class=&p&&(&/span&&span class=&n&&u&/span&&span class=&p&&)&/span&
&span class=&n&&z&/span& &span class=&o&&=&/span& &span class=&mf&&0.5&/span& &span class=&o&&*&/span& &span class=&n&&v&/span& &span class=&o&&*&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&sin&/span&&span class=&p&&(&/span&&span class=&n&&u&/span& &span class=&o&&/&/span& &span class=&mf&&2.0&/span&&span class=&p&&)&/span&
&span class=&c1&&# Triangulate parameter space to determine the triangles&/span&
&span class=&n&&tri&/span& &span class=&o&&=&/span& &span class=&n&&mtri&/span&&span class=&o&&.&/span&&span class=&n&&Triangulation&/span&&span class=&p&&(&/span&&span class=&n&&u&/span&&span class=&p&&,&/span& &span class=&n&&v&/span&&span class=&p&&)&/span&
&span class=&c1&&# Plot the surface.
The triangles in parameter space determine which x, y, z&/span&
&span class=&c1&&# points are connected by an edge.&/span&
&span class=&n&&ax&/span& &span class=&o&&=&/span& &span class=&n&&fig&/span&&span class=&o&&.&/span&&span class=&n&&add_subplot&/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=&mi&&1&/span&&span class=&p&&,&/span& &span class=&n&&projection&/span&&span class=&o&&=&/span&&span class=&s1&&'3d'&/span&&span class=&p&&)&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&plot_trisurf&/span&&span class=&p&&(&/span&&span class=&n&&x&/span&&span class=&p&&,&/span& &span class=&n&&y&/span&&span class=&p&&,&/span& &span class=&n&&z&/span&&span class=&p&&,&/span& &span class=&n&&triangles&/span&&span class=&o&&=&/span&&span class=&n&&tri&/span&&span class=&o&&.&/span&&span class=&n&&triangles&/span&&span class=&p&&,&/span& &span class=&n&&cmap&/span&&span class=&o&&=&/span&&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&cm&/span&&span class=&o&&.&/span&&span class=&n&&Spectral&/span&&span class=&p&&)&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&set_zlim&/span&&span class=&p&&(&/span&&span class=&o&&-&/span&&span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&c1&&#============&/span&
&span class=&c1&&# Second plot&/span&
&span class=&c1&&#============&/span&
&span class=&c1&&# Make parameter spaces radii and angles.&/span&
&span class=&n&&n_angles&/span& &span class=&o&&=&/span& &span class=&mi&&36&/span&
&span class=&n&&n_radii&/span& &span class=&o&&=&/span& &span class=&mi&&8&/span&
&span class=&n&&min_radius&/span& &span class=&o&&=&/span& &span class=&mf&&0.25&/span&
&span class=&n&&radii&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&linspace&/span&&span class=&p&&(&/span&&span class=&n&&min_radius&/span&&span class=&p&&,&/span& &span class=&mf&&0.95&/span&&span class=&p&&,&/span& &span class=&n&&n_radii&/span&&span class=&p&&)&/span&
&span class=&n&&angles&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&linspace&/span&&span class=&p&&(&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&2&/span&&span class=&o&&*&/span&&span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&pi&/span&&span class=&p&&,&/span& &span class=&n&&n_angles&/span&&span class=&p&&,&/span& &span class=&n&&endpoint&/span&&span class=&o&&=&/span&&span class=&bp&&False&/span&&span class=&p&&)&/span&
&span class=&n&&angles&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&repeat&/span&&span class=&p&&(&/span&&span class=&n&&angles&/span&&span class=&p&&[&/span&&span class=&o&&...&/span&&span class=&p&&,&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&newaxis&/span&&span class=&p&&],&/span& &span class=&n&&n_radii&/span&&span class=&p&&,&/span& &span class=&n&&axis&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&n&&angles&/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=&o&&+=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&pi&/span&&span class=&o&&/&/span&&span class=&n&&n_angles&/span&
&span class=&c1&&# Map radius, angle pairs to x, y, z points.&/span&
&span class=&n&&x&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&radii&/span&&span class=&o&&*&/span&&span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&cos&/span&&span class=&p&&(&/span&&span class=&n&&angles&/span&&span class=&p&&))&/span&&span class=&o&&.&/span&&span class=&n&&flatten&/span&&span class=&p&&()&/span&
&span class=&n&&y&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&radii&/span&&span class=&o&&*&/span&&span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&sin&/span&&span class=&p&&(&/span&&span class=&n&&angles&/span&&span class=&p&&))&/span&&span class=&o&&.&/span&&span class=&n&&flatten&/span&&span class=&p&&()&/span&
&span class=&n&&z&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&cos&/span&&span class=&p&&(&/span&&span class=&n&&radii&/span&&span class=&p&&)&/span&&span class=&o&&*&/span&&span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&cos&/span&&span class=&p&&(&/span&&span class=&n&&angles&/span&&span class=&o&&*&/span&&span class=&mf&&3.0&/span&&span class=&p&&))&/span&&span class=&o&&.&/span&&span class=&n&&flatten&/span&&span class=&p&&()&/span&
&span class=&c1&&# Create the T no triangles so Delaunay triangulation created.&/span&
&span class=&n&&triang&/span& &span class=&o&&=&/span& &span class=&n&&mtri&/span&&span class=&o&&.&/span&&span class=&n&&Triangulation&/span&&span class=&p&&(&/span&&span class=&n&&x&/span&&span class=&p&&,&/span& &span class=&n&&y&/span&&span class=&p&&)&/span&
&span class=&c1&&# Mask off unwanted triangles.&/span&
&span class=&n&&xmid&/span& &span class=&o&&=&/span& &span class=&n&&x&/span&&span class=&p&&[&/span&&span class=&n&&triang&/span&&span class=&o&&.&/span&&span class=&n&&triangles&/span&&span class=&p&&]&/span&&span class=&o&&.&/span&&span class=&n&&mean&/span&&span class=&p&&(&/span&&span class=&n&&axis&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&n&&ymid&/span& &span class=&o&&=&/span& &span class=&n&&y&/span&&span class=&p&&[&/span&&span class=&n&&triang&/span&&span class=&o&&.&/span&&span class=&n&&triangles&/span&&span class=&p&&]&/span&&span class=&o&&.&/span&&span class=&n&&mean&/span&&span class=&p&&(&/span&&span class=&n&&axis&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&n&&mask&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&where&/span&&span class=&p&&(&/span&&span class=&n&&xmid&/span&&span class=&o&&**&/span&&span class=&mi&&2&/span& &span class=&o&&+&/span& &span class=&n&&ymid&/span&&span class=&o&&**&/span&&span class=&mi&&2&/span& &span class=&o&&&&/span& &span class=&n&&min_radius&/span&&span class=&o&&**&/span&&span class=&mi&&2&/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=&n&&triang&/span&&span class=&o&&.&/span&&span class=&n&&set_mask&/span&&span class=&p&&(&/span&&span class=&n&&mask&/span&&span class=&p&&)&/span&
&span class=&c1&&# Plot the surface.&/span&
&span class=&n&&ax&/span& &span class=&o&&=&/span& &span class=&n&&fig&/span&&span class=&o&&.&/span&&span class=&n&&add_subplot&/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=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&projection&/span&&span class=&o&&=&/span&&span class=&s1&&'3d'&/span&&span class=&p&&)&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&plot_trisurf&/span&&span class=&p&&(&/span&&span class=&n&&triang&/span&&span class=&p&&,&/span& &span class=&n&&z&/span&&span class=&p&&,&/span& &span class=&n&&cmap&/span&&span class=&o&&=&/span&&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&cm&/span&&span class=&o&&.&/span&&span class=&n&&CMRmap&/span&&span class=&p&&)&/span&
&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&show&/span&&span class=&p&&()&/span&
&/code&&/pre&&/div&&p&4. 地形地貌&/p&&figure&&img src=&/v2-f85e431df208c510be1c4a1ef579aaea_b.png& data-rawwidth=&800& data-rawheight=&900& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/v2-f85e431df208c510be1c4a1ef579aaea_r.png&&&/figure&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&import numpy as np
import matplotlib.pyplot as plt
from matplotlib.cbook import get_sample_data
from matplotlib.colors import LightSource
dem = np.load(get_sample_data('jacksboro_fault_dem.npz'))
z = dem['elevation']
#-- Optional dx and dy for accurate vertical exaggeration --------------------
# If you need topographically accurate vertical exaggeration, or you don't want
# to guess at what *vert_exag* should be, you'll need to specify the cellsize
# of the grid (i.e. the *dx* and *dy* parameters).
Otherwise, any *vert_exag*
# value you specify will be relative to the grid spacing of your input data
# (in other words, *dx* and *dy* default to 1.0, and *vert_exag* is calculated
# relative to those parameters).
Similarly, *dx* and *dy* are assumed to be in
# the same units as your input z-values.
Therefore, we'll need to convert the
# given dx and dy from decimal degrees to meters.
dx, dy = dem['dx'], dem['dy']
dy = 111200 * dy
dx = 111200 * dx * np.cos(np.radians(dem['ymin']))
#-----------------------------------------------------------------------------
# Shade from the northwest, with the sun 45 degrees from horizontal
ls = LightSource(azdeg=315, altdeg=45)
cmap = plt.cm.gist_earth
fig, axes = plt.subplots(nrows=4, ncols=3, figsize=(8, 9))
plt.setp(axes.flat, xticks=[], yticks=[])
# Vary vertical exaggeration and blend mode and plot all combinations
for col, ve in zip(axes.T, [0.1, 1, 10]):
# Show the hillshade intensity image in the first row
col[0].imshow(ls.hillshade(z, vert_exag=ve, dx=dx, dy=dy), cmap='gray')
# Place hillshaded plots with different blend modes in the rest of the rows
for ax, mode in zip(col[1:], ['hsv', 'overlay', 'soft']):
rgb = ls.shade(z, cmap=cmap, blend_mode=mode,
vert_exag=ve, dx=dx, dy=dy)
ax.imshow(rgb)
# Label rows and columns
for ax, ve in zip(axes[0], [0.1, 1, 10]):
ax.set_title('{0}'.format(ve), size=18)
for ax, mode in zip(axes[:, 0], ['Hillshade', 'hsv', 'overlay', 'soft']):
ax.set_ylabel(mode, size=18)
# Group labels...
axes[0, 1].annotate('Vertical Exaggeration', (0.5, 1), xytext=(0, 30),
textcoords='offset points', xycoords='axes fraction',
ha='center', va='bottom', size=20)
axes[2, 0].annotate('Blend Mode', (0, 0.5), xytext=(-30, 0),
textcoords='offset points', xycoords='axes fraction',
ha='right', va='center', size=20, rotation=90)
fig.subplots_adjust(bottom=0.05, right=0.95)
plt.show()
&/code&&/pre&&/div&&p&5. 统计图&/p&&figure&&img src=&/v2-dfa86ddec88fa7d2b4b60724_b.png& data-rawwidth=&550& data-rawheight=&450& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&/v2-dfa86ddec88fa7d2b4b60724_r.png&&&/figure&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
n_bins = 10
x = np.random.randn(1000, 3)
fig, axes = plt.subplots(nrows=2, ncols=2)
ax0, ax1, ax2, ax3 = axes.flatten()
colors = ['red', 'tan', 'lime']
ax0.hist(x, n_bins, normed=1, histtype='bar', color=colors, label=colors)
ax0.legend(prop={'size': 10})
ax0.set_title('bars with legend')
ax1.hist(x, n_bins, normed=1, histtype='bar', stacked=True)
ax1.set_title('stacked bar')
ax2.hist(x, n_bins, histtype='step', stacked=True, fill=False)
ax2.set_title('stack step (unfilled)')
# Make a multiple-histogram of data-sets with different length.
x_multi = [np.random.randn(n) for n in [1, 2000]]
ax3.hist(x_multi, n_bins, histtype='bar')
ax3.set_title('different sample sizes')
fig.tight_layout()
plt.show()
&/code&&/pre&&/div&&p&6.
形状和集合&/p&&figure&&img src=&/v2-1c9fdf85ce51cd00bcbbc302e7473896_b.png& data-rawwidth=&640& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&/v2-1c9fdf85ce51cd00bcbbc302e7473896_r.png&&&/figure&&br&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&import&/span& &span class=&nn&&matplotlib.pyplot&/span& &span class=&kn&&as&/span& &span class=&nn&&plt&/span&
&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&rcdefaults&/span&&span class=&p&&()&/span&
&span class=&kn&&import&/span& &span class=&nn&&numpy&/span& &span class=&kn&&as&/span& &span class=&nn&&np&/span&
&span class=&kn&&import&/span& &span class=&nn&&matplotlib.pyplot&/span& &span class=&kn&&as&/span& &span class=&nn&&plt&/span&
&span class=&kn&&import&/span& &span class=&nn&&matplotlib.path&/span& &span class=&kn&&as&/span& &span class=&nn&&mpath&/span&
&span class=&kn&&import&/span& &span class=&nn&&matplotlib.lines&/span& &span class=&kn&&as&/span& &span class=&nn&&mlines&/span&
&span class=&kn&&import&/span& &span class=&nn&&matplotlib.patches&/span& &span class=&kn&&as&/span& &span class=&nn&&mpatches&/span&
&span class=&kn&&from&/span& &span class=&nn&&matplotlib.collections&/span& &span class=&kn&&import&/span& &span class=&n&&PatchCollection&/span&
&span class=&k&&def&/span& &span class=&nf&&label&/span&&span class=&p&&(&/span&&span class=&n&&xy&/span&&span class=&p&&,&/span& &span class=&n&&text&/span&&span class=&p&&):&/span&
&span class=&n&&y&/span& &span class=&o&&=&/span& &span class=&n&&xy&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span& &span class=&o&&-&/span& &span class=&mf&&0.15&/span&
&span class=&c1&&# shift y-value for label so that it's below the artist&/span&
&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&text&/span&&span class=&p&&(&/span&&span class=&n&&xy&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&],&/span& &span class=&n&&y&/span&&span class=&p&&,&/span& &span class=&n&&text&/span&&span class=&p&&,&/span& &span class=&n&&ha&/span&&span class=&o&&=&/span&&span class=&s2&&&center&&/span&&span class=&p&&,&/span& &span class=&n&&family&/span&&span class=&o&&=&/span&&span class=&s1&&'sans-serif'&/span&&span class=&p&&,&/span& &span class=&n&&size&/span&&span class=&o&&=&/span&&span class=&mi&&14&/span&&span class=&p&&)&/span&
&span class=&n&&fig&/span&&span class=&p&&,&/span& &span class=&n&&ax&/span& &span class=&o&&=&/span& &span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&subplots&/span&&span class=&p&&()&/span&
&span class=&c1&&# create 3x3 grid to plot the artists&/span&
&span class=&n&&grid&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&mgrid&/span&&span class=&p&&[&/span&&span class=&mf&&0.2&/span&&span class=&p&&:&/span&&span class=&mf&&0.8&/span&&span class=&p&&:&/span&&span class=&mi&&3j&/span&&span class=&p&&,&/span& &span class=&mf&&0.2&/span&&span class=&p&&:&/span&&span class=&mf&&0.8&/span&&span class=&p&&:&/span&&span class=&mi&&3j&/span&&span class=&p&&]&/span&&span class=&o&&.&/span&&span class=&n&&reshape&/span&&span class=&p&&(&/span&&span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&o&&-&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span&&span class=&o&&.&/span&&span class=&n&&T&/span&
&span class=&n&&patches&/span& &span class=&o&&=&/span& &span class=&p&&[]&/span&
&span class=&c1&&# add a circle&/span&
&span class=&n&&circle&/span& &span class=&o&&=&/span& &span class=&n&&mpatches&/span&&span class=&o&&.&/span&&span class=&n&&Circle&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&],&/span& &span class=&mf&&0.1&/span&&span class=&p&&,&/span& &span class=&n&&ec&/span&&span class=&o&&=&/span&&span class=&s2&&&none&&/span&&span class=&p&&)&/span&
&span class=&n&&patches&/span&&span class=&o&&.&/span&&span class=&n&&append&/span&&span class=&p&&(&/span&&span class=&n&&circle&/span&&span class=&p&&)&/span&
&span class=&n&&label&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&],&/span& &span class=&s2&&&Circle&&/span&&span class=&p&&)&/span&
&span class=&c1&&# add a rectangle&/span&
&span class=&n&&rect&/span& &span class=&o&&=&/span& &span class=&n&&mpatches&/span&&span class=&o&&.&/span&&span class=&n&&Rectangle&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span& &span class=&o&&-&/span& &span class=&p&&[&/span&&span class=&mf&&0.025&/span&&span class=&p&&,&/span& &span class=&mf&&0.05&/span&&span class=&p&&],&/span& &span class=&mf&&0.05&/span&&span class=&p&&,&/span& &span class=&mf&&0.1&/span&&span class=&p&&,&/span& &span class=&n&&ec&/span&&span class=&o&&=&/span&&span class=&s2&&&none&&/span&&span class=&p&&)&/span&
&span class=&n&&patches&/span&&span class=&o&&.&/span&&span class=&n&&append&/span&&span class=&p&&(&/span&&span class=&n&&rect&/span&&span class=&p&&)&/span&
&span class=&n&&label&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&],&/span& &span class=&s2&&&Rectangle&&/span&&span class=&p&&)&/span&
&span class=&c1&&# add a wedge&/span&
&span class=&n&&wedge&/span& &span class=&o&&=&/span& &span class=&n&&mpatches&/span&&span class=&o&&.&/span&&span class=&n&&Wedge&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&],&/span& &span class=&mf&&0.1&/span&&span class=&p&&,&/span& &span class=&mi&&30&/span&&span class=&p&&,&/span& &span class=&mi&&270&/span&&span class=&p&&,&/span& &span class=&n&&ec&/span&&span class=&o&&=&/span&&span class=&s2&&&none&&/span&&span class=&p&&)&/span&
&span class=&n&&patches&/span&&span class=&o&&.&/span&&span class=&n&&append&/span&&span class=&p&&(&/span&&span class=&n&&wedge&/span&&span class=&p&&)&/span&
&span class=&n&&label&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&],&/span& &span class=&s2&&&Wedge&&/span&&span class=&p&&)&/span&
&span class=&c1&&# add a Polygon&/span&
&span class=&n&&polygon&/span& &span class=&o&&=&/span& &span class=&n&&mpatches&/span&&span class=&o&&.&/span&&span class=&n&&RegularPolygon&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&],&/span& &span class=&mi&&5&/span&&span class=&p&&,&/span& &span class=&mf&&0.1&/span&&span class=&p&&)&/span&
&span class=&n&&patches&/span&&span class=&o&&.&/span&&span class=&n&&append&/span&&span class=&p&&(&/span&&span class=&n&&polygon&/span&&span class=&p&&)&/span&
&span class=&n&&label&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&],&/span& &span class=&s2&&&Polygon&&/span&&span class=&p&&)&/span&
&span class=&c1&&# add an ellipse&/span&
&span class=&n&&ellipse&/span& &span class=&o&&=&/span& &span class=&n&&mpatches&/span&&span class=&o&&.&/span&&span class=&n&&Ellipse&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&4&/span&&span class=&p&&],&/span& &span class=&mf&&0.2&/span&&span class=&p&&,&/span& &span class=&mf&&0.1&/span&&span class=&p&&)&/span&
&span class=&n&&patches&/span&&span class=&o&&.&/span&&span class=&n&&append&/span&&span class=&p&&(&/span&&span class=&n&&ellipse&/span&&span class=&p&&)&/span&
&span class=&n&&label&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&4&/span&&span class=&p&&],&/span& &span class=&s2&&&Ellipse&&/span&&span class=&p&&)&/span&
&span class=&c1&&# add an arrow&/span&
&span class=&n&&arrow&/span& &span class=&o&&=&/span& &span class=&n&&mpatches&/span&&span class=&o&&.&/span&&span class=&n&&Arrow&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&5&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&-&/span& &span class=&mf&&0.05&/span&&span class=&p&&,&/span& &span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&5&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&]&/span& &span class=&o&&-&/span& &span class=&mf&&0.05&/span&&span class=&p&&,&/span& &span class=&mf&&0.1&/span&&span class=&p&&,&/span& &span class=&mf&&0.1&/span&&span class=&p&&,&/span& &span class=&n&&width&/span&&span class=&o&&=&/span&&span class=&mf&&0.1&/span&&span class=&p&&)&/span&
&span class=&n&&patches&/span&&span class=&o&&.&/span&&span class=&n&&append&/span&&span class=&p&&(&/span&&span class=&n&&arrow&/span&&span class=&p&&)&/span&
&span class=&n&&label&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&5&/span&&span class=&p&&],&/span& &span class=&s2&&&Arrow&&/span&&span class=&p&&)&/span&
&span class=&c1&&# add a path patch&/span&
&span class=&n&&Path&/span& &span class=&o&&=&/span& &span class=&n&&mpath&/span&&span class=&o&&.&/span&&span class=&n&&Path&/span&
&span class=&n&&path_data&/span& &span class=&o&&=&/span& &span class=&p&&[&/span&
&span class=&p&&(&/span&&span class=&n&&Path&/span&&span class=&o&&.&/span&&span class=&n&&MOVETO&/span&&span class=&p&&,&/span& &span class=&p&&[&/span&&span class=&mf&&0.018&/span&&span class=&p&&,&/span& &span class=&o&&-&/span&&span class=&mf&&0.11&/span&&span class=&p&&]),&/span&
&span class=&p&&(&/span&&span class=&n&&Path&/span&&span class=&o&&.&/span&&span class=&n&&CURVE4&/span&&span class=&p&&,&/span& &span class=&p&&[&/span&&span class=&o&&-&/span&&span class=&mf&&0.031&/span&&span class=&p&&,&/span& &span class=&o&&-&/span&&span class=&mf&&0.051&/span&&span class=&p&&]),&/span&
&span class=&p&&(&/span&&span class=&n&&Path&/span&&span class=&o&&.&/span&&span class=&n&&CURVE4&/span&&span class=&p&&,&/span& &span class=&p&&[&/span&&span class=&o&&-&/span&&span class=&mf&&0.115&/span&&span class=&p&&,&/span&
&span class=&mf&&0.073&/span&&span class=&p&&]),&/span&
&span class=&p&&(&/span&&span class=&n&&Path&/span&&span class=&o&&.&/span&&span class=&n&&CURVE4&/span&&span class=&p&&,&/span& &span class=&p&&[&/span&&span class=&o&&-&/span&&span class=&mf&&0.03&/span& &span class=&p&&,&/span&
&span class=&mf&&0.073&/span&&span class=&p&&]),&/span&
&span class=&p&&(&/span&&span class=&n&&Path&/span&&span class=&o&&.&/span&&span class=&n&&LINETO&/span&&span class=&p&&,&/span& &span class=&p&&[&/span&&span class=&o&&-&/span&&span class=&mf&&0.011&/span&&span class=&p&&,&/span&
&span class=&mf&&0.039&/span&&span class=&p&&]),&/span&
&span class=&p&&(&/span&&span class=&n&&Path&/span&&span class=&o&&.&/span&&span class=&n&&CURVE4&/span&&span class=&p&&,&/span& &span class=&p&&[&/span&&span class=&mf&&0.043&/span&&span class=&p&&,&/span&
&span class=&mf&&0.121&/span&&span class=&p&&]),&/span&
&span class=&p&&(&/span&&span class=&n&&Path&/span&&span class=&o&&.&/span&&span class=&n&&CURVE4&/span&&span class=&p&&,&/span& &span class=&p&&[&/span&&span class=&mf&&0.075&/span&&span class=&p&&,&/span& &span class=&o&&-&/span&&span class=&mf&&0.005&/span&&span class=&p&&]),&/span&
&span class=&p&&(&/span&&span class=&n&&Path&/span&&span class=&o&&.&/span&&span class=&n&&CURVE4&/span&&span class=&p&&,&/span& &span class=&p&&[&/span&&span class=&mf&&0.035&/span&&span class=&p&&,&/span& &span class=&o&&-&/span&&span class=&mf&&0.027&/span&&span class=&p&&]),&/span&
&span class=&p&&(&/span&&span class=&n&&Path&/span&&span class=&o&&.&/span&&span class=&n&&CLOSEPOLY&/span&&span class=&p&&,&/span& &span class=&p&&[&/span&&span class=&mf&&0.018&/span&&span class=&p&&,&/span& &span class=&o&&-&/span&&span class=&mf&&0.11&/span&&span class=&p&&])&/span&
&span class=&p&&]&/span&
&span class=&n&&codes&/span&&span class=&p&&,&/span& &span class=&n&&verts&/span& &span class=&o&&=&/span& &span class=&nb&&zip&/span&&span class=&p&&(&/span&&span class=&o&&*&/span&&span class=&n&&path_data&/span&&span class=&p&&)&/span&
&span class=&n&&path&/span& &span class=&o&&=&/span& &span class=&n&&mpath&/span&&span class=&o&&.&/span&&span class=&n&&Path&/span&&span class=&p&&(&/span&&span class=&n&&verts&/span& &span class=&o&&+&/span& &span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&6&/span&&span class=&p&&],&/span& &span class=&n&&codes&/span&&span class=&p&&)&/span&
&span class=&n&&patch&/span& &span class=&o&&=&/span& &span class=&n&&mpatches&/span&&span class=&o&&.&/span&&span class=&n&&PathPatch&/span&&span class=&p&&(&/span&&span class=&n&&path&/span&&span class=&p&&)&/span&
&span class=&n&&patches&/span&&span class=&o&&.&/span&&span class=&n&&append&/span&&span class=&p&&(&/span&&span class=&n&&patch&/span&&span class=&p&&)&/span&
&span class=&n&&label&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&6&/span&&span class=&p&&],&/span& &span class=&s2&&&PathPatch&&/span&&span class=&p&&)&/span&
&span class=&c1&&# add a fancy box&/span&
&span class=&n&&fancybox&/span& &span class=&o&&=&/span& &span class=&n&&mpatches&/span&&span class=&o&&.&/span&&span class=&n&&FancyBboxPatch&/span&&span class=&p&&(&/span&
&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&7&/span&&span class=&p&&]&/span& &span class=&o&&-&/span& &span class=&p&&[&/span&&span class=&mf&&0.025&/span&&span class=&p&&,&/span& &span class=&mf&&0.05&/span&&span class=&p&&],&/span& &span class=&mf&&0.05&/span&&span class=&p&&,&/span& &span class=&mf&&0.1&/span&&span class=&p&&,&/span&
&span class=&n&&boxstyle&/span&&span class=&o&&=&/span&&span class=&n&&mpatches&/span&&span class=&o&&.&/span&&span class=&n&&BoxStyle&/span&&span class=&p&&(&/span&&span class=&s2&&&Round&&/span&&span class=&p&&,&/span& &span class=&n&&pad&/span&&span class=&o&&=&/span&&span class=&mf&&0.02&/span&&span class=&p&&))&/span&
&span class=&n&&patches&/span&&span class=&o&&.&/span&&span class=&n&&append&/span&&span class=&p&&(&/span&&span class=&n&&fancybox&/span&&span class=&p&&)&/span&
&span class=&n&&label&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&7&/span&&span class=&p&&],&/span& &span class=&s2&&&FancyBboxPatch&&/span&&span class=&p&&)&/span&
&span class=&c1&&# add a line&/span&
&span class=&n&&x&/span&&span class=&p&&,&/span& &span class=&n&&y&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&array&/span&&span class=&p&&([[&/span&&span class=&o&&-&/span&&span class=&mf&&0.06&/span&&span class=&p&&,&/span& &span class=&mf&&0.0&/span&&span class=&p&&,&/span& &span class=&mf&&0.1&/span&&span class=&p&&],&/span& &span class=&p&&[&/span&&span class=&mf&&0.05&/span&&span class=&p&&,&/span& &span class=&o&&-&/span&&span class=&mf&&0.05&/span&&span class=&p&&,&/span& &span class=&mf&&0.05&/span&&span class=&p&&]])&/span&
&span class=&n&&line&/span& &span class=&o&&=&/span& &span class=&n&&mlines&/span&&span class=&o&&.&/span&&span class=&n&&Line2D&/span&&span class=&p&&(&/span&&span class=&n&&x&/span& &span class=&o&&+&/span& &span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&8&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&],&/span& &span class=&n&&y&/span& &span class=&o&&+&/span& &span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&8&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&],&/span& &span class=&n&&lw&/span&&span class=&o&&=&/span&&span class=&mf&&5.&/span&&span class=&p&&,&/span& &span class=&n&&alpha&/span&&span class=&o&&=&/span&&span class=&mf&&0.3&/span&&span class=&p&&)&/span&
&span class=&n&&label&/span&&span class=&p&&(&/span&&span class=&n&&grid&/span&&span class=&p&&[&/span&&span class=&mi&&8&/span&&span class=&p&&],&/span& &span class=&s2&&&Line2D&&/span&&span class=&p&&)&/span&
&span class=&n&&colors&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&linspace&/span&&span class=&p&&(&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&nb&&len&/span&&span class=&p&&(&/span&&span class=&n&&patches&/span&&span class=&p&&))&/span&
&span class=&n&&collection&/span& &span class=&o&&=&/span& &span class=&n&&PatchCollection&/span&&span class=&p&&(&/span&&span class=&n&&patches&/span&&span class=&p&&,&/span& &span class=&n&&cmap&/span&&span class=&o&&=&/span&&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&cm&/span&&span class=&o&&.&/span&&span class=&n&&hsv&/span&&span class=&p&&,&/span& &span class=&n&&alpha&/span&&span class=&o&&=&/span&&span class=&mf&&0.3&/span&&span class=&p&&)&/span&
&span class=&n&&collection&/span&&span class=&o&&.&/span&&span class=&n&&set_array&/span&&span class=&p&&(&/span&&span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&array&/span&&span class=&p&&(&/span&&span class=&n&&colors&/span&&span class=&p&&))&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&add_collection&/span&&span class=&p&&(&/span&&span class=&n&&collection&/span&&span class=&p&&)&/span&
&span class=&n&&ax&/span&&span class=&o&&.&/span&&span class=&n&&add_line&/span&&span class=&p&&(&/span&&span class=&n&&line&/span&&span class=&p&&)&/span&
&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&subplots_adjust&/span&&span class=&p&&(&/span&&span class=&n&&left&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&n&&right&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&n&&bottom&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&n&&top&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&axis&/span&&span class=&p&&(&/span&&span class=&s1&&'equal'&/span&&span class=&p&&)&/span&
&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&axis&/span&&span class=&p&&(&/span&&span class=&s1&&'off'&/span&&span class=&p&&)&/span&
&span class=&n&&plt&/span&&span class=&o&&.&/span&&span class=&n&&show&/span&&span class=&p&&()&/span&
&/code&&/pre&&/div&
1. 水印from __future__ import print_function
import numpy as np
import matplotlib.cbook as cbook
import matplotlib.image as image
import matplotlib.pyplot as plt
datafile = cbook.get_sample_data('logo2.png', asfileobj=False)
print('loadi…
&figure&&img src=&/v2-dcebbafb96c31d7bfb86cf1e_b.jpg& data-rawwidth=&1920& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&/v2-dcebbafb96c31d7bfb86cf1e_r.jpg&&&/figure&&h2&0.序&/h2&&p&玩阴阳师的肝帝们都知道,每天早上5点和下午6点会刷新两次封印任务,每次做任务时最蛋疼的就是找各种怪物对应的副本以及神秘线索。 阴阳师提供了 网易精灵 可以进行一些数据查询,但体验实在太感人,所以大多数人选择使用搜素引擎搜索怪物分布及神秘线索。&/p&&p&而每次使用搜索引擎查找又十分不方便,所以笔者决定写一个查询阴阳师妖怪分布的小程序,力求做到使用快捷体验更快捷,把更多的时间留给狗粮和御魂。&/p&&p&恰好上周末有两天时间,所以立马开写。&/p&&h2&1.构思与设计 ( 3小时 )&/h2&&h3&1.1 构思&/h3&&ol&&li&要做的小程序主要功能就是查询功能,所以主页应该像搜索引擎一样简洁,搜索框是肯定需要的;&/li&&li&主页包含热门搜索,缓存最热式神的搜索;&/li&&li&搜索支持完整匹配或者单字匹配;&/li&&li&点击搜索结果直接跳转到式神详情页;53. 式神详情页应该包含式神的图鉴、名称、稀有度、出没地点,并且出没地点按妖怪数量从多到少排序;&/li&&li&加入数据报错及提建议的功能;&/li&&li&支持用户个人的搜索历史;&/li&&li&小程序的名字,综合考虑小程序的功能最后决定叫做 式神猎手 ( 其实这是最后开发完成后才想好的 );&/li&&/ol&&h3&1.2 设计&/h3&&p&构思好后笔者就开始用笔者半吊子的 PS 水平设计了下草图,大概是这个样子:&/p&&figure&&img src=&/v2-c8991dfb0fff733d3e9a_b.jpg& data-rawwidth=&800& data-rawheight=&667& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/v2-c8991dfb0fff733d3e9a_r.jpg&&&/figure&&br&&br&&p&嗯,最主要的首页和详情页设计好就行,然后就可以开始具体考虑怎么做了!&/p&&h3&1.3 技术架构&/h3&&ol&&li&前端毫无疑问就是微信小程序咯;&/li&&li&后端使用 Django 提供 Restful API 服务;&/li&&li&当前最热搜索用 redis 做缓存服务器进行缓存;&/li&&li&个人搜索记录就使用微信小程序提供的&/li&&li&式神分布信息使用爬虫爬取清洗,格式化为 json , 入库前再做人工检查;&/li&&li&式神图片及图标直接爬取官方资料;&/li&&li&自己制作爬不到的式神图片及图标;&/li&&li&小程序要求 HTTPS 连接,恰好笔者之前搞过,可以直接看这里 &a href=&/?target=https%3A///blog/https-deploy-guide& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&HTTPS 免费部署指南&i class=&icon-external&&&/i&&/a&&/li&&/ol&&p&到此,正式开发前的准备得当后,我们就可以开始正式开发了&/p&&h2&2. API 服务开发 ( 5小时 )&/h2&&p&Django 的 API 服务开发笔者之前经常做,所以有比较完整的解决方案,可以参考这里 &a href=&/?target=https%3A///bluedazzle/django-simple-serializer& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&django-simple-serializer&i class=&icon-external&&&/i&&/a&&/p&&p&之所以花了 5 个小时是因为近 4 个小时在增加 &a href=&/?target=https%3A///bluedazzle/django-simple-serializer& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&django-simple-serializer&i class=&icon-external&&&/i&&/a& 对 Django ManyToManyField 中 through 特性的支持。&/p&&p&简而言之, through 特性就是可以使多对多关系的中间表增添一些额外的字段或属性,例如: 怪物副本和怪物之间的多对多关系就需要增加一个储存每个副本有多少只相应怪物数量的字段 count。&/p&&p&搞定 through 支持后 API 的构建就很快啦,主要有五个 API :&/p&&ol&&li&搜索接口;&/li&&li&式神详情接口;&/li&&li&式神副本接口;&/li&&li&热门搜索接口;&/li&&li&反馈接口;&/li&&/ol&&p&写好接口后添加一些 mock data 以供测试;&/p&&h2&3. 前端开发 ( 8小时 )&/h2&&p&前端花了最久的时间。&/p&&p&一方面笔者真的是个后端工程师,前端属于半路出家,另一方面小程序有一些坑。 当然,最主要的是一直在调整界面效果,这里花了大量时间。&/p&&p&写小程序的整体体验笔者感觉就和写 vue.js 一摸一样,只不过一些 html 标签没办法使用,而是需要按小程序官方提供的组件进行书写, 这里有一点感受就是,小程序本身组件化的设计思路应该是借鉴了 React 而语法之类的应该是借鉴了 vue.js 。&/p&&p&最后前端开发完毕后主要分为这几个页面:&/p&&ol&&li&主页 ( 搜索页 );&/li&&li&式神详情页;&/li&&li&我的页面 ( 主要是放搜索历史和免责申明等等东西 );&/li&&li&反馈界面;&/li&&li&声明界面 ( 为何需要这个界面? 因为所有图片及一些资源都是直接抓取阴阳师官方的资源,所以这里需要申明只是非盈利性质的使用,版权乱七八糟的都还是阴阳师的 )。&/li&&/ol&&p&哎,丑媳妇早晚要见公婆,这里不得不放最后开发出来的界面图了&/p&&figure&&img src=&/v2-be8e7c11f071da342701_b.png& data-rawwidth=&1600& data-rawheight=&600& class=&origin_image zh-lightbox-thumb& width=&1600& data-original=&/v2-be8e7c11f071da342701_r.png&&&/figure&&br&&p&对于微信小程序的入门及基础,笔者就不在这里多讲了,相信到现在对微信小程序有关注的开发者或多或少自己写个简单的 demo 肯定是没问题的,我就主要讲一讲我在开发中遇到的坑:&/p&&h3&3.1 background-image 属性&/h3&&p&在写式神详情页的时候两个地方需要用到 background-image 属性设置背景图,在微信开发者工具中一切显示正常,但一到真机调试就没有办法显示,最后发现小程序的 background-image 在真机不支持引用本地资源,解决方案有两种:&/p&&ol&&li&使用网络图片: 考虑到背景图的大小,笔者放弃了这种方案;&/li&&li&使用 base64 编码图片。&/li&&/ol&&p&正常来讲,css 中的 background-image 就支持 base64 ,这种方案相当于把图片直接用 base64 编码成一段 base64 码进行储存,在使用时这样使用即可:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&background-image: url(data:image/image-base64,XXXX);
&/code&&/pre&&/div&&p&image-format 为图片本身的格式,而 xxxx 就是图片经过 base64 后得到的编码。这种方式其实是一种变相引用本地资源的方式,好处在于可以减少请求图片的次数,而缺点则是会增大 css 文件并使其不是那么好看。&/p&&p&最后笔者选择第二种方式主要还是考虑到图片的大小以及 wxss 的增大在可接受范围内。&/p&&h3&3.2 template&/h3&&p&小程序支持模版,但要注意模板拥有自己的作用域,只能使用data传入的数据。&/p&&p&另外,在传入数据时需要将相关数据解构传入,在模版内部是直接以 {{ xxxx }} 的形式进行访问,而不是像在循环中 {{ &a href=&/?target=http%3A//item.xxx& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&item.xxx&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& }} 这种访问形式;&/p&&p&关于解构:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&&template is=&xxx& data=&{{...object}}&/&
&/code&&/pre&&/div&&p&三个 . 就是解构操作;&/p&&p&一般 template 都会放在 单独的 template 文件中让其他文件进行调用,而不会直接写在正常的 wxml 中。 比如笔者目录大概是这样的:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&├── app.js
├── app.json
├── app.wxss
├── pages
├── feedback
├── index
├── onmyoji
├── statement
└── template
├── template.js
├── template.json
├── template.wxml
└── template.wxss
├── static
└── utils
&/code&&/pre&&/div&&p&关于其他文件调用 template,直接使用 import 即可:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&&import src=&../template/template.wxml& /&
&/code&&/pre&&/div&&p&然后在需要引用模版的地方:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&&template is=&xxx& data=&{{...object}}&/&&!--is 后填写模版名称--&
&/code&&/pre&&/div&&p&这里遇到另一个问题,template 对应的样式写在 template 对应的 wxss 中并没有作用,需要写在调用 template 的文件的 wxss 中,比如 index 需要使用 template 则需要将对应的 css 写在 my/my.wxss 中。&/p&&h2&4. 爬取图片资源 ( 2小时 )&/h2&&p&式神的图标及形象图基本上阴阳师官网都有,这里自己做也不现实,所以果断写爬虫爬下来然后存到自己的 cdn 。&/p&&p&大图和小图都在 &a href=&/?target=http%3A///shishen/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《阴阳师》手游式神录_式神攻略_御魂搭配攻略_觉醒材料_在哪里刷_式神阵容搭配_《阴阳师》手游官网&i class=&icon-external&&&/i&&/a& 这里可以找到。 一开始考虑爬取网页然后 beautiful soup 提取数据,后面发现式神数据竟然是异步加载的,那就更简单了,分析网页得到 &a href=&/?target=https%3A//g37simulator./get_heroid_list& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&g37simulator.&/span&&span class=&invisible&&/get_heroid_list&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& 直接返回了式神信息的 json 信息,所以很容易写个爬虫就可以搞定了:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&c1&&# coding: utf-8&/span&
&span class=&kn&&import&/span& &span class=&nn&&json&/span&
&span class=&kn&&import&/span& &span class=&nn&&requests&/span&
&span class=&kn&&import&/span& &span class=&nn&&urllib&/span&
&span class=&kn&&from&/span& &span class=&nn&&xpinyin&/span& &span class=&kn&&import&/span& &span class=&n&&Pinyin&/span&
&span class=&n&&url&/span& &span class=&o&&=&/span& &span class=&s2&&&https://g37simulator./get_heroid_list?callback=jQuery&rarity=0&page=1&per_page=200&_=5&&/span&
&span class=&n&&result&/span& &span class=&o&&=&/span& &span class=&n&&requests&/span&&span class=&o&&.&/span&&span class=&n&&get&/span&&span class=&p&&(&/span&&span class=&n&&url&/span&&span class=&p&&)&/span&&span class=&o&&.&/span&&span class=&n&&content&/span&&span class=&o&&.&/span&&span class=&n&&replace&/span&&span class=&p&&(&/span&&span class=&s1&&'jQuery('&/span&&span class=&p&&,&/span& &span class=&s1&&''&/span&&span class=&p&&)&/span&&span class=&o&&.&/span&&span class=&n&&replace&/span&&span class=&p&&(&/span&&span class=&s1&&')'&/span&&span class=&p&&,&/span& &span class=&s1&&''&/span&&span class=&p&&)&/span&
&span class=&n&&json_data&/span& &span class=&o&&=&/span& &span class=&n&&json&/span&&span class=&o&&.&/span&&span class=&n&&loads&/span&&span class=&p&&(&/span&&span class=&n&&result&/span&&span class=&p&&)&/span&
&span class=&n&&hellspawn_list&/span& &span class=&o&&=&/span& &span class=&n&&json_data&/span&&span class=&p&&[&/span&&span class=&s1&&'data'&/span&&span class=&p&&]&/span&
&span class=&n&&p&/span& &span class=&o&&=&/span& &span class=&n&&Pinyin&/span&&span class=&p&&()&/span&
&span class=&k&&for&/span& &span class=&n&&k&/span&&span class=&p&&,&/span& &span class=&n&&v&/span& &span class=&ow&&in&/span& &span class=&n&&hellspawn_list&/span&&span class=&o&&.&/span&&span class=&n&&iteritems&/span&&span class=&p&&():&/span&
&span class=&n&&file_name&/span& &span class=&o&&=&/span& &span class=&n&&p&/span&&span class=&o&&.&/span&&span class=&n&&get_pinyin&/span&&span class=&p&&(&/span&&span class=&n&&v&/span&&span class=&o&&.&/span&&span class=&n&&get&/span&&span class=&p&&(&/span&&span class=&s1&&'name'&/span&&span class=&p&&),&/span& &span class=&s1&&''&/span&&span class=&p&&)&/span&
&span class=&k&&print&/span& &span class=&s1&&'id: {0} name: {1}'&/span&&span class=&o&&.&/span&&span class=&n&&format&/span&&span class=&p&&(&/span&&span class=&n&&k&/span&&span class=&p&&,&/span& &span class=&n&&v&/span&&span class=&o&&.&/span&&span class=&n&&get&/span&&span class=&p&&(&/span&&span class=&s1&&'name'&/span&&span class=&p&&))&/span&
&span class=&n&&big_url&/span& &span class=&o&&=&/span& &span class=&s2&&&https://yys./pc/zt/35/data/shishen_big/{0}.png&&/span&&span class=&o&&.&/span&&span class=&n&&format&/span&&span class=&p&&(&/span&&span class=&n&&k&/span&&span class=&p&&)&/span&
&span class=&n&&urllib&/span&&span class=&o&&.&/span&&span class=&n&&urlretrieve&/span&&span class=&p&&(&/span&&span class=&n&&big_url&/span&&span class=&p&&,&/span& &span class=&n&&filename&/span&&span class=&o&&=&/span&&span class=&s1&&'big/{0}@big.png'&/span&&span class=&o&&.&/span&&span class=&n&&format&/span&&span class=&p&&(&/span&&span class=&n&&file_name&/span&&span class=&p&&))&/span&
&span class=&n&&avatar_url&/span& &span class=&o&&=&/span& &span class=&s2&&&https://yys./pc/gw/16/data/shishen/{0}.png&&/span&&span class=&o&&.&/span&&span class=&n&&format&/span&&span class=&p&&(&/span&&span class=&n&&k&/span&&span class=&p&&)&/span&
&span class=&n&&urllib&/span&&span class=&o&&.&/span&&span class=&n&&urlretrieve&/span&&span class=&p&&(&/span&&span class=&n&&avatar_url&/span&&span class=&p&&,&/span& &span class=&n&&filename&/span&&span class=&o&&=&/span&&span class=&s1&&'icon/{0}@icon.png'&/span&&span class=&o&&.&/span&&span class=&n&&format&/span&&span class=&p&&(&/span&&span class=&n&&file_name&/span&&span class=&p&&))&/span&
&/code&&/pre&&/div&&p&然而,爬完数据后发现一个问题,网易官方的图片都是无码高清大图,对于笔者这种穷 ds 大图放在 cdn 上两天就得破产,所以需要批量将图片转成既不太大又能看的过去。嗯,这里就可以用到 ps 的批处理能力了。&/p&&ol&&li&打开 ps ,然后选择爬到的一张图片;&/li&&li&选择菜单栏上的“窗口”然后选择“动作;&/li&&li&在“动作”选项下,新建一个动作;&/li&&li&点击圆形录制按钮开始录制动作;&/li&&li&按正常处理图片等顺序将一张图片存为 web 格式;&/li&&li&点击方形停止按钮停止录制动作;&/li&&li&选择菜单栏上的 文件-自动-批处理-选择之前录制的动作-配置好输入文件夹和输出文件夹;&/li&&li&点击确定就可以啦;&/li&&/ol&&p&等批处理结束,期间刷个御魂啥的应该就好了,然后将得到的所有图片上传到静态资源服务器,图片这里就处理完啦。&/p&&h2&5. 式神数据爬取 ( 4小时 )&/h2&&p&式神分布数据网上比较杂并且数据很多有偏差,所以斟酌再三决定采用半人工半自动的方式,爬到的数据输出为 json:&/p&&div class=&highlight&&&pre&&code class=&language-json&&&span&&/span&&span class=&p&&{&/span&
&span class=&nt&&&scene_name&&/span&&span class=&p&&:&/span& &span class=&s2&&&探索第一章&&/span&&span class=&p&&,&/span&
&span class=&nt&&&team_list&&/span&&span class=&p&&:&/span& &span class=&p&&[{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&天邪鬼绿1&&/span&&span class=&p&&,&/span&
&span class=&nt&&&index&&/span&&span class=&p&&:&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span&
&span class=&nt&&&monsters&&/span&&span class=&p&&:&/span& &span class=&p&&[{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&天邪鬼绿&&/span&&span class=&p&&,&/span&
&span class=&nt&&&count&&/span&&span class=&p&&:&/span& &span class=&mi&&1&/span&
&span class=&p&&},{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&提灯小僧&&/span&&span class=&p&&,&/span&
&span class=&nt&&&count&&/span&&span class=&p&&:&/span& &span class=&mi&&2&/span&
&span class=&p&&}]&/span&
&span class=&p&&},{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&天邪鬼绿2&&/span&&span class=&p&&,&/span&
&span class=&nt&&&index&&/span&&span class=&p&&:&/span& &span class=&mi&&2&/span&&span class=&p&&,&/span&
&span class=&nt&&&monsters&&/span&&span class=&p&&:&/span& &span class=&p&&[{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&天邪鬼绿&&/span&&span class=&p&&,&/span&
&span class=&nt&&&count&&/span&&span class=&p&&:&/span& &span class=&mi&&1&/span&
&span class=&p&&},{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&提灯小僧&&/span&&span class=&p&&,&/span&
&span class=&nt&&&count&&/span&&span class=&p&&:&/span& &span class=&mi&&2&/span&
&span class=&p&&}]&/span&
&span class=&p&&},{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&提灯小僧1&&/span&&span class=&p&&,&/span&
&span class=&nt&&&index&&/span&&span class=&p&&:&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span&
&span class=&nt&&&monsters&&/span&&span class=&p&&:&/span& &span class=&p&&[{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&天邪鬼绿&&/span&&span class=&p&&,&/span&
&span class=&nt&&&count&&/span&&span class=&p&&:&/span& &span class=&mi&&2&/span&
&span class=&p&&},{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&提灯小僧&&/span&&span class=&p&&,&/span&
&span class=&nt&&&count&&/span&&span class=&p&&:&/span& &span class=&mi&&1&/span&
&span class=&p&&}]&/span&
&span class=&p&&},{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&提灯小僧2&&/span&&span class=&p&&,&/span&
&span class=&nt&&&index&&/span&&span class=&p&&:&/span& &span class=&mi&&4&/span&&span class=&p&&,&/span&
&span class=&nt&&&monsters&&/span&&span class=&p&&:&/span& &span class=&p&&[{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&灯笼鬼&&/span&&span class=&p&&,&/span&
&span class=&nt&&&count&&/span&&span class=&p&&:&/span& &span class=&

我要回帖

更多关于 build.prop修改 的文章

 

随机推荐