matplotlib 颜色、字体控制

1 matplotlib.cm (cmap) 颜色查看1.1 cmap可选项1.2 画图显示1.2.1 代码1.2.2 结果

2 color字体大小

1 matplotlib.cm (cmap) 颜色查看

画带色条的图时对比所使用到的色彩

1.1 cmap可选项

Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia, Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r, afmhot, afmhot_r, autumn, autumn_r, binary, binary_r, bone, bone_r, brg, brg_r, bwr, bwr_r, cividis, cividis_r, cool, cool_r, coolwarm, coolwarm_r, copper, copper_r, cubehelix, cubehelix_r, flag, flag_r, gist_earth, gist_earth_r, gist_gray, gist_gray_r, gist_heat, gist_heat_r, gist_ncar, gist_ncar_r, gist_rainbow, gist_rainbow_r, gist_stern, gist_stern_r, gist_yarg, gist_yarg_r, gnuplot, gnuplot2, gnuplot2_r, gnuplot_r, gray, gray_r, hot, hot_r, hsv, hsv_r, inferno, inferno_r, jet, jet_r, magma, magma_r, nipy_spectral, nipy_spectral_r, ocean, ocean_r, pink, pink_r, plasma, plasma_r, prism, prism_r, rainbow, rainbow_r, seismic, seismic_r, spring, spring_r, summer, summer_r, tab10, tab10_r, tab20, tab20_r, tab20b, tab20b_r, tab20c, tab20c_r, terrain, terrain_r, viridis, viridis_r, winter, winter_r

1.2 画图显示

1.2.1 代码

import matplotlib, os

import matplotlib.pyplot as plt

def cmaps():

# 通过 matplotlib.cm.__dir__() 查看

cmaps_list = str('Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia, Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r, afmhot, afmhot_r, autumn, autumn_r, binary, binary_r, bone, bone_r, brg, brg_r, bwr, bwr_r, cividis, cividis_r, cool, cool_r, coolwarm, coolwarm_r, copper, copper_r, cubehelix, cubehelix_r, flag, flag_r, gist_earth, gist_earth_r, gist_gray, gist_gray_r, gist_heat, gist_heat_r, gist_ncar, gist_ncar_r, gist_rainbow, gist_rainbow_r, gist_stern, gist_stern_r, gist_yarg, gist_yarg_r, gnuplot, gnuplot2, gnuplot2_r, gnuplot_r, gray, gray_r, hot, hot_r, hsv, hsv_r, inferno, inferno_r, jet, jet_r, magma, magma_r, nipy_spectral, nipy_spectral_r, ocean, ocean_r, pink, pink_r, plasma, plasma_r, prism, prism_r, rainbow, rainbow_r, seismic, seismic_r, spring, spring_r, summer, summer_r, tab10, tab10_r, tab20, tab20_r, tab20b, tab20b_r, tab20c, tab20c_r, terrain, terrain_r, viridis, viridis_r, winter, winter_r').split(', ')

# 构造数据集

X = np.arange(-5, 5, 0.25)

Y = np.arange(-5, 5, 0.25)

X, Y = np.meshgrid(X, Y)

R = np.sqrt(X**2 + Y**2)

Z = np.sin(R)

# 遍历

for cmp in cmaps_list:

fig, ax = plt.subplots(subplot_kw={"projection": "3d"})

surf = ax.plot_surface(X, Y, Z, cmap=cmp, linewidth=0, antialiased=False)

ax.set_zlim(-1.01, 1.01)

ax.zaxis.set_major_locator(LinearLocator(10))

ax.zaxis.set_major_formatter('{x:.02f}')

# 添加一个将值映射到颜色的颜色条

fig.colorbar(surf, shrink=0.5, aspect=5)

# 保存图片

path = './{}/{}'.format(os.path.basename(__file__).split('.')[0], inspect.stack()[0][3])

os.makedirs(path, exist_ok=True)

plt.savefig('{}/{}.png'.format(path, cmp))

plt.close()

if __name__ == '__main__':

cmaps()

1.2.2 结果

用cmap每个可选项命名图片(点击图片查看原图)

2 color

颜色选择不是只有red、green这些,以下都可以用。

"""

========================

Visualizing named colors

========================

Simple plot example with the named colors and its visual representation.

"""

from __future__ import division

import matplotlib.pyplot as plt

from matplotlib import colors as mcolors

colors = dict(mcolors.BASE_COLORS, **mcolors.CSS4_COLORS)

# Sort colors by hue, saturation, value and name.

by_hsv = sorted((tuple(mcolors.rgb_to_hsv(mcolors.to_rgba(color)[:3])), name)

for name, color in colors.items())

sorted_names = [name for hsv, name in by_hsv]

n = len(sorted_names)

ncols = 4

nrows = n // ncols + 1

fig, ax = plt.subplots(figsize=(8, 5))

# Get height and width

X, Y = fig.get_dpi() * fig.get_size_inches()

h = Y / (nrows + 1)

w = X / ncols

for i, name in enumerate(sorted_names):

col = i % ncols

row = i // ncols

y = Y - (row * h) - h

xi_line = w * (col + 0.05)

xf_line = w * (col + 0.25)

xi_text = w * (col + 0.3)

ax.text(xi_text, y, name, fontsize=(h * 0.8),

horizontalalignment='left',

verticalalignment='center')

ax.hlines(y + h * 0.1, xi_line, xf_line,

color=colors[name], linewidth=(h * 0.6))

ax.set_xlim(0, X)

ax.set_ylim(0, Y)

ax.set_axis_off()

fig.subplots_adjust(left=0, right=1,

top=1, bottom=0,

hspace=0, wspace=0)

plt.show()

字体大小

使用固定画板大小画图时,希望把字体放大,但字体变大的同时图像也在变大

import matplotlib.pyplot as plt

plt.figure(figsize=(6.4, 4.8))

也就是图片中的内容和图片的相对值几乎不变。可以试试

# plt.rcParams["figure.figsize"] = [6.4, 4.8]

plt.rcParams["figure.autolayout"] = True

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: