收藏 分享(赏)

python图形绘制源代码.doc

上传人:cjc2202537 文档编号:1053056 上传时间:2018-06-08 格式:DOC 页数:27 大小:1.17MB
下载 相关 举报
python图形绘制源代码.doc_第1页
第1页 / 共27页
python图形绘制源代码.doc_第2页
第2页 / 共27页
python图形绘制源代码.doc_第3页
第3页 / 共27页
python图形绘制源代码.doc_第4页
第4页 / 共27页
python图形绘制源代码.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、饼图import matplotlib.pyplot as plt# Pie chart, where the slices will be ordered and plotted counter-clockwise:labels = Frogs, Hogs, Dogs, Logssizes = 15, 30, 45, 10explode = (0, 0.1, 0, 0) # only “explode“ the 2nd slice (i.e. Hogs)fig1, ax1 = plt.subplots()ax1.pie(sizes, explode=explode, labels=label

2、s, autopct=%1.1f%,shadow=True, startangle=90)ax1.axis(equal) # Equal aspect ratio ensures that pie is drawn as a circle.plt.show()条形图 1import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.ticker import MaxNLocatorfrom collections import namedtuplen_groups = 5means_men = (20, 35, 30, 35,

3、27)std_men = (2, 3, 4, 1, 2)means_women = (25, 32, 34, 20, 25)std_women = (3, 5, 2, 3, 3)fig, ax = plt.subplots()index = np.arange(n_groups)bar_width = 0.35opacity = 0.4error_config = ecolor: 0.3rects1 = ax.bar(index, means_men, bar_width,alpha=opacity, color=b,yerr=std_men, error_kw=error_config,la

4、bel=Men)rects2 = ax.bar(index + bar_width, means_women, bar_width,alpha=opacity, color=r,yerr=std_women, error_kw=error_config,label=Women)ax.set_xlabel(Group)ax.set_ylabel(Scores)ax.set_title(Scores by group and gender)ax.set_xticks(index + bar_width / 2)ax.set_xticklabels(A, B, C, D, E)ax.legend()

5、fig.tight_layout()plt.show()表格图import numpy as npimport matplotlib.pyplot as pltdata = 66386, 174296, 75131, 577908, 32015, 58230, 381139, 78045, 99308, 160454, 89135, 80552, 152558, 497981, 603535, 78415, 81858, 150656, 193263, 69638,139361, 331509, 343164, 781380, 52269columns = (Freeze, Wind, Flo

6、od, Quake, Hail)rows = %d year % x for x in (100, 50, 20, 10, 5)values = np.arange(0, 2500, 500)value_increment = 1000# Get some pastel shades for the colorscolors = plt.cm.BuPu(np.linspace(0, 0.5, len(rows)n_rows = len(data)index = np.arange(len(columns) + 0.3bar_width = 0.4# Initialize the vertica

7、l-offset for the stacked bar chart.y_offset = np.zeros(len(columns)# Plot bars and create text labels for the tablecell_text = for row in range(n_rows):plt.bar(index, datarow, bar_width, bottom=y_offset, color=colorsrow)y_offset = y_offset + datarowcell_text.append(%1.1f % (x / 1000.0) for x in y_of

8、fset)# Reverse colors and text labels to display the last value at the top.colors = colors:-1cell_text.reverse()# Add a table at the bottom of the axesthe_table = plt.table(cellText=cell_text,rowLabels=rows,rowColours=colors,colLabels=columns,loc=bottom)# Adjust layout to make room for the table:plt

