本文主要展示了使用matplotlib设计logo的示例及完整代码,首先看下其演示结果:
Python代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.cm as cm
mpl.rcParams[ 'xtick.labelsize' ] = 10
mpl.rcParams[ 'ytick.labelsize' ] = 12
mpl.rcParams[ 'axes.edgecolor' ] = 'gray'
axalpha = 0.05
figcolor = 'white'
dpi = 80
fig = plt.figure(figsize = ( 6 , 1.1 ), dpi = dpi)
fig.patch.set_edgecolor(figcolor)
fig.patch.set_facecolor(figcolor)
def add_math_background():
ax = fig.add_axes([ 0. , 0. , 1. , 1. ])
text = []
text.append(
(r "$W^{3\beta}_{\delta_1 \rho_1 \sigma_2} = "
r "U^{3\beta}_{\delta_1 \rho_1} + \frac{1}{8 \pi 2}"
r "\int^{\alpha_2}_{\alpha_2} d \alpha^\prime_2 "
r "\left[\frac{ U^{2\beta}_{\delta_1 \rho_1} - "
r "\alpha^\prime_2U^{1\beta}_{\rho_1 \sigma_2} "
r "}{U^{0\beta}_{\rho_1 \sigma_2}}\right]$" , ( 0.7 , 0.2 ), 20 ))
text.append((r "$\frac{d\rho}{d t} + \rho \vec{v}\cdot\nabla\vec{v} "
r "= -\nabla p + \mu\nabla^2 \vec{v} + \rho \vec{g}$" ,
( 0.35 , 0.9 ), 20 ))
text.append((r "$\int_{-\infty}^\infty e^{-x^2}dx=\sqrt{\pi}$" ,
( 0.15 , 0.3 ), 25 ))
text.append((r "$F_G = G\frac{m_1m_2}{r^2}$" ,
( 0.85 , 0.7 ), 30 ))
for eq, (x, y), size in text:
ax.text(x, y, eq, ha = 'center' , va = 'center' , color = "#11557c" ,
alpha = 0.25 , transform = ax.transAxes, fontsize = size)
ax.set_axis_off()
return ax
def add_matplotlib_text(ax):
ax.text( 0.95 , 0.5 , 'www.zyiz.net' , color = '#11557c' , fontsize = 55 ,
ha = 'right' , va = 'center' , alpha = 1.0 , transform = ax.transAxes)
def add_polar_bar():
ax = fig.add_axes([ 0.025 , 0.075 , 0.2 , 0.85 ], projection = 'polar' )
ax.patch.set_alpha(axalpha)
ax.set_axisbelow( True )
N = 7
arc = 2. * np.pi
theta = np.arange( 0.0 , arc, arc / N)
radii = 10 * np.array([ 0.2 , 0.6 , 0.8 , 0.7 , 0.4 , 0.5 , 0.8 ])
width = np.pi / 4 * np.array([ 0.4 , 0.4 , 0.6 , 0.8 , 0.2 , 0.5 , 0.3 ])
bars = ax.bar(theta, radii, width = width, bottom = 0.0 )
for r, bar in zip (radii, bars):
bar.set_facecolor(cm.jet(r / 10. ))
bar.set_alpha( 0.6 )
ax.tick_params(labelbottom = False , labeltop = False ,
labelleft = False , labelright = False )
ax.grid(lw = 0.8 , alpha = 0.9 , ls = '-' , color = '0.5' )
ax.set_yticks(np.arange( 1 , 9 , 2 ))
ax.set_rmax( 9 )
if __name__ = = '__main__' :
main_axes = add_math_background()
add_polar_bar()
add_matplotlib_text(main_axes)
plt.show()
|
时间关系,具体注释先不加了,有不明白的可以留言交流讨论。
总结
以上就是本文关于Python使用Matplotlib实现Logos设计代码的全部内容,希望对大家有所帮助。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:https://matplotlib.org/gallery/api/logos2.html#sphx-glr-gallery-api-logos2-py