Python数据可视化之matplotlib实践 源码 第二篇 精进 第五章

爷,独闯天下 提交于 2020-08-12 17:09:09

图 5.1

 

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import AutoMinorLocator, MultipleLocator, FuncFormatter


x=np.linspace(0.5, 3.5, 100)
y=np.sin(x)


fig=plt.figure(figsize=(8, 8))
ax=fig.add_subplot(111)


ax.xaxis.set_major_locator(MultipleLocator(1.0))
ax.yaxis.set_major_locator(MultipleLocator(1.0))


ax.xaxis.set_minor_locator(AutoMinorLocator(4))
ax.yaxis.set_minor_locator(AutoMinorLocator(4))


def minor_tick(x, pos):
    if not x%1.0:
        return ""
    return "%.2f"%x
ax.xaxis.set_minor_formatter(FuncFormatter(minor_tick))


ax.tick_params("y", which='major',length=15, width=2.0, colors='r')

ax.tick_params(which='minor', length=5, width=1.0, labelsize=10, labelcolor='0.25')


ax.set_xlim(0, 4)
ax.set_ylim(0, 2)




ax.plot(x, y, c=(0.25, 0.25, 1.00), lw=2, zorder=10)
# ax.plot(x, y, c=(0.25, 0.25, 1.00), lw=2, zorder=0)


ax.grid(linestyle='-', linewidth=0.5, color='r', zorder=0)
# ax.grid(linestyle='-', linewidth=0.5, color='r', zorder=10)
# ax.grid(linestyle='--', linewidth=0.5, color='0.25', zorder=0)



plt.show()
View Code

 

-------------------------------------------------------------------------------------

 图 5.2

import matplotlib.pyplot as plt
import numpy as np

fig=plt.figure(facecolor=(1.0, 1.0, 0.9412))

ax=fig.add_axes([0.1, 0.4, 0.5, 0.5])


for ticklabel in ax.xaxis.get_ticklabels():
    ticklabel.set_color("slateblue")
    ticklabel.set_fontsize(18)
    ticklabel.set_rotation(30)

for ticklabel in ax.yaxis.get_ticklabels():
    ticklabel.set_color("lightgreen")
    ticklabel.set_fontsize(20)
    ticklabel.set_rotation(2)

plt.show()
View Code

 

-------------------------------------------------------------------------------------

图 5.3

 

 

import matplotlib.pyplot as plt
import numpy as np

from calendar import month_name, day_name
from matplotlib.ticker import FormatStrFormatter


fig=plt.figure()

ax=fig.add_axes([0.2, 0.2, 0.7, 0.7])

x=np.arange(1, 8, 1)
y=2*x

ax.plot(x, y, ls='-', lw=2, color='orange', marker='o', 
                                    ms=20, mfc='c', mec='r')

ax.yaxis.set_major_formatter(FormatStrFormatter(r"$\yen%1.1f$"))

plt.xticks(x, day_name[0:7], rotation=20)


ax.set_xlim(0, 8)
ax.set_ylim(0, 18)


plt.show()
View Code

 

-------------------------------------------------------------------------------------

 

图 5.4

 

 

 

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(0.5, 3.5, 100)
y=np.sin(x)

fig=plt.figure(figsize=(8, 8))
ax=fig.add_subplot(111)


ax.plot(x, y, c='b', ls='-', lw=2)

ax.annotate("maximum", xy=(np.pi/2, 1.0), xycoords='data', 
            xytext=((np.pi/2)+0.15, 0.8), textcoords="data", 
            weight="bold", color='r', 
            arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='r'))


ax.text(2.8, 0.4, "$y=\sin(x)$", fontsize=20, color='b', 
               bbox=dict(facecolor='y', alpha=0.5))

plt.show()
View Code

 

-------------------------------------------------------------------------------------

 

图 5.5

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!