使用matplotlib自带的几种美化样式,就可以很轻松的对生成的图形进行美化。

可以使用matplotlib.pyplot.style.available获取所有的美化样式

#!/usr/bin/python

#coding: utf-8

import numpy as np

import matplotlib.pyplot as plt

# 获取所有的自带样式

print plt.style.available

# 使用自带的样式进行美化

plt.style.use("ggplot")

fig, axes = plt.subplots(ncols = 2, nrows = 2)

# 四个子图的坐标轴赋予四个对象

ax1, ax2, ax3, ax4 = axes.ravel()

x, y = np.random.normal(size = (2, 100))

ax1.plot(x, y, "o")

x = np.arange(1, 10)

y = np.arange(1, 10)

# plt.rcParams['axes.prop_cycle']获取颜色的字典

# 会在这个范围内依次循环

ncolors = len(plt.rcParams['axes.prop_cycle'])

# print ncolors

# print plt.rcParams['axes.prop_cycle']

shift = np.linspace(1, 20, ncolors)

for s in shift:

# print s

ax2.plot(x, y + s, "-")

x = np.arange(5)

y1, y2, y3 = np.random.randint(1, 25, size = (3, 5))

width = 0.25

# 柱状图中要显式的指定颜色

ax3.bar(x, y1, width, color = "r")

ax3.bar(x + width, y2, width, color = "g")

ax3.bar(x + 2 * width, y3, width, color = "y")

for i, color in enumerate(plt.rcParams['axes.prop_cycle']):

xy = np.random.normal(size= 2)

for c in color.values():

ax4.add_patch(plt.Circle(xy, radius = 0.3, color= c))

ax4.axis("equal")

plt.show()

使用ggplot进行美化后的结果

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