精华内容
下载资源
问答
  • 版权声明:。 https://blog.csdn.net/weixin_43778797/article/details/90243223importturtlesize=10line=40#拿出笔pen=turtle.Pen()pen.pensize(size)pen.pencolor("blue")turtle.tracer(False)#不跟踪动画pe...

    版权声明:。          https://blog.csdn.net/weixin_43778797/article/details/90243223

    import turtle

    size = 10

    line = 40

    # 拿出笔

    pen = turtle.Pen()

    pen.pensize(size)

    pen.pencolor("blue")

    turtle.tracer(False)  # 不跟踪动画

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.left(90)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.left(90)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.left(90)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.left(90)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.left(90)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.hideturtle() #隐藏

    turtle.tracer(True)  # 回复效果

    turtle.done() #结束

    展开全文
  • pen.forward(size) pen.pendown() pen.forward(line) pen.penup() pen.forward(size) pen.pendown() pen.hideturtle() #隐藏 turtle.tracer(True) # 回复效果 turtle.done() #结束 标签:数字,penup,Python,...

    import turtle

    size = 10

    line = 40

    # 拿出笔

    pen = turtle.Pen()

    pen.pensize(size)

    pen.pencolor("blue")

    turtle.tracer(False) # 不跟踪动画

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.left(90)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.left(90)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.left(90)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.left(90)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.left(90)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.forward(line)

    pen.penup()

    pen.forward(size)

    pen.pendown()

    pen.hideturtle() #隐藏

    turtle.tracer(True) # 回复效果

    turtle.done() #结束

    标签:数字,penup,Python,pendown,pen,数码,forward,line,size

    展开全文
  • 比较七个在 Python 中绘图的库和 API,看看哪个最能满足你的需求。“如何在 Python 中绘图?”曾经这个问题有一个简单的答案:Matplotlib 是唯一的办法。如今,Python 作为数据科学的语言,有着更多的选择。你应该用...

    比较七个在 Python 中绘图的库和 API,看看哪个最能满足你的需求。

    “如何在 Python 中绘图?”曾经这个问题有一个简单的答案:Matplotlib 是唯一的办法。如今,Python 作为数据科学的语言,有着更多的选择。你应该用什么呢?

    本指南将帮助你决定。

    它将向你展示如何使用四个最流行的 Python 绘图库:Matplotlib、Seaborn、Plotly 和 Bokeh,再加上两个值得考虑的优秀的后起之秀:Altair,拥有丰富的 API;Pygal,拥有漂亮的 SVG 输出。我还会看看 Pandas 提供的非常方便的绘图 API。

    对于每一个库,我都包含了源代码片段,以及一个使用 Anvil 的完整的基于 Web 的例子。Anvil 是我们的平台,除了 Python 之外,什么都不用做就可以构建网络应用。让我们一起来看看。

    示例绘图

    每个库都采取了稍微不同的方法来绘制数据。为了比较它们,我将用每个库绘制同样的图,并给你展示源代码。对于示例数据,我选择了这张 1966 年以来英国大选结果的分组柱状图。

    我从维基百科上整理了英国选举史的数据集:从 1966 年到 2019 年,保守党、工党和自由党(广义)在每次选举中赢得的英国议会席位数,加上“其他”赢得的席位数。你可以以 CSV 文件格式下载它。

    Matplotlib

    Matplotlib 是最古老的 Python 绘图库,现在仍然是最流行的。它创建于 2003 年,是 SciPy Stack 的一部分,SciPy Stack 是一个类似于 Matlab 的开源科学计算库。

    Matplotlib 为你提供了对绘制的精确控制。例如,你可以在你的条形图中定义每个条形图的单独的 X 位置。下面是绘制这个图表的代码(你可以在这里运行):

    import matplotlib.pyplot as plt

    import numpy as np

    from votes import wide as df

    # Initialise a figure. subplots() with no args gives one plot.

    fig, ax = plt.subplots()

    # A little data preparation

    years = df['year']

    x = np.arange(len(years))

    # Plot each bar plot. Note: manually calculating the 'dodges' of the bars

    ax.bar(x - 3*width/2, df['conservative'], width, label='Conservative', color='#0343df')

    ax.bar(x - width/2, df['labour'], width, label='Labour', color='#e50000')

    ax.bar(x + width/2, df['liberal'], width, label='Liberal', color='#ffff14')

    ax.bar(x + 3*width/2, df['others'], width, label='Others', color='#929591')

    # Customise some display properties

    ax.set_ylabel('Seats')

    ax.set_title('UK election results')

    ax.set_xticks(x) # This ensures we have one tick per year, otherwise we get fewer

    ax.set_xticklabels(years.astype(str).values, rotation='vertical')

    ax.legend()

    # Ask Matplotlib to show the plot

    plt.show()

    这是用 Matplotlib 绘制的选举结果:

    Seaborn

    Seaborn 是 Matplotlib 之上的一个抽象层;它提供了一个非常整洁的界面,让你可以非常容易地制作出各种类型的有用绘图。

    不过,它并没有在能力上有所妥协!Seaborn 提供了访问底层 Matplotlib 对象的逃生舱口,所以你仍然可以进行完全控制。

    Seaborn 的代码比原始的 Matplotlib 更简单(可在此处运行):

    import seaborn as sns

    from votes import long as df

    # Some boilerplate to initialise things

    sns.set()

    plt.figure()

    # This is where the actual plot gets made

    ax = sns.barplot(data=df, x="year", y="seats", hue="party", palette=['blue', 'red', 'yellow', 'grey'], saturation=0.6)

    # Customise some display properties

    ax.set_title('UK election results')

    ax.grid(color='#cccccc')

    ax.set_ylabel('Seats')

    ax.set_xlabel(None)

    ax.set_xticklabels(df["year"].unique().astype(str), rotation='vertical')

    # Ask Matplotlib to show it

    plt.show()

    并生成这样的图表:

    Plotly

    Plotly 是一个绘图生态系统,它包括一个 Python 绘图库。它有三个不同的接口:

    一个面向对象的接口。

    一个命令式接口,允许你使用类似 JSON 的数据结构来指定你的绘图。

    类似于 Seaborn 的高级接口,称为 Plotly Express。

    Plotly 绘图被设计成嵌入到 Web 应用程序中。Plotly 的核心其实是一个 JavaScript 库!它使用 D3 和 stack.gl 来绘制图表。

    你可以通过向该 JavaScript 库传递 JSON 来构建其他语言的 Plotly 库。官方的 Python 和 R 库就是这样做的。在 Anvil,我们将 Python Plotly API 移植到了 Web 浏览器中运行。

    这是使用 Plotly 的源代码(你可以在这里运行):

    import plotly.graph_objects as go

    from votes import wide as df

    # Get a convenient list of x-values

    years = df['year']

    x = list(range(len(years)))

    # Specify the plots

    bar_plots = [

    go.Bar(x=x, y=df['conservative'], name='Conservative', marker=go.bar.Marker(color='#0343df')),

    go.Bar(x=x, y=df['labour'], name='Labour', marker=go.bar.Marker(color='#e50000')),

    go.Bar(x=x, y=df['liberal'], name='Liberal', marker=go.bar.Marker(color='#ffff14')),

    go.Bar(x=x, y=df['others'], name='Others', marker=go.bar.Marker(color='#929591')),

    ]

    # Customise some display properties

    layout = go.Layout(

    title=go.layout.Title(text="Election results", x=0.5),

    yaxis_title="Seats",

    xaxis_tickmode="array",

    xaxis_tickvals=list(range(27)),

    xaxis_ticktext=tuple(df['year'].values),

    )

    # Make the multi-bar plot

    fig = go.Figure(data=bar_plots, layout=layout)

    # Tell Plotly to render it

    fig.show()

    选举结果图表:

    Bokeh

    Bokeh(发音为 “BOE-kay”)擅长构建交互式绘图,所以这个标准的例子并没有将其展现其最好的一面。和 Plotly 一样,Bokeh 的绘图也是为了嵌入到 Web 应用中,它以 HTML 文件的形式输出绘图。

    下面是使用 Bokeh 的代码(你可以在这里运行):

    from bokeh.io import show, output_file

    from bokeh.models import ColumnDataSource, FactorRange, HoverTool

    from bokeh.plotting import figure

    from bokeh.transform import factor_cmap

    from votes import long as df

    # Specify a file to write the plot to

    output_file("elections.html")

    # Tuples of groups (year, party)

    x = [(str(r[1]['year']), r[1]['party']) for r in df.iterrows()]

    y = df['seats']

    # Bokeh wraps your data in its own objects to support interactivity

    source = ColumnDataSource(data=dict(x=x, y=y))

    # Create a colourmap

    cmap = {

    'Conservative': '#0343df',

    'Labour': '#e50000',

    'Liberal': '#ffff14',

    'Others': '#929591',

    }

    fill_color = factor_cmap('x', palette=list(cmap.values()), factors=list(cmap.keys()), start=1, end=2)

    # Make the plot

    p = figure(x_range=FactorRange(*x), width=1200, title="Election results")

    p.vbar(x='x', top='y', width=0.9, source=source, fill_color=fill_color, line_color=fill_color)

    # Customise some display properties

    p.y_range.start = 0

    p.x_range.range_padding = 0.1

    p.yaxis.axis_label = 'Seats'

    p.xaxis.major_label_orientation = 1

    p.xgrid.grid_line_color = None

    图表如下:

    Altair

    Altair 是基于一种名为 Vega 的声明式绘图语言(或“可视化语法”)。这意味着它具有经过深思熟虑的 API,可以很好地扩展复杂的绘图,使你不至于在嵌套循环的地狱中迷失方向。

    与 Bokeh 一样,Altair 将其图形输出为 HTML 文件。这是代码(你可以在这里运行):

    import altair as alt

    from votes import long as df

    # Set up the colourmap

    cmap = {

    'Conservative': '#0343df',

    'Labour': '#e50000',

    'Liberal': '#ffff14',

    'Others': '#929591',

    }

    # Cast years to strings

    df['year'] = df['year'].astype(str)

    # Here's where we make the plot

    chart = alt.Chart(df).mark_bar().encode(

    x=alt.X('party', title=None),

    y='seats',

    column=alt.Column('year', sort=list(df['year']), title=None),

    color=alt.Color('party', scale=alt.Scale(domain=list(cmap.keys()), range=list(cmap.values())))

    )

    # Save it as an HTML file.

    chart.save('altair-elections.html')

    结果图表:

    Pygal

    Pygal 专注于视觉外观。它默认生成 SVG 图,所以你可以无限放大它们或打印出来,而不会被像素化。Pygal 绘图还内置了一些很好的交互性功能,如果你想在 Web 应用中嵌入绘图,Pygal 是另一个被低估了的候选者。

    代码是这样的(你可以在这里运行它):

    import pygal

    from pygal.style import Style

    from votes import wide as df

    # Define the style

    custom_style = Style(

    colors=('#0343df', '#e50000', '#ffff14', '#929591')

    font_family='Roboto,Helvetica,Arial,sans-serif',

    background='transparent',

    label_font_size=14,

    )

    # Set up the bar plot, ready for data

    c = pygal.Bar(

    title="UK Election Results",

    style=custom_style,

    y_title='Seats',

    width=1200,

    x_label_rotation=270,

    )

    # Add four data sets to the bar plot

    c.add('Conservative', df['conservative'])

    c.add('Labour', df['labour'])

    c.add('Liberal', df['liberal'])

    c.add('Others', df['others'])

    # Define the X-labels

    c.x_labels = df['year']

    # Write this to an SVG file

    c.render_to_file('pygal.svg')

    绘制结果:

    Pandas

    Pandas 是 Python 的一个极其流行的数据科学库。它允许你做各种可扩展的数据处理,但它也有一个方便的绘图 API。因为它直接在数据帧上操作,所以 Pandas 的例子是本文中最简洁的代码片段,甚至比 Seaborn 的代码还要短!

    Pandas API 是 Matplotlib 的一个封装器,所以你也可以使用底层的 Matplotlib API 来对你的绘图进行精细的控制。

    这是 Pandas 中的选举结果图表。代码精美简洁!

    from matplotlib.colors import ListedColormap

    from votes import wide as df

    cmap = ListedColormap(['#0343df', '#e50000', '#ffff14', '#929591'])

    ax = df.plot.bar(x='year', colormap=cmap)

    ax.set_xlabel(None)

    ax.set_ylabel('Seats')

    ax.set_title('UK election results')

    plt.show()

    绘图结果:

    要运行这个例子,请看这里。

    以你的方式绘制

    Python 提供了许多绘制数据的方法,无需太多的代码。虽然你可以通过这些方法快速开始创建你的绘图,但它们确实需要一些本地配置。如果需要,Anvil 为 Python 开发提供了精美的 Web 体验。祝你绘制愉快!

    本文由 LCTT 原创编译,Linux中国 荣誉推出

    展开全文
  • 自己尝试写了一个生成手写体图片的python程序,在此分享下生成单张 30*30像素的手写体数字1-9图像 的一种实现方法;我是利用random生成随机数1-9,然后PIL写到图像上,然后经过旋转、扭曲处理,得到“手写体”,这里...

    0.引言

    平时上网干啥的基本上都会接触验证码,或者在机器学习学习过程中,大家或许会接触过手写体识别/验证码识别之类问题,会用到手写体的数据集;

    自己尝试写了一个生成手写体图片的python程序,在此分享下生成单张 30*30像素的手写体数字1-9图像 的一种实现方法;

    我是利用random生成随机数1-9,然后PIL写到图像上,然后经过旋转、扭曲处理,得到“手写体”,这里没有加干扰线和干扰点;

    得到的手写体数字图像如图1所示;

    实现比较简单,用了PIL库,不需要额外安装opencv啥的,有兴趣可以自己试试。

    图1 生成的手写体数字1-9

    图2 利用generate_pngs.py写入到文件夹3的数字3图像

    如果你想生成手写体的字母/汉字也可以:

    图3 利用generate_single_png.py生成汉字的手写体

    1.设计流程

    图4 整体设计流程

    图5 生成的图像经过的处理

    1.1 新建一个空白图像img_50,尺寸大小为50*50

    img_50_blank = Image.new('RGB', (50, 50), (255, 255, 255))

    为什么我这里要先生成50*50的空白图像?

    因为图像背景(50*50像素的画布)初始化的时候设置为白色(颜色数组(255, 255, 255)),而背景色之外的其实是黑色;

    之后需要进行旋转处理,如果直接新建30*30像素的画布,旋转之后边上会出现黑边,如图6所示;

    所以我新建了一个50*50,然后旋转之后从中间裁出来一个30*30的图像出来;

    图6 直接用30*30像素的画布写字旋转(会出现黑边)

    1.2 利用PIL在图像上写文字

    利用PIL的ImageDraw,创建画笔,然后利用draw.text在指定位置写字;

    xy=(18,11)是从图像左上角开始的坐标,取值自己根据需求调整;

    # 创建画笔

    draw = ImageDraw.Draw(img_50_blank)

    # 生成随机数1-9

    num = str(random.randint(1, 9))

    # 设置字体,这里选取字体大小25

    font = ImageFont.truetype('simsun.ttc', 20)

    # xy是左上角开始的位置坐标

    draw.text(xy=(18, 11), font=font, text=num, fill=(0, 0, 0))

    1.3 将图像随机旋转一定角度

    利用 rotate(angel) 进行旋转图像,angel取的是度数,这里让它随机旋转-10到+10度:

    # 随机旋转-10-10角度

    random_angle = random.randint(-10, 10)

    img_50_rotated = img_50_blank.rotate(random_angle)

    1.4 图像扭曲

    这里是生成“手写体”数字的核心步骤,一个正常的图像经过扭曲之后就可以得到想要的验证码了:

    # 图形扭曲参数

    params = [1 - float(random.randint(1, 2)) / 100,

    0,

    0,

    0,

    1 - float(random.randint(1, 10)) / 100,

    float(random.randint(1, 2)) / 500,

    0.001,

    float(random.randint(1, 2)) / 500]

    # 创建扭曲

    img_50_transformed = img_50_rotated.transform((50, 50), Image.PERSPECTIVE, params)

    2.py源码介绍

    2.1 generate_folders_1to9.py

    因为我们要将指定的图像分类放入指定文件夹,所以我们需要先在项目目录下面新建9个文件夹:

    (当然你也可以自己新建,新建9个文件夹工作量还不大,但是如果要生成的验证码包含英文字母那就比较多了,大写A-Z共24个+小写a-z共24个+数字1-9共9个=57个子文件夹)

    # 2018-01-9

    # By TimeStamp

    # cnblogs: http://www.cnblogs.com/AdaminXie/

    # generate_folders_1to9.py

    # 在目录下生成用来存放数字1-9的9个文件夹,分别用1-9命名

    import os

    path_folders = "F:/***/P_generate_handwritten_number/data_pngs/"

    # 1-9

    for i in range(49,58):

    if (os.path.isdir(path_folders + chr(i))):

    pass

    else:

    # print(i,": ",path_1+chr(i))

    # 生成目录

    os.mkdir(path_folders+chr(i))

    图7 自动生成的用来存放指定图像的文件夹

    2.2 generate_pngs.py

    根据给定随机次数samples, 生成samples个手写体数字1-9,然后存放到本地文件夹1-9生成数据集;

    在49行可以修改生成图像的大小,我这里取的是30*30像素;

    # 2018-01-9

    # By TimeStamp

    # cnblogs: http://www.cnblogs.com/AdaminXie/

    # generate_pngs.py

    # 生成手写体数字

    import random

    from PIL import Image, ImageDraw, ImageFilter, ImageFont

    random.seed(3)

    # 生成单张扭曲的数字图像

    def generate_single():

    # 先绘制一个50*50的空图像

    img_50_blank = Image.new('RGB', (50, 50), (255, 255, 255))

    # 创建画笔

    draw = ImageDraw.Draw(img_50_blank)

    # 生成随机数1-9

    num = str(random.randint(1, 9))

    # 设置字体,这里选取字体大小25

    font = ImageFont.truetype('simsun.ttc', 20)

    # xy是左上角开始的位置坐标

    draw.text(xy=(18, 11), font=font, text=num, fill=(0, 0, 0))

    # 随机旋转-10-10角度

    random_angle = random.randint(-10, 10)

    img_50_rotated = img_50_blank.rotate(random_angle)

    # 图形扭曲参数

    params = [1 - float(random.randint(1, 2)) / 100,

    0,

    0,

    0,

    1 - float(random.randint(1, 10)) / 100,

    float(random.randint(1, 2)) / 500,

    0.001,

    float(random.randint(1, 2)) / 500]

    # 创建扭曲

    img_50_transformed = img_50_rotated.transform((50, 50), Image.PERSPECTIVE, params)

    # 生成新的30*30空白图像,(在此处可以更改生成的图像大小)

    img_30 = img_50_transformed.crop([10, 10, 40, 40])

    return img_30, num

    path_pic = "F:/***/P_generate_handwritten_number/data_pngs/"

    # 生成手写体数字1-9存入指定文件夹1-9

    # 用cnt_num[1]-cnt_num[9]来计数数字1-9生成的个数,方便之后进行命名

    cnt_num = []

    for i in range(10):

    cnt_num.append(0)

    # 生成次数

    samples = 200

    for m in range(1, samples+1):

    # 调用生成图像文件函数

    img, generate_num = generate_single()

    # 取灰度

    imgray = img.convert('1')

    # 计数生成的数字1-9的个数,用来命名图像文件

    for j in range(1, 10):

    if(generate_num == str(j)):

    cnt_num[j] = cnt_num[j]+1

    # 路径如 "F:/code/***/P_generate_handwritten_number/data_pngs/1/1_231.png"

    # 输出显示路径

    print(path_pic + str(j) + "/" + str(j) + "_" + str(cnt_num[j]) + ".png")

    # 将图像保存在指定文件夹中

    imgray.save(path_pic + str(j) + "/" + str(j) + "_" + str(cnt_num[j]) + ".png")

    # 输出显示1-9的分布

    print("\n", "生成的1-9的分布:")

    for k in range(9):

    print(k+1, ":", cnt_num[k+1], "张")

    output

    D:\***\anaconda\python.exe F:/***/P_generate_handwritten_number/generate_pngs.py

    F:/***/P_generate_handwritten_number/data_pngs/4/4_1.png

    F:/***/P_generate_handwritten_number/data_pngs/1/1_1.png

    F:/***/P_generate_handwritten_number/data_pngs/8/8_1.png

    F:/***/P_generate_handwritten_number/data_pngs/3/3_1.png

    F:/***/P_generate_handwritten_number/data_pngs/1/1_2.png

    ...

    生成的1-9的分布:

    : 25 张

    : 17 张

    : 21 张

    : 19 张

    : 20 张

    : 22 张

    : 25 张

    : 24 张

    : 27 张

    修改 generate_pngs.py中的samples, 你就可以生成指定大小的数据集;

    2.3 generate_single_png.py

    更改27行的char=" "(可以是数字/字母/汉字),生成单张手写体扭曲图像:

    # 2018-01-9

    # By TimeStamp

    # cnblogs: http://www.cnblogs.com/AdaminXie/

    # generate_single_png.py

    # 生成手写体数字/字母/汉字

    import random

    from PIL import Image, ImageDraw, ImageFilter, ImageFont

    random.seed(3)

    # 生成单张扭曲的数字图像

    def generate_single():

    # 先绘制一个50*50的空图像

    img_50_blank = Image.new('RGB', (50, 50), (255, 255, 255))

    # 创建画笔

    draw = ImageDraw.Draw(img_50_blank)

    # 设置字体,这里选取字体大小25

    font = ImageFont.truetype('simsun.ttc', 20)

    # xy是左上角开始的位置坐标

    # text是你想要显示的内容,数字/字母/汉字

    char ="呵"

    draw.text(xy=(12, 11), font=font, text=char, fill=(0, 0, 0))

    # 随机旋转-10-10角度

    random_angle = random.randint(-10, 10)

    img_50_rotated = img_50_blank.rotate(random_angle)

    # 图形扭曲参数

    params = [1 - float(random.randint(1, 2)) / 100,

    0,

    0,

    0,

    1 - float(random.randint(1, 10)) / 100,

    float(random.randint(1, 2)) / 500,

    0.001,

    float(random.randint(1, 2)) / 500]

    # 创建扭曲

    img_50_transformed = img_50_rotated.transform((50, 50), Image.PERSPECTIVE, params)

    # 生成新的30*30空白图像

    img_30 = img_50_transformed.crop([10, 10, 40, 40])

    return img_30, char

    path_pic = "F:/code/python/P_generate_handwritten_number/"

    # 调用生成图像文件函数

    img, generated_char = generate_single()

    imgray = img.convert('1')

    print(path_pic + "test.png")

    # 将图像保存在指定文件夹中

    imgray.save(path_pic + "test.png")

    2.4 del_pngs.py

    删除指定目录下子文件夹1-9中的所有图片:

    # 2018-01-9

    # By TimeStamp

    # cnblogs: http://www.cnblogs.com/AdaminXie/

    # del_pngs.py

    # 删除路径下生成的图像文件

    import os

    path_pic = "F:/***/P_generate_handwritten_number/data_pngs/"

    #删除路径下的图片

    def del_pic():

    for i in range(1, 10):

    # print(path_png+chr(i))

    namedir = os.listdir(path_pic+str(i))

    for tmppng in namedir:

    if( tmppng in namedir):

    # print(tmppng)

    os.remove(path_pic+str(i)+"/"+tmppng)

    del_pic()

    3.总结

    自己动手丰衣足食,有兴趣可以自己做手写体数字数据集,字母和汉字的数据集稍加修改也可以做;

    展开全文
  • 自己尝试写了一个生成手写体图片的 Python 程序,可以批量生成手写体数字数据集,在此分享下生成30*30像素 的手写体数字 1-9 图片的一种实现方法;大概流程:新建空白图像 >>> 生成随机数 1-9 >>>...
  • txt+=get_char(*im.getpixel((j,i))) txt+='\n' print(txt)#写入文件 with open("output.txt",'w') as f: f.write(txt) 下面我们生成数字屏幕: 生成结果: PS:如有需要Python学习资料的小伙伴可以加下方的群去找...
  • #0000from PIL import Image,ImageFont,ImageDraw#从PIL库导入所需模块#######PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API(应用程序界面)却非常简单易用。...
  • [1, 2, 4, 5, 9] bindata = binary_data(data) xaxis = np.arange(0, data[-1] + 1) yaxis = np.array(bindata) step(xaxis, yaxis) show() 要绘制堆叠在同一图形上的多个数据数组,可以对binary_data()进行如下调整...
  • 1.首先要绘制一个简单的条形图1.1上面中rects=plt.bar(left=(0.2,1),height=(1,0.5),width=0.2,align=”center”,yerr=0.000001)这句代码是最重要的,其中left表示直方图的开始的位置(也就是最左边的地方),height是...
  • python绘制柱状图形+柱状图增加数字标注 data = pd.Series([4, 5, 6], index=['A','B','C']) fig = plt...
  • 第一张python绘制DEM会介绍的会详细一些,后续图件将更加简明!图1 全球DEM图python中一些基本知识简介:1)#后面是注释,不会被执行第一步:导入pygmt模块(这个模块是python对于GMT的接口),...
  • import turtle def drawLine(draw): turtle.pendown() if draw else turtle.penup() turtle.fd(40) turtle.right(90) def drawDigit(digit): drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) ...
  • 在上篇文章中介绍了直方图的前五个参数,实际上直方图一共有十几个参数,剩下的参数利用这篇文章解释清楚,让大家能够将如何绘制直方图理解的透透的。bottom参数这个参数的含义也很直观,底部的意思,指的是条形的底...
  • 我有一个list的list,名为ListOfValues。我想根据这张单子的大小画一块木板,把一些方块涂成黑色,用白色填充,其他的用黑色填充。我试着得到了以下结果:我的密码是:import turtle#sets screen characteristicswn=...
  • Python绘制的七段数码管来显示数字和字母 利用Python绘制的七段数码管,实际上是用turtle绘制七段规则排列的直线,通过组合来显示出实际意义上的事物。 以嵩天老师留下的课后作业为例: 可以显示数字(改进了...
  • 在图像处理中,直方图是非常重要,也是非常有用的一个处理要素。 在skimage库中对直方图的处理,是... 本文标题: python数字图像处理实现直方图与均衡化 本文地址: http://www.cppcns.com/jiaoben/python/227033.html
  • 我可以使用Matplotlib在x轴上绘制时间,在y轴上绘制数字吗?我试图这样做,但是不知何故它只接受浮点数数组。 如何获取时间图? 我必须以任何方式修改格式吗?您必须首先将时间戳转换为Python datetime对象(使用...
  • 它就像一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。Turtle库基础知识1.画布(canvas)画布就是turtle为...
  • 版权声明:本文为博主原创文章,遵循...本文链接:https://blog.csdn.net/u011489887/article/details/788325661.单个条形图并显示数字import matplotlib.pyplot as pltname_list = ['lambda=0', 'lambda=0.05', 'la...
  • 有个朋友要求帮忙绘制堆叠柱状图,查阅了一些文档之后也算是完成了,只是一个小demo,下面我就记录一下。1.什么是堆叠柱状图与并排显示分类的分组柱状图不同,堆叠柱状图将每个柱子进行分割以显示相同类型下各个数据...
  • ])) (array([107432, 154712], dtype=int64), array([ 63.75, 191.25])) 分成两个bin,每个bin的统计量是一样的,但numpy返回的是每个bin的两端的范围值,而skimage返回的是每个bin的中间值 2、绘制直方图 绘图都...
  • 封面图片:《Python程序设计实验指导书》(ISBN:9787302525790),董付国,清华大学出版社图书详情(京东):本书81个实验项目可与董付国老师的《Python程序设计(第...
  • python:七段数码管绘制数字详解

    千次阅读 2019-12-15 16:36:19
    python:七段数码管绘制数字详解 七段数码管由七段数码管拼接而成,每段有亮或不亮两种情况。这里,先给出程序的全部代码,如下所示。 定义了drawDigit()函数,该函数根据输入的数字绘制七段数码管,结合七段数码管...
  • 表示正圆,数字表示边数turtle.seth(angle)海龟转向,绝对坐标turtle.left(angle)左转turtle.right(angle)右转penup()抬起画笔pendown()落下画笔pencolor()笔的颜色pensize()笔的大小turtle.colormode(mode)改变RGB...
  • 饼图:饼图显示静态数字以及类别如何表示整体构成的一部分。饼图以百分比表示数字,所有段的总和需要等于100%。plt.pie(df['Age'], labels = {"A", "B", "C","D", "E", "F","G", "H", "I", "J"},autopct ='% 1.1f %...
  • 七段数码管(seven-segmentindicator)由7段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置绘制模式:input:输入当前日期的数字形式process:根据每个数字绘制七段数码管表示...
  • 今天我们来一学习一下Python中基本图形的绘制方法,本文我们将主要基于turtle(小乌龟)库来画图~为了方便后面进行交互性演示,这里我建议大家安装好Anaconda,传送门是 https://www.anaconda.com/distributi...
  • process:根据每个数字绘制七段数码管表示 output:绘制当前日期的七段数码管表示 示例一: #DrawSevenSegDisplay.py import turtle, datetime def drawLine(draw): #绘制单段数码管 turtle.pendown() if draw ...
  • 4,9,16,25]plt.plot(squares)plt.show()我们首先导入模块pylot,并给他指定别名plt,然后创建列表,存储前述的平方数,再将这个列表传递给函数plot(),这个函数尝试根据这些数字绘制出有意义的图形。plot.show()打开...
  • Python-绘制3D柱形图本文主要讲解如何使用python绘制三维的柱形图,可以得到图1所示的效果。图1源代码如下:1 importnumpy as np2 importmatplotlib.pyplot as plt3 from mpl_toolkits.mplot3d importAxes3D45 #构造...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 676
精华内容 270
关键字:

python绘制数字

python 订阅