9、.subplots_adjust(left=0.2, bottom=0.2)plt.ylabel(“Loss in $0s“.format(value_increment)plt.yticks(values * value_increment, %d % val for val in values)plt.xticks()plt.title(Loss by Disaster)plt.show()散点图import numpy as npimport matplotlib.pyplot as pltimport matplotlib.cbook as cbook# Load a numpy re

10、cord array from yahoo csv data with fields date, open, close,# volume, adj_close from the mpl-data/example directory. The record array# stores the date as an np.datetime64 with a day unit (D) in the date column.with cbook.get_sample_data(goog.npz) as datafile:price_data = np.load(datafile)price_data

11、.view(np.recarray)price_data = price_data-250: # get the most recent 250 trading daysdelta1 = np.diff(price_data.adj_close) / price_data.adj_close:-1# Marker size in units of points2volume = (15 * price_data.volume:-2 / price_data.volume0)*2close = 0.003 * price_data.close:-2 / 0.003 * price_data.op

12、en:-2fig, ax = plt.subplots()ax.scatter(delta1:-1, delta11:, c=close, s=volume, alpha=0.5)ax.set_xlabel(r$Delta_i$, fontsize=15)ax.set_ylabel(r$Delta_i+1$, fontsize=15)ax.set_title(Volume and percent change)ax.grid(True)fig.tight_layout()plt.show()平滑图import numpy as npimport matplotlib.pyplot as plt

13、from matplotlib.widgets import Slider, Button, RadioButtonsfig, ax = plt.subplots()plt.subplots_adjust(left=0.25, bottom=0.25)t = np.arange(0.0, 1.0, 0.001)a0 = 5f0 = 3delta_f = 5.0s = a0*np.sin(2*np.pi*f0*t)l, = plt.plot(t, s, lw=2, color=red)plt.axis(0, 1, -10, 10)axcolor = lightgoldenrodyellowaxf

14、req = plt.axes(0.25, 0.1, 0.65, 0.03, facecolor=axcolor)axamp = plt.axes(0.25, 0.15, 0.65, 0.03, facecolor=axcolor)sfreq = Slider(axfreq, Freq, 0.1, 30.0, valinit=f0, valstep=delta_f)samp = Slider(axamp, Amp, 0.1, 10.0, valinit=a0)def update(val):amp = samp.valfreq = sfreq.vall.set_ydata(amp*np.sin(

15、2*np.pi*freq*t)fig.canvas.draw_idle()sfreq.on_changed(update)samp.on_changed(update)resetax = plt.axes(0.8, 0.025, 0.1, 0.04)button = Button(resetax, Reset, color=axcolor, hovercolor=0.975)def reset(event):sfreq.reset()samp.reset()button.on_clicked(reset)rax = plt.axes(0.025, 0.5, 0.15, 0.15, faceco

16、lor=axcolor)radio = RadioButtons(rax, (red, blue, green), active=0)def colorfunc(label):l.set_color(label)fig.canvas.draw_idle()radio.on_clicked(colorfunc)plt.show()数据打钩标签图import datetimeimport numpy as npimport matplotlib.pyplot as pltimport matplotlib.dates as mdatesimport matplotlib.cbook as cboo

17、kyears = mdates.YearLocator() # every yearmonths = mdates.MonthLocator() # every monthyearsFmt = mdates.DateFormatter(%Y)# Load a numpy record array from yahoo csv data with fields date, open, close,# volume, adj_close from the mpl-data/example directory. The record array# stores the date as an np.d

18、atetime64 with a day unit (D) in the date column.with cbook.get_sample_data(goog.npz) as datafile:r = np.load(datafile)price_data.view(np.recarray)fig, ax = plt.subplots()ax.plot(r.date, r.adj_close)# format the ticksax.xaxis.set_major_locator(years)ax.xaxis.set_major_formatter(yearsFmt)ax.xaxis.set

19、_minor_locator(months)# round to nearest years.datemin = np.datetime64(r.date0, Y)datemax = np.datetime64(r.date-1, Y) + np.timedelta64(1, Y)ax.set_xlim(datemin, datemax)# format the coords message boxdef price(x):return $%1.2f % xax.format_xdata = mdates.DateFormatter(%Y-%m-%d)ax.format_ydata = pri

20、ceax.grid(True)# rotates and right aligns the x labels, and moves the bottom of the# axes up to make room for themfig.autofmt_xdate()plt.show()使用预定义标签的图例import numpy as npimport matplotlib.pyplot as plt# Make some fake data.a = b = np.arange(0, 3, .02)c = np.exp(a)d = c:-1# Create plots with pre-def

21、ined labels.fig, ax = plt.subplots()ax.plot(a, c, k-, label=Model length)ax.plot(a, d, k:, label=Data length)ax.plot(a, c + d, k, label=Total message length)legend = ax.legend(loc=upper center, shadow=True, fontsize=x-large)# Put a nicer background color on the legend.legend.get_frame().set_facecolo

22、r(#00FFCC)plt.show()数学公式编辑图from _future_ import print_functionimport matplotlib.pyplot as pltimport subprocessimport sysimport reimport gc# Selection of features following “Writing mathematical expressions“ tutorialmathtext_titles = 0: “Header demo“,1: “Subscripts and superscripts“,2: “Fractions, bi

23、nomials and stacked numbers“,3: “Radicals“,4: “Fonts“,5: “Accents“,6: “Greek, Hebrew“,7: “Delimiters, functions and Symbols“n_lines = len(mathtext_titles)# Randomly picked examplesmathext_demos = 0: r“$W3beta_delta_1 rho_1 sigma_2 = “r“U3beta_delta_1 rho_1 + frac18 pi 2 “r“intalpha_2_alpha_2 d alpha

24、prime_2 leftfrac “r“U2beta_delta_1 rho_1 - alphaprime_2U1beta_“r“rho_1 sigma_2 U0beta_rho_1 sigma_2right$“,1: r“$alpha_i beta_i, “r“alpha_i+1j = rm sin(2pi f_j t_i) e-5 t_i/tau, “r“ldots$“,2: r“$frac34, binom34, stackrel34, “r“left(frac5 - frac1x4right), ldots$“,3: r“$sqrt2, sqrt3x, ldots$“,4: r“$ma

25、thrmRoman , mathitItalic , mathttTypewriter “r“mathrmor mathcalCALLIGRAPHY$“,5: r“$acute a, bar a, breve a, dot a, ddot a, grave a, “r“hat a, tilde a, vec a, widehatxyz, widetildexyz, “r“ldots$“,6: r“$alpha, beta, chi, delta, lambda, mu, “r“Delta, Gamma, Omega, Phi, Pi, Upsilon, nabla, “r“aleph, bet

26、h, daleth, gimel, ldots$“,7: r“$coprod, int, oint, prod, sum, “r“log, sin, approx, oplus, star, varpropto, “r“infty, partial, Re, leftrightsquigarrow, ldots$“def doall():# Colors used in mpl online documentation.mpl_blue_rvb = (191. / 255., 209. / 256., 212. / 255.)mpl_orange_rvb = (202. / 255., 121

27、. / 256., 0. / 255.)mpl_grey_rvb = (51. / 255., 51. / 255., 51. / 255.)# Creating figure and axis.plt.figure(figsize=(6, 7)plt.axes(0.01, 0.01, 0.98, 0.90, facecolor=“white“, frameon=True)plt.gca().set_xlim(0., 1.)plt.gca().set_ylim(0., 1.)plt.gca().set_title(“Matplotlibs math rendering engine“,colo

28、r=mpl_grey_rvb, fontsize=14, weight=bold)plt.gca().set_xticklabels(“, visible=False)plt.gca().set_yticklabels(“, visible=False)# Gap between lines in axes coordsline_axesfrac = (1. / (n_lines)# Plotting header demonstration formulafull_demo = mathext_demos0plt.annotate(full_demo,xy=(0.5, 1. - 0.59 *

29、 line_axesfrac),xycoords=data, color=mpl_orange_rvb, ha=center,fontsize=20)# Plotting features demonstration formulaefor i_line in range(1, n_lines):baseline = 1 - (i_line) * line_axesfracbaseline_next = baseline - line_axesfractitle = mathtext_titlesi_line + “:“fill_color = white, mpl_blue_rvbi_lin

30、e % 2plt.fill_between(0., 1., baseline, baseline,baseline_next, baseline_next,color=fill_color, alpha=0.5)plt.annotate(title,xy=(0.07, baseline - 0.3 * line_axesfrac),xycoords=data, color=mpl_grey_rvb, weight=bold)demo = mathext_demosi_lineplt.annotate(demo,xy=(0.05, baseline - 0.75 * line_axesfrac)

31、,xycoords=data, color=mpl_grey_rvb,fontsize=16)for i in range(n_lines):s = mathext_demosiprint(i, s)plt.show()if -latex in sys.argv:# Run: python mathtext_examples.py -latex# Need amsmath and amssymb packages.fd = open(“mathtext_examples.ltx“, “w“)fd.write(“documentclassarticlen“)fd.write(“usepackageamsmath, amssymbn“)fd.write(“begindocumentn“)fd.write(“beginenumeraten“)for i in range(n_lines):s = mathext_demosis = re.sub(r“(?!)$“, “$“, s)fd.write(“item %sn“ % s)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报